Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Инструментарий программиста

Автор: akaGM
Дата сообщения: 18.05.2012 13:52
XPerformer

/уважительно/ уважаю...
:)
Автор: dvigor1981
Дата сообщения: 20.05.2012 08:58
[more] Начиная C++ Builder 2009 не работают некоторые из предусмотренных возможностей. Например:

В режиме редактора кода вызываю, из контекстного меню, пункт Refactor -> Rename References to "" (в кавычках имя переменной, у которой находится курсор мыши, если курсор мыши не указывает имя переменной или объекта, меню становится неактивным и отображается серым цветом). Появляется диалоговое окно <<Rename "">> (в кавычках имя переменной). Изменяю имя переменной в окне <<New name>> и нажимаю <<OK>> (при установленной галочке "view references before refactoring"). В появившемся ниже окне <<Refactorings>> обнаруживается ошибка "Object reference not set to an instance for an object"

Если выбрать пункт контекстного меню Find -> References to "" ... (в кавычках имя переменной), среда разработки закрывается (вылетает).

В C++ Builder 2007 таких проблем нет, эти опции работают корректно.

Может кто знает как решить эту проблему? [/more]
Автор: data man
Дата сообщения: 20.05.2012 10:00
dvigor1981
[more=Конкретно]Топик как называется?
И не нужно больше кросспостить в других топиках![/more]
Автор: akaGM
Дата сообщения: 20.05.2012 12:21

Цитата:
* не обсуждаются вопросы, связанные с особенностью работы известных коммерческих пакетов (VS и RAD Studio);
Автор: dvigor1981
Дата сообщения: 21.05.2012 11:39
[more] В Embarcadero RAD Studio XE2 не работают некоторые из предусмотренных возможностей. Например:

В режиме редактора кода вызываю, из контекстного меню, пункт Refactor -> Rename References to "" (в кавычках имя переменной, у которой находится курсор мыши, если курсор мыши не указывает имя переменной или объекта, меню становится неактивным и отображается серым цветом). Появляется диалоговое окно <<Rename "">> (в кавычках имя переменной). Изменяю имя переменной в окне <<New name>> и нажимаю <<OK>> (при установленной галочке "view references before refactoring"). В появившемся ниже окне <<Refactorings>> обнаруживается ошибка "Object reference not set to an instance for an object"

Если выбрать пункт контекстного меню Find -> References to "" ... (в кавычках имя переменной), среда разработки закрывается (вылетает).

Этот глюк обнаружился начиная C++ Builder 2009, в C++ Builder 2007 таких проблем нет, эти опции работают корректно.

Может кто знает как решить эту проблему? [/more]
Автор: akaGM
Дата сообщения: 21.05.2012 11:56
достал...
Автор: XPerformer
Дата сообщения: 21.05.2012 15:05

Цитата:
Цитата: В свою очередь ищу конвертеры - си <-> паскаль

"туда и обратно" (с) толкиен что ли...

http://c2pas.sourceforge.net/


Попробовал - долго смеялся
[more=результат конвертирования]
Исходник:

Код:
#include <math.h>
#include "nrutil.h"
void qrdcmp(float **a, int n, float *c, float *d, int *sing)
{
int i,j,k;
float scale,sigma,sum,tau;
*sing=0;
for (k=1;k<n;k++) {
scale=0.0;
for (i=k;i<=n;i++) scale=FMAX(scale,fabs(a[i][k]));
if (scale == 0.0) { Singular case.
*sing=1;
c[k]=d[k]=0.0;
} else {
for (i=k;i<=n;i++) a[i][k] /= scale;
for (sum=0.0,i=k;i<=n;i++) sum += SQR(a[i][k]);
sigma=SIGN(sqrt(sum),a[k][k]);
a[k][k] += sigma;
c[k]=sigma*a[k][k];
d[k] = -scale*sigma;
for (j=k+1;j<=n;j++) {
for (sum=0.0,i=k;i<=n;i++) sum += a[i][k]*a[i][j];
tau=sum/c[k];
for (i=k;i<=n;i++) a[i][j] -= tau*a[i][k];
}
}
}
d[n]=a[n][n];
if (d[n] == 0.0) *sing=1;
}
Автор: akaGM
Дата сообщения: 21.05.2012 15:30
XPerformer
не понял...
с точностью до

#define begin {
#define end }

это одно и тоже что ли?
Автор: XPerformer
Дата сообщения: 21.05.2012 15:48
akaGM
Ну почему же - еще эта мощная тулза заменила знак равно на знак присваивания
Автор: akaGM
Дата сообщения: 21.05.2012 16:15
XPerformer
ну да, ещё типы перебила...
а зачем тебе, для однократного использования или на поток ставишь?
Автор: XPerformer
Дата сообщения: 21.05.2012 16:35
однократно, но много перевести надо

Добавлено:
Может, я как-то неправильно их использую?
Это же вроде несложно вместо Integer i,j,k; написать i,j,k: Integer;
Автор: akaGM
Дата сообщения: 21.05.2012 17:07
XPerformer
да брось ты её...
а другие?


Цитата:
Может, я как-то неправильно их использую?
а как ещё можно использовать?
Автор: XPerformer
Дата сообщения: 21.05.2012 20:49
Так две другие - то же самое, такое впечатление, что одни исходники, только формочку разрисовали чуть иначе, а результат похож...
Автор: akaGM
Дата сообщения: 21.05.2012 21:05
XPerformer
а тебe в какую сторону надо, Си --> Pas?
не слышал ни об одном удачном конвертeре с Сей...
Автор: XPerformer
Дата сообщения: 21.05.2012 21:37
Пока перевожу с си на паскаль вручную, чтобы прочувствовать проблему - пока получается без особых проблем, не вижу затруднений при переводе основных конструкций типа for и т.п.
Попозже погоняю конвертеры с паскаля на си, может, более удачно выйдет
Автор: akaGM
Дата сообщения: 21.05.2012 22:39

Цитата:
Пока перевожу с си на паскаль вручную
...
Попозже погоняю конвертеры с паскаля на си
так куда же?
с Си на Пас -- без мазы, имхо...
Автор: vkramnik
Дата сообщения: 22.05.2012 14:20
XPerformer, akaGM
Коллеги, а что Вы можете более-менее пристойного посоветовать по поводу Pascal => C ?
Лет ...надцать назад видел конвертер еще тогда Turbo Pascal => Turbo C ,
но сейчас это уже, наверное, устаревшее создание...
Меня интересует более современный вариант Дельфи в Си...
Автор: akaGM
Дата сообщения: 22.05.2012 14:34
vkramnik
увы, я могу посоветовать только ручками...
чистый паскаль на чистый Си переводится с пол пинка...


Цитата:
современный вариант Дельфи

а что ты тут под современностью понимаешь, ООП, VCL?

есть тут какой-то конвертер, глянь:
http://www.garret.ru/ptoc/Readme.htm
Автор: data man
Дата сообщения: 22.05.2012 14:42
vkramnik

Цитата:
Меня интересует более современный вариант Дельфи в Си...

Delphi2Cpp, дорого.
Есть реальный пример конвертации довольно сложного Delphi-компонента.
Автор: akaGM
Дата сообщения: 22.05.2012 14:48

Цитата:
Delphi2Cpp student is offered at a price of 348,- € and the professional version costs 1250,- €.


Цитата:
Delphi2Cpp, дорого.

не то слово...
Автор: cp58
Дата сообщения: 22.05.2012 15:38
А надо ли весь код портировать? Может проще сделать динамически подключаемую библиотеку и портировать только заголовочные файлы?
Автор: vkramnik
Дата сообщения: 23.05.2012 12:46
Спасибо, коллеги !
Ну, в принципе, я не имел в виду конвертацию готовых Дельфи-компонент.
Они и так нормально в RAD-е под Билдером работают...
Просто валяется где-то у меня архив прежних разработок, вынужденно
склепанных под Дельфи - и вот ручками-то влом было бы переписывать...
А так - запустил конвертер, потом по-быстрому проверил - и ФСЁ !
Насколько помню, код был без особых наворотов, хорошо структурированный...
Но писанины много было...
Автор: akaGM
Дата сообщения: 23.05.2012 12:51

Цитата:
и вот ручками-то влом было бы переписывать...
так тебе шашечки или работало бы?
ручками -- самое оно... ещё и ошибки, блин, найдёшь...
Автор: XPerformer
Дата сообщения: 23.05.2012 12:52

Цитата:
Цитата: современный вариант Дельфи

а что ты тут под современностью понимаешь, ООП, VCL?

есть тут какой-то конвертер, глянь:
http://www.garret.ru/ptoc/Readme.htm


Ориентирован на ТурбоПаскаль.
Для делфийских программ, даже самых простых, этот конвертер не порекомендую.
Синтаксис он не понимает - константные параметры, параметры по умолчанию и т.п.
Заругался даже на слово unit, хотя юниты в турбопаскале были с незапамятных времен.
Если бы он не спотыкался на каждой "синтаксической ошибке", а генерил бы болванку
с теми фрагментами, которые не смог перести - полбеды, практически все конвертеры
не дают 100% перевод. А так - замучался комментировать места, которые он не понял...


Добавлено:

Цитата:
так тебе шашечки или работало бы?
ручками -- самое оно... ещё и ошибки, блин, найдёшь...


А сколько новых опечаток наделаешь - романтика )))
Автор: akaGM
Дата сообщения: 23.05.2012 12:58

Цитата:
А сколько новых опечаток наделаешь - романтика )))

рукоблудство, понял...


Цитата:
ptoc
...

говорю ж: ручками, и только ручками...
в трудных местах поможем...
Автор: XPerformer
Дата сообщения: 23.05.2012 13:08
По ходу поисков конвертера наткнулся на мегарульный __онлайн__ компилятор (по теме инструментария проходит, я думаю).
Online Compiler
Поддержка языков: C/C++ FORTRAN JAVA PASCAL BASIC
ОС: Windows, Linux
Вбиваешь текст и скачиваешь исполняемый модуль
Я впечатлен
Автор: akaGM
Дата сообщения: 23.05.2012 13:17

Цитата:
Я впечатлен
королева в восхищении, все в восхищении...
и фигли?
Автор: XPerformer
Дата сообщения: 23.05.2012 13:21
akaGM
Прежде постить код на форум, некоторым не лишне было бы его проверить сначала. Вот прекрасная возможность не искать сначала полдня фортран, скажем, чтобы написать на нем 50 строчек кода для лабораторной или решения задачи для форума

Добавлено:

Цитата:
говорю ж: ручками, и только ручками...
в трудных местах поможем...

Вот пример модуля, который мне надо перевести (и еще парочку таких же)
http://dumpz.org/210873/
Код прост до безобразия. Но - его много. Но - он довольно загроможден всякими цифирьками, легко опечататься при переводе. И главное но - зачем на такую рутину время тратить? Задача легко формализуема, странно что нет конвертеров хотя бы такого уровня
Автор: vkramnik
Дата сообщения: 23.05.2012 14:09
akaGM
Насчет шашечек - это Вы правы...
Ковырять, пусть собственный, но код 12-летней давности - это жесть...
Поэтому и спрашивал про что-то вменяемое, чтобы натравить, а потом
спокойно посмотреть на исходники, вспомнить алгоритмы и т.п.
В общем, примерно как у коллеги XPerformer постом выше...
Никакого пожара нет - просто интересно, заработает ли система под BCB++ ?
Автор: akaGM
Дата сообщения: 23.05.2012 15:34
XPerformer

Цитата:
Прежде постить код на форум, некоторым не лишне было бы его проверить сначала.

это предъява? :)


Цитата:
Вот пример модуля,
на Си?
перевести?

Страницы: 12345678910111213141516171819202122232425

Предыдущая тема: Набор в команду для разработки mp3 плеера


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.