
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[216.73.216.5] |
![]() |
|
Страницы: (117) « Первая ... 24 25 [26] 27 28 ... 116 117 ( Перейти к последнему сообщению ) |
Сообщ.
#376
,
|
|
|
Profi, скока раз тебе повторять в чистых плюсах нет VCL и всех его приблуд. Есть они в билдере, в котором на C++ модно написать практически идентичный код. Оно надо? Получение всех членов типа string из класса в C++ сделать почему-то не догадались
![]() Что до мультиязычного приложения, то в плюсах много метод для этого дела. Полистай тему "Windows vs. Linux - Программирование", особливо последние страницы, там большой спор Смайка, Флекса о локализации приложений ![]() |
![]() |
Сообщ.
#377
,
|
|
archimed7592, я ведь тоже могу код что Flex просил перевести так написать:
![]() ![]() program Project1; {$APPTYPE CONSOLE} Procedure Handler1; begin WriteLn('Handler 1 called'); end; Procedure Handler2(str:string); begin WriteLn('Handler 2 called. Passed string: ',str); end; Procedure Handler3(a,b:integer); begin WriteLn('Handler 3 called. Sum of arguments: ',a+b); end; begin Handler1; Handler2('Test string 1'); Handler2('Test string 2'); Handler3(10,20); Handler3(20,30); ReadLn; end. Результат будет тот же: ![]() ![]() Handler 1 called Handler 2 called. Passed string: Test string 1 Handler 2 called. Passed string: Test string 2 Handler 3 called. Sum of arguments: 30 Handler 3 called. Sum of arguments: 50 Добавлено Ладно, отбросим VCL. Прошу перевести: ![]() ![]() program Project1; {$APPTYPE CONSOLE} uses Variants; var v1,v2:variant; begin v1:='25'; v2:=3+v1; Writeln(v2); ReadLn; end. |
![]() |
Сообщ.
#378
,
|
|
variant со всеми свойствами, которые у него есть можно без особых проблем реализовать в с++... вот тебе перевод:
![]() ![]() #include <iostream> #include <ostream> #include <sstream> #include <string> class Int { int value; public: Int () : value (0) { } Int (int value) : value (value) { } Int (std::string str) { std::istringstream (str) >> value; } operator int () { return value; } friend std::ostream &operator << (std::ostream &s, const Int &rhs) { return s << rhs.value; } }; int main () { Int v1 ("25"); Int v2 = 3 + v1; std::cout << v2 << std::endl; return 0; } Добавлено зы. можно написать аналогичный вашему класс variant (такой по-моему уже есть в каких-то com-либах) и точно так же написать #include "variant" ![]() |
![]() |
Сообщ.
#379
,
|
|
Перевести можно? Можно! На Delphi проще? Проще!
В общем надоело мне доказывать то, что разницы нет. Что-то проще там, что-то там. Те, кто в этом еще сомневается, учите и C++ и Delphi, и поймете. |
![]() |
Сообщ.
#380
,
|
|
Цитата Profi @ похоже, что ты выучил только делфи... учите и C++ и Delphi ![]() |
Сообщ.
#381
,
|
|
|
Profi, наф мне Дельфи если я Ц++ знаю?
![]() |
![]() |
Сообщ.
#382
,
|
|
Цитата archimed7592 @ похоже, что ты выучил только делфи... ![]() ![]() Цитата Мяут @ Profi, наф мне Дельфи если я Ц++ знаю? ![]() А вот дадут тебе работу, а там надо код из Delphi переписать. Я тоже не собирался C++ учить, но пришлось работать с драйвером на нем написанный. Отлично работает, кстати, с моей программой написанной на Delphi, хоть там и много чего "только C'шного" было. |
![]() |
Сообщ.
#383
,
|
|
нет, я отлично знаю, что на уровне языка с++ не позволяет динамически ввяснять какие есть проперти\методы\поля в классе... ну и что? ты же задачу полностью не озвучил... а если так хочешь попереводить, переведи _Find, который ты уже однажды неудачно "перевёл"... тебе сказали, зачем нужен этот _Find: универсальная ф-ция поиска в любом контейнере поддерживающем итераторы класса Input (и более функциональные)...
|
![]() |
Сообщ.
#384
,
|
|
Цитата archimed7592 @ переведи _Find, который ты уже однажды неудачно "перевёл"... В каком месте я её неудачно перевел? Я же не знаю что за типы _InIt и _Ty& (кстати, тут не ошибка?)? |
![]() |
Сообщ.
#385
,
|
|
Цитата Profi @ _InIt - любой тип. _Ty& сцылка на другой(но не обязательно) любой тип...Я же не знаю что за типы _InIt и _Ty& любой, понимаешь? варианты использования: ![]() ![]() std::vector<int>::const_iterator it = _Find<std::vector<int>::const_iterator, MyInt> (v.beign (), v.end (), 5); std::vector<int>::const_iterator it = _Find<std::vector<int>::iterator, int> (v.begin (), v.end (), MyInt (5)); std::vector<int>::iterator it = _Find (v.begin (), v.end (), 5); std::list<MyInt>::const_iterator it = _Find<std::list<MyInt>::const_iterator, MyInt> (v.begin (), v.end (), 5); ![]() Добавлено точнее определённые требования ![]() |
![]() |
Сообщ.
#386
,
|
|
Цитата archimed7592 @ любой, понимаешь? И что? В общем, я надеюсь, что большинство все-таки поняли, что я хотел сказать. |
![]() |
Сообщ.
#387
,
|
|
угу
![]() вот када тебе надоест писать по 5-6 конструкторов для разных TXXXList, тогда и ты поймёшь ![]() |
Сообщ.
#388
,
|
|
|
О нашел!!!
На вики пишут: Цитата Delphi — объектно-ориентированный язык программирования с возможностью доступа к метаданным классов (то есть к описанию классов и их членов) в компилируемом коде, также называемом интроспекцией. На чистом С++ (без кодогенераторов типа Trolltechевского moc) такое пожалуй невозможно. Хотя я такую штуку на шаблоны не поменяю ![]() Profi Изучи шаблоны - реально прикольная штука! ![]() |
![]() |
Сообщ.
#389
,
|
|
Alex Forth, дело далеко не в прикольности...
![]() |
Сообщ.
#390
,
|
|
|
![]() Мне лень перечислять все достоинства шаблонов, потому и написал эмоционально ![]() |