Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.65/176: Рейтинг темы: голосов - 176, средняя оценка - 4.65
188 / 120 / 4
Регистрация: 23.01.2010
Сообщений: 1,320

Конвертер алгоритмов c++ Builder в delphi и обратно

30.04.2011, 18:25. Показов 37982. Ответов 198
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Проект конвертирования алгоритмов. Всем добры вечер, предлогаю к обсуждению такой интересный проект "Конвертер алгоритмов" c языка c++ builder в delphi и наоборот. Тема поднималась много раз и альтернативных конвертеров не существует а т что есть полная лажа. Я бы хотел предложить сдесь на странчке обсудить такой проектик. И если может у когота будет желание поучаствовать в его реализации. Я неплохо знаю delphi в этом языке помогу. Иметься статья:Автокнопка. Перевод кода исходника на delphi в С++ Builder
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
30.04.2011, 18:25
Ответы с готовыми решениями:

URL-encoded конвертер туда и обратно
Есть куча декодеров которые могут перевести непонятную белебурду, как...

создать программу конвертер c .mp3 в .wav и обратно
создать программу конвертер c .mp3 в .wav и обратно. в С# пожалуйста...очень нужно...

ПОМОГИТ! Уже целый год пишем конвертер с с++ билдера на дельфи и обратно
вот проблемма много уже написано но надо еще переконвертировать типы, подскажите у кого какие идеии. или допишите типы схожие например: ...

198
188 / 120 / 4
Регистрация: 23.01.2010
Сообщений: 1,320
14.10.2011, 23:23  [ТС]
Студворк — интернет-сервис помощи студентам
щас погляжу
0
188 / 120 / 4
Регистрация: 23.01.2010
Сообщений: 1,320
07.02.2012, 12:54  [ТС]
Цитата Сообщение от LK Посмотреть сообщение
язык - это одно, а среда разработки, это другое , в этом плане С++ Билдер и Делфи , в чем то, действительно братья .
там как с конвертером дела обстоят???
0
 Аватар для Imate
121 / 77 / 1
Регистрация: 08.06.2011
Сообщений: 267
07.02.2012, 13:21
ребят, не знаю как далеко вы продвинулись, но хочу сказать что простой заменой одной конструкции на другую тут не обойдешься. осилил таки всю тему, прочитал
оставлю тут архив, с лабой по СПО.
в архиве:
1) методичка - Лабор практ СПО.rtf
2) masm.exe, tlink.exe - без комментариев (но проверьте на вирусы на всякий случай, в универе много чего бегает)
3) c0.c - исходный код транслятора
4) std.asm - библиотека стандартных функций
5) p.c0 - пример программы
вот эта бодяга транслирует (читай переводит) код на языке c0 (язык разработанный нашим преподом в учебных целях, напоминает очень, очень упрощенный си) в ассемблер. причем дополнительных правок руками не требует абсолютно, выходной код тут же компилируется, линкуется и работает.
в архиве же есть папка "строки и цикл", в ней измененная (в рамках курсача) версия транслятора, которая понимает "новый" тип данных "строка", которая умеет складывать строки и которая понимает цикл for в стиле паскаля (for переменная := выражение {to | downto} выражение do оператор).
может кто-то осилит эту штуку и сделает что-то универсальное
Вложения
Тип файла: zip C0_LAB.ZIP (221.4 Кб, 19 просмотров)
0
188 / 120 / 4
Регистрация: 23.01.2010
Сообщений: 1,320
07.02.2012, 13:57  [ТС]
Цитата Сообщение от Imate Посмотреть сообщение
ребят, не
Мне кажеться эта тема убитая, я написал конвертер на среде дельфи а там лажа вылетает ошибка сирьезные ограничения наклыдывает. Проще говоря нужно больше людей!! у меня есть такой набросок - В ПРОЦЕССЕ ПРОГРАММИРВОАНИЯ ПОЛУЧМЛ ОПЫТ!

значит для начало: поговорит о переводе функций. Значит надо переводить не строки сложных групп например:

x = strtoint(trunc(random(%%%)))

я канешно понимаю стрка брет но ЭТО ОБРАЗ ТЕОРРИИ! обратите внимание на то что тут записано 3 функции. Это означает что программа не должна их переводить как есть а она должна эту группу разобрать!! а именно по составу вхождений. например - она должна переаодить отдельно
& = randoom()
% = trunc(&)
x = StrToInt(%)

я думаю понятно
0
 Аватар для Imate
121 / 77 / 1
Регистрация: 08.06.2011
Сообщений: 267
07.02.2012, 14:11
если вы загляните в методичку, что я выложил, то найдете там методы трансляции таких выражений (их там два: метод рекурсивного спуска и метод стека с приоритетами). тут уже не просто замена слов. тут нужно проводить разбор строки, генерировать внутренний код, на основе которого генерировать код на нужном языке.
в том что я выложил все это есть, только на примере c0 и ассемблера
0
72 / 72 / 5
Регистрация: 03.11.2009
Сообщений: 492
07.02.2012, 15:40
Мужики, что вы изобретаете велосипед. Переводчик я вам выложил. Берите синтаксисы двух языков, в *.txt их выложите (движок), хоть движок под си с асемблером или си с делфи, сопоставив через пробел: Делфи пробел СИ и мачи харчо, получишь перевод. Что не будет переводить обращайтесь, решим и эту проблему.

Добавлено через 2 минуты
Я понял что не кто не хочет сопоставлять два языка, а ждем чудо переводчика. В теме уже все изложено.
0
 Аватар для Imate
121 / 77 / 1
Регистрация: 08.06.2011
Сообщений: 267
07.02.2012, 15:55
мде, "движок си", блин...
заменена выражений фигня. более менее сложную конструкцию вы не распарсите. и не существует никаких "движков си". есть стандарты, спецификации и тд. языки программирования, их алфавит, синтаксис, лексика описываются КС-грамматикой. соответственно для перевода (трансляции) нужно входной текст программы преобразовать (согласно грамматике входного языка) в промежуточный формат, а из него сформировать выходной текст программы (согласно грамматике выходного языка).
просто замета текста работает только в элементарных программах.
0
72 / 72 / 5
Регистрация: 03.11.2009
Сообщений: 492
07.02.2012, 16:03
http://www.123avr.com/05.htm к примеру кусочек синтаксиса на си

Добавлено через 2 минуты
Imate, Америку не открыл.
заменена выражений фигня.
Конкретно что нужно перевести и я тебе докажу обратное.

Добавлено через 3 минуты
и не существует никаких "движков си"
движок название образное, назови хоть словарем русско английский, комаров нацедил.
0
 Аватар для Imate
121 / 77 / 1
Регистрация: 08.06.2011
Сообщений: 267
07.02.2012, 16:06
Цитата Сообщение от Garic_ Посмотреть сообщение
http://www.123avr.com/05.htm к примеру кусочек синтаксиса на си

Добавлено через 2 минуты
Imate, Америку не открыл.

Конкретно что нужно перевести и я тебе докажу обратное.
ну давайте попробуем.
начнем просто с printf
C
1
2
3
4
int i;
char c;
char str[10];
printf("%i\t%c\t%s\n",i,c,str);
0
72 / 72 / 5
Регистрация: 03.11.2009
Сообщений: 492
07.02.2012, 16:14
Нарисуй как должно выглядеть(переведенное) в Делфи, и я придумаю как будет переводить.
На форуме отмечал что делфи не знаю.
0
 Аватар для Imate
121 / 77 / 1
Регистрация: 08.06.2011
Сообщений: 267
07.02.2012, 16:18
начинается -_-
я тоже делфи не знаю
я тебе уже с классами пример штопаю, может не надо уже?
0
72 / 72 / 5
Регистрация: 03.11.2009
Сообщений: 492
07.02.2012, 16:43
я тебе уже с классами пример штопаю, может не надо уже?
Надо Ф-я,народ жаждет.
Повторяюсь в цитате
Я понял что не кто не хочет сопоставлять два языка, а ждем чудо переводчика. В теме уже все изложено.
Добавлено через 10 минут
Вроде многие хотят перевести с delphi в С++ Builder, а не С++ в delphi. Хотя можно и так.
0
 Аватар для Imate
121 / 77 / 1
Регистрация: 08.06.2011
Сообщений: 267
07.02.2012, 16:48
c++ builder в delphi и наоборот
в первом посту.
ну да ладно. вот еще пример, нашел в инете
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
type 
TLogger = class 
  protected 
  class var 
    FLogger : TLogger;
  public 
    FText : TStringList; 
    constructor Create; 
    destructor Destroy; override; 
    class operator Implicit(Line : String) : TLogger;
 
  strict private 
  class var 
    class constructor Create;
end; 
 
constructor TLogger.Create; 
begin 
  inherited; 
 
  FText := TStringList.Create; 
end; 
 
destructor TLogger.Destroy; 
begin 
  FText.Free; 
 
  inherited; 
end; 
 
class operator TLogger.Implicit(Line : String) : TLogger; 
begin 
  FLogger.FText.Add(Line); 
 
  Result := FLogger; 
end; 
 
class constructor TLogger.Create; 
begin 
  FLogger := TLogger.Create; 
end;
C++
1
2
3
4
5
6
7
8
9
class TLogger 
{
public: 
  list FText;
  void operator= (string Line) 
  { 
    FText.push_back(Line);
  } 
};
простая замена поможет? не уверен
Код в примере выше перегружает оператор присваивания.
Считаем: 9 строк на C++ против тридцати трёх на Delphi!!! А что, на C++ действительно сложнее получилось: видите там фигурные скобки какие-то дурацкие - ничего не разобрать! При этом код на C++ работает всегда, а код на Delphi будет работать только при выполнении определённых условий. При этом, при написании кода на Delphi использовались... ээммм... так сказать, не слишком известные особенности языка.
0
188 / 120 / 4
Регистрация: 23.01.2010
Сообщений: 1,320
07.02.2012, 20:32  [ТС]
Цитата Сообщение от Imate Посмотреть сообщение
в пен
Я с этими фигурными скобками разобрался ничего сложного нет! они лиш показываю структуру вхождения. а именно допустим каждой открывающий скобки есть закрывающая. Операторы работаю и память для них выделяеться в секторе открывающим а при закрывающей уничтожаються. Разбор полетов!

комбинация: (могу написать как узнать где вхождения кому надо.) но лучше давай те организуемся и писать будем на C# ЯЗЫКЕ он стабилен и быстр!
0
188 / 120 / 4
Регистрация: 23.01.2010
Сообщений: 1,320
07.02.2012, 20:45  [ТС]
Цитата Сообщение от Imate Посмотреть сообщение
ну давайте попробуем.
начнем просто с printf
C
1
2
3
4
int i;
char c;
char str[10];
printf("%i\t%c\t%s\n",i,c,str);
Delphi
1
2
3
4
 var
   c: char;
   str: array [0..10] of char;
   writeln(i+c+str); //тока тут error будет канечно!! т.к она не напечает массив без преобразования массива в единую строку мозги пудрить будет тут еще на несколько строк кода и цикл!
Добавлено через 3 минуты
Цитата Сообщение от Garic_ Посмотреть сообщение
Нарисуй как должно выглядеть(переведенное) в Делфи, и я придумаю как будет переводить.
На форуме отмечал что делфи не знаю.
гарик давай мы твою прогу перепишем на язык C# ? Что скажешь ? Открытым кодом сюда выложим? может можно будет автоматизировать?
0
72 / 72 / 5
Регистрация: 03.11.2009
Сообщений: 492
07.02.2012, 20:56
n971030,
//writeln(i+c+str); тока тут error будет канечно!! т.к она не напечает массив без преобразования массива в единую строку мозги пудрить будет тут еще на несколько строк кода и цикл!
Нарисуй что бы без error.
А я пока с классом продолжу, пол работы уже проделал, если ни кто не помешает завтра выложу код.
0
188 / 120 / 4
Регистрация: 23.01.2010
Сообщений: 1,320
07.02.2012, 20:57  [ТС]
Цитата Сообщение от Garic_ Посмотреть сообщение
n971030,
Нарискод.
Ты не против выложить прогу, я ее попробую на C# перевести? код будет открытым повысит надежность быстродействие (предпологаеться) я писал на дельфи не в кайф ошибка за ошибкой пришлось шарп зубрить и знаеш намного лучше чем билдер и дельфи!
0
 Аватар для Imate
121 / 77 / 1
Регистрация: 08.06.2011
Сообщений: 267
07.02.2012, 21:02
Delphi
1
2
c: char;
str: array [0..10] of char;
не согласен.
а если str будет строка?
в си объявление так и останется
C
1
char c[10]; //хоть строка, хоть массив. как хочу, так и юзаю
в делфи у вас будет разделение строка и массив char. как обработаете?
зы и кстати символ табуляции потеряли
0
188 / 120 / 4
Регистрация: 23.01.2010
Сообщений: 1,320
07.02.2012, 21:09  [ТС]
[QUOTE=Imate;2468925][DELPHI]c: char;

[/B]

Я хотел бы протестировать прогу на математические функции #include <math.h>
0
 Аватар для Imate
121 / 77 / 1
Регистрация: 08.06.2011
Сообщений: 267
07.02.2012, 21:25
ну я вам о том и говорю, что непросто будет делать. особенно вашим методом, точнее методом Garic_. вы, я не знаю как хотите делать. нужно делать разбор выражений как минимум, методы я уже предлагал.
вы думаете тот же c++ borland тупо заменами получает машинный код? неа, он преобразует текст программы на языке си/си++ в свой внутренний формат, далее скорее всего получает код на ассемблере (не уверен в этом шаге), и уже потом получает машинный код.
зы не пинайтесь, машинный код такой же язык программирования, уровнем только ниже.
ззы в принципе вы сейчас напишете транслятор, он будет замечательно работать на примерах, но все конструкции языка вы не предусмотрите, и найдется такая конструкция которая не обработается вашим транслятором и получится "Тема поднималась много раз и альтернативных конвертеров не существует а т что есть полная лажа.", без обид только, потому они и лажа, потому что кто-то брался писать транслятор, потом понимал что всего не осилит и забрасывал. если же делать универсально, нужно потратить время на изучении грамматики входного языка, придумать способ хранить программу/часть программы во внутреннем формате, и уже потом генерировать код на нужном языке.
зззы если вы хотите сделать что-то стоящее, рекомендую посмотреть исходники gcc.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.02.2012, 21:25

Конвертер с Delphi в C++
Кто нибудь знает, существует нормальный конвертер с Delphi в C++. Если существует подскажите какие

Delphi конвертер
Помогите написать программу конвертер величин универсальный чтоб можно было выбирать (время длину вес и тд)

Перевод кода из Delphi в C++ Builder / C++ Builder
Кто нибудь сможет помочь перевести проект с делфи на билдер? Выкладываю исходники на делфи. procedure TForm1.SpeedButton1Click(Sender:...

конвертер величин на delphi
Подскажите как написать конвертер величин на делфи с использованием combo box. И чтоб было как можно больше вариантов например из метров в...

Delphi: Конвертер WAV в PCM
очень прошу помощи! по данной теме задали курсовик, а я никогда не работала в данной программе, да и разбираться абсолютно нет времени,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
160
Ответ Создать тему
Новые блоги и статьи
сукцессия 14. Обновленная схема модели
anaschu 28.06.2026
ГЛОБАЛЬНАЯ ОПИСАТЕЛЬНАЯ СПЕЦИФИКАЦИЯ ЭКОСИСТЕМНОЙ МОДЕЛИ «SOIL CHEMISTRY & MYCORRHIZA 2. 0» https:/ / ibb. co/ NnkGpfMd Представленная интегрированная схема описывает непрерывную нелинейную. . .
сукцессия 13. Питон модель трехзонного мицелия, пока что в основном арбускулярного
anaschu 28.06.2026
## Разработка агентной модели микоризной сукцессии: от выявления артефактов к созданию комплексной системы ### Аннотация Представлено исследование по разработке агентной модели микоризной. . .
сукцессия 12. краткий список проверок модели перед запуском.
anaschu 27.06.2026
Скрытые отказы в моделях систем динамики (SD-models) экологических систем: два случая из практики Контекст Разбирался прототип модели систем динамики (SD-модели) микоризной сукцессии: пять. . .
Сукцессия 11. Проверка орудий перед войной: разработка через тестирование
anaschu 27.06.2026
Как не дать модели соврать самой себе: проверки для симуляции микоризной сукцессии Введение Когда вы строите математическую модель живой системы — грибов, растений, почвы — главная опасность. . .
10 сукцессия. Питон код войны грибов и растений
anaschu 27.06.2026
import numpy as np class PlantAgent: def __init__(self, name, strategy, initial_biomass): self. name = name self. strategy = strategy # "greedy" (широколиственные) или. . .
сукцессия 9. Математика подлости: как растения предали грибных друзей
anaschu 27.06.2026
Статья 2. Глобальная фосфорная война: эволюционно-экономические механизмы распределения биомов Земли Введение: Экологический рынок как игра с нулевой суммой Традиционная экология долгое время. . .
сукцессия 8. Как я спорил с ИИ, которые - агенты растений и ненавистники грибов!
anaschu 27.06.2026
Статья 1. Хроники грибного восстания: как Сократов диалог разрушил академические догмы ИИ Введение: Синдром «цифрового учебника» Современные большие языковые модели (LLM) обладают колоссальным. . .
Главный вопрос моделирования сукцессии
anaschu 27.06.2026
главный вопрос. Если эктомикориза лучше добывает недоступный фосфор. И ее масса максимальна из всех. А широколиственный лес тоже имеет самую крутую биомассу. То почему не возникло их симбиоза? Это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru