Delphi source -> CB source
1 отговора
55 прегледа
Delphi source -> CB source
Почти съм сигурен, че има начин да конвертираш сорса на един проект на Делфи към сорс на C++ Builder, ама никога не съм го правил... някой може ли да ми каже как най-лесно ще стане това?
Мерси!
Мерси!
Re: Delphi source -> CB source
Конвертирането на сорс от Делфи към C++ Builder като цяло не представлява проблем, но дълбоко се съмнявам в смисъла на това начинание като се има впредвид че Билдера чете и компилира Делфи сорс, ползвайки форми ,юнити съдържащи обекти, функции,константи,структури,масиви , компоненти и т. н.
Project | Add to Project и Билдера ще генерира необходимия хедър.
Все пак ако държиш проекта изцяло да бъде на С имай впредвид следните неща при конвертирането :
1)C++ е case-sensitive.
2)Стринговете се раделят с двойни кавички, единичните кавички в С++ значат друго.(char)
3)Знака за присвояване е = вместо := а този за равенство е == вместо =
4)Къдравите скоби коментират в Делфи ;)
5)В Делфи можеш да викаш функция без параметри пропускайки () , в С не можеш.
6)В Билдера динамично създадени компоненти се трият с delete вместо да викаш Free - TAboutBox *AboutBox = new TAboutBox(Application);
AboutBox->ShowModal();
delete AboutBox;
7)в Билдера стринговете са класове : String S = "f" ; S.Insert("wt",1);
8)в Билдера няма множества(set), ползвай шаблонни класове.
9)в Билдера няма IS , ползвай dynamic_cast
10) Билдера няма with , ползвай кратък(еднобуквен) указател към обекта
11)Билдера няма вложени(локални) функции , ползвай указатели към методите на локална структура...
P.S.
Няма да се учудя ако допълниш списъка, след като конвертнеш няколко проекта.
Project | Add to Project и Билдера ще генерира необходимия хедър.
Все пак ако държиш проекта изцяло да бъде на С имай впредвид следните неща при конвертирането :
1)C++ е case-sensitive.
2)Стринговете се раделят с двойни кавички, единичните кавички в С++ значат друго.(char)
3)Знака за присвояване е = вместо := а този за равенство е == вместо =
4)Къдравите скоби коментират в Делфи ;)
5)В Делфи можеш да викаш функция без параметри пропускайки () , в С не можеш.
6)В Билдера динамично създадени компоненти се трият с delete вместо да викаш Free - TAboutBox *AboutBox = new TAboutBox(Application);
AboutBox->ShowModal();
delete AboutBox;
7)в Билдера стринговете са класове : String S = "f" ; S.Insert("wt",1);
8)в Билдера няма множества(set), ползвай шаблонни класове.
9)в Билдера няма IS , ползвай dynamic_cast
10) Билдера няма with , ползвай кратък(еднобуквен) указател към обекта
11)Билдера няма вложени(локални) функции , ползвай указатели към методите на локална структура...
P.S.
Няма да се учудя ако допълниш списъка, след като конвертнеш няколко проекта.