Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2009.09.06;
Скачать: [xml.tar.bz2];

Вниз

C++ to Delphi   Найти похожие ветки 

 
nach   (2009-06-10 16:35) [0]

Всем привет!
Помогите, плиз, перевести:

typedef char* (*char_ftype)(void*, char*);


 
KSergey ©   (2009-06-10 16:45) [1]

type char_ftype = function (p:Pointer; pc:PChar):PChar; cdecl;


 
nach   (2009-06-10 16:50) [2]

Спасибо


 
pasha_golub ©   (2009-06-10 17:13) [3]

Я бы PAnsiChar посоветовал настоятельно


 
nach   (2009-06-10 21:07) [4]


> pasha_golub ©   (10.06.09 17:13) [3]

Почему?

а с этим не подскажите:

class CS : public CSM{
public: CS() : CSM( (const char**) g, (int) sizeof(g)/sizeof(g[0]) ) {}
};

знаю только, что это такое:  (int) sizeof(g)/sizeof(g[0]), остальное же...


 
palva ©   (2009-06-10 21:14) [5]

Описание класса, в котором определен пустой конструктор по умолчанию, при вызове которого вызывается конструктор родительского класса, который, по-видимому, заполняет поле g.


 
DevExpress   (2009-06-10 21:16) [6]


> palva ©   (10.06.09 21:14) [5]

вах, спасибо...


 
DevExpress   (2009-06-10 21:17) [7]


> DevExpress   (10.06.09 21:16) [6]

DevExpress = nach


 
DesWind   (2009-06-10 23:32) [8]

Хех, понаставили скобок фих, поймешь что это такое... Сугубо мое личное мнение... Чего все так за этот язык дЕржатся?


 
DVM ©   (2009-06-11 01:36) [9]


> DesWind

это еще что, бывает такую абракадабру напишут, что диву даешься.

for(;P("\n").R-;P("|"))for(e=3DC;e-;P("_"+(*u++/8)%2))P("| "+(*u/4)%2);


 
AndreyV ©   (2009-06-11 02:02) [10]

> [9] DVM ©   (11.06.09 01:36)
>
> > DesWind
>
> это еще что, бывает такую абракадабру напишут, что диву
> даешься.
>
> for(;P("\n").R-;P("|"))for(e=3DC;e-;P("_"+(*u++/8)%2))P("|
> "+(*u/4)%2);

BrainFuck?:)


 
TUser ©   (2009-06-11 07:57) [11]

Создатели Cи и UNIX признают, что разыграли весь мир

   В заявлении, потрясшем весь компьютерный  мир,  Кен  Томпсон,  Деннис
Ричи и Брайан Керниган признали, что  операционная  система  UNIX  и  язык
программирования   Си,   созданные   ими   --   тщательно   спланированный
первоапрельский розыгрыш,  "продержавшийся"  более  20  лет.  Выступая  на
последнем Конгрессе разработчиков программного обеспечения  для  ОС  ДЕМОС
(UnixWorld Software Development Forum), Томпсон признал следующее:

   "В 1969 году AT&T завершила работу над проектом операционной  системы
Multics (известная операционная система  60-х,  см.  прим.2)  Брайан  и  я
только что начали работу с  ранней  реализаций  Паскаля,  разработанной  в
лаборатории  проф.  Вирта  в  Швейцарии,  и  находились  под  впечатлением
элегантности, простоты  и  мощи  этого  языка.  Деннис  как  раз  прочитал
"Уставший  от  колец",  веселую  сатиру  на  знаменитую  трилогию  Толкина
"Властелин колец" (*1*). Ради шутки мы решили написать  пародии  на  среду
Multics и Паскаль. Деннис и я отвечали за  операционную  среду.  Глядя  на
Multics, мы спроектировали новую систему настолько сложной  и  запутанной,
чтобы максимально "испортить жизнь" рядовым пользователям, назвали ее UNIX
как пародию  на  Multics,  добавив  много  других  достаточно  рискованных
аналогий.
   Затем Деннис и Брайан разработали по-настоящему  извращенный  диалект
Паскаля, назвав его "A". Когда мы  обнаружили,  что  другие  действительно
пытаются писать программы на A, мы  быстро  добавили  еще  парочку  хитрых
примочек, создав B, BCPL,  и,  наконец,  Си.  Мы  остановились,  добившись
успешной компиляции следующего:

  for(;P("\n"),R-;P("|"))for(e=C;e-;P("_"+(*u++/8)%2))P("| "+(*u/4)%2);

   Мы не могли даже  представить,  что  современные  программисты  будут
пытаться  использовать  язык,  допускающий  подобный  оператор!  Мы   даже
собирались  продать  все  это  Советам,  чтобы   отбросить   развитие   их
компьютерного дела на 20 лет  назад  (*2*).  Представьте  наше  удивление,
когда  AT&T,  а  также  другие  американские  корпорации  начали  пытаться
использовать UNIX и  Си!  Более  20  лет  ушло  на  то,  чтобы  приобрести
достаточный  опыт  для  создания  хоть  немного  полезных   приложений   с
использованием  этой  технологической  пародии  60-х.  Мы  были   поражены
упорством  и  целеустремленностью  (если  не  чувством  здравого   смысла)
типичного программиста, использующего  UNIX  и/или  Си.  В  любом  случае,
Брайан, Деннис и я в  течение  последних  лет  работали  исключительно  на
Паскале в среде Apple Macintosh и чувствуем себя по-настоящему  виноватыми
в том хаосе, путанице и действительно скверном программировании,  причиной
которых явилась наша неудачная шутка столько лет тому назад."

   Большинство поставщиков версий UNIX и Си,  включая  AT&T,  Microsoft,
Hewlett-Packard, GTE, NCR, DEC, отказались комментировать это выступление.
Borland International, ведущий производитель инструментальных средств  для
Паскаля и Си, включая популярные Турбо Паскаль, Турбо  Си  и  Турбо  Си++,
заявил, что они давно подозревали это и  будут  продолжать  улучшать  свои
разработки для Паскаля и  прекратят  дальнейшие  усилия  по  развитию  Си.
Официальный  представитель  IBM  разразился  безудержным  хохотом  и   был
вынужден отменить спешно собранную конференцию о судьбе RS6000 заявив, что
"VM появится в ближайшее время". В непонятом аудиторией кратком  сообщении
проф. Вирт, отец Паскаля, Модулы-2 и Оберона, сказал лишь, что некто  P.T.
Barnum был прав.
   Кстати, из обычно совершенно надежных источников стало известно,  что
подобное признание возможно скоро последуют от Вильяма Гейтса относительно
MS-DOS и Windows. Не случайно, вышеупомянутый представитель IBM уже  начал
отрицать, что Виртуальная Машина (VM) является созданной  для  внутреннего
употребления аналогичной шуткой, вырвавшейся наружу.


 
Псалтырь ©   (2009-06-11 09:38) [12]


> Создатели Cи и UNIX признают, что разыграли весь мир

НУ сколько можно этот баян постить?


 
Аноним   (2009-06-11 09:53) [13]


> Хех, понаставили скобок фих, поймешь что это такое... Сугубо
> мое личное мнение... Чего все так за этот язык дЕржатся?
>

на Лисп гляньте


 
icWasya ©   (2009-06-11 10:03) [14]

Это не самое страшное. Есть ещё PERL
http://www.linux.org.ru/view-message.jsp?msgid=392747


 
nach   (2009-06-11 13:05) [15]

в программе используется структуры:

std::map<int, string>
std::vector...
std::pair...

это что такое? Где можно прочесть подробно об этих фишечках, чтобы на дельфи написать?


 
clickmaker ©   (2009-06-11 13:17) [16]

> Где можно прочесть подробно об этих фишечках

это STL - Standard Template Library
в дельфи частично есть похожие - TList, TStringList, TCollection etc
для словарей вроде есть сторонние компоненты


 
DevExpress   (2009-06-11 13:19) [17]


> clickmaker ©   (11.06.09 13:17) [16]

пасиба


 
XentaAbsenta ©   (2009-06-11 21:34) [18]

ненавижу C, почему я должен расшифровывать,вместо того, чтобы читать


 
Игорь Шевченко ©   (2009-06-11 22:36) [19]


> ненавижу C, почему я должен расшифровывать,вместо того,
> чтобы читать


У ряда людей в мозгу отсутствует участок, отвечающий за понимание семантики языка. Это бывает, им просто стоит посмотреть в сторону других профессий, не менее почетных, например, связанных с работой на свежем воздухе.


 
DVM ©   (2009-06-11 23:04) [20]


> Игорь Шевченко ©   (11.06.09 22:36) [19]


> У ряда людей в мозгу отсутствует участок, отвечающий за
> понимание семантики языка

Да неужели? Это ненормальный язык программирования на котором можно так писать:


#include <stdio.h>
main(t,_,a)char *a;{return!0<t?t<3?main(-79,-13,a+main(-87,1-_,
main(-86,0,a+1)+a)):1,t<_?main(t+1,_,a):3,main(-94,-27+t,a)&&t==2?_<13?
main(2,_+1,"%s %d %d "):9:16:t<0?t<-72?main(_,t,
"@n"+,#"/*{}w+/w#cdnr/+,{}r/*de}+,/*{*+,/w{%+,/w#q#n+,/#{l+,/n{n+,/+#n+,/#
;#q#n+,/+k#;*+,/"r :"d*"3,}{w+K w"K:"+}e#";dq#"l
q#"+d"K#!/+k#;q#"r}eKK#}w"r}eKK{nl]"/#;#q#n"){)#}w"){){nl]"/+#n";d}rw" i;#
){nl]!/n{n#"; r{#w"r nc{nl]"/#{l,+"K {rw" iK{;[{nl]"/w#q#n"wk nw"
iwk{KK{nl]!/w{%"l##w#" i; :{nl]"/*{q#"ld;r"}{nlwb!/*de}"c
;;{nl"-{}rw]"/+,}##"*}#nc,",#nw]"/+kd"+e}+;#"rdq#w! nr"/ ") }+}{rl#"{n" ")#
}"+}##(!!/")
:t<-50?_==*a?putchar(31[a]):main(-65,_,a+1):main((*a=="/")+t,_,a+1)
:0<t?main(2,2,"%s"):*a=="/"||main(0,main(-61,*a,
"!ek;dc i@bK"(q)-[w]*%n+r3#l,{}: uwloca-O;m .vpbks,fxntdCeghiry"),a+1);}


 
Игорь Шевченко ©   (2009-06-11 23:29) [21]

DVM ©   (11.06.09 23:04) [20]

Если ты чуточку отвлечешься от шаблонного мышления, то поймешь, что дело не в языке.

И (я тебе по секрету скажу, ты сам запомни, а больше никому ни-ни) так, как ты привел в примере, программы не пишут. То, что написано для шутки не следует воспринимать как руководство к действию или как стандарт для написания программ на С.

В свое время для паскалевских исходников был обфускатор - он на выходе выдавал компилируемый исходник, но понятности в нем было столько же, сколько в твоем примере на С.


 
DVM ©   (2009-06-12 00:04) [22]


> Игорь Шевченко ©   (11.06.09 23:29) [21]


> Если ты чуточку отвлечешься от шаблонного мышления, то поймешь,
>  что дело не в языке.

Задела, я смотрю, моя фраза про шаблонное мышление в ветке про иллюстрацию к сказке про репку.


> И (я тебе по секрету скажу, ты сам запомни, а больше никому
> ни-ни) так, как ты привел в примере, программы не пишут.

Я тебе тоже скажу по секрету (сам запомни и другим расскажи), что пишут еще как и еще похлеще. Думают. что это очень круто, если они напишут в одну строку нечитаемую то, что на других языках, таких как паскаль займет строк 5-10, но читаемых.


> То, что написано для шутки не следует воспринимать как руководство
> к действию или как стандарт для написания программ на С.

Шутников че-то много судя по огромному количеству исходников на СИ


> В свое время для паскалевских исходников был обфускатор
> - он на выходе выдавал компилируемый исходник, но понятности
> в нем было столько же, сколько в твоем примере на С.

Не думаю, что кусок паскалевского кода, выводящий пару-тройку абзацев текста (как в примере из [20]) можно изуродовать до такой степени. Но охотно посмотрел бы.


 
Псалтырь ©   (2009-06-12 00:16) [23]


> Но охотно посмотрел бы.

Я бы тоже посмотрел. И на сам обфускатор тоже, кистате


 
Игорь Шевченко ©   (2009-06-12 00:27) [24]

DVM ©   (12.06.09 00:04) [22]


> Задела, я смотрю, моя фраза про шаблонное мышление в ветке
> про иллюстрацию к сказке про репку


Я забыл, напомни о чем речь ?


> пишут еще как и еще похлеще. Думают. что это очень круто,
>  если они напишут в одну строку нечитаемую то, что на других
> языках, таких как паскаль займет строк 5-10, но читаемых.
>


Вот давай не надо - на паскале они еще и не такое пишут.


> Шутников че-то много судя по огромному количеству исходников
> на СИ


Представь себе, преимущественно исходники на С написаны очень и очень читаемо. Открой исходные тексты линукс, убедись.


> Не думаю, что кусок паскалевского кода, выводящий пару-тройку
> абзацев текста (как в примере из [20]) можно изуродовать
> до такой степени. Но охотно посмотрел бы.


Меняются идентификаторы на l_l_, убираются пробелы и переносы строк в тех местах, где допускается компилятором, все аккуратно форматируется в более или менее заполненный по ширине текст.

Читабельность такого текста - сам понимаешь, а компилятору пофиг.

У меня нет сейчас этой программы, несколько лет назад скачали попробовать, потом решили, что нехай лучше воруют исходники.
Можешь поискать по словам pascal obfuscation, delphi obfuscation


 
DVM ©   (2009-06-12 00:43) [25]


> Игорь Шевченко ©


> Представь себе, преимущественно исходники на С написаны
> очень и очень читаемо. Открой исходные тексты линукс, убедись.
>

Очевидно, что на Си можно писать по-разному. Можно читаемо, можно не очень.
Но, согласись, написать на Си (а еще лучше на С++) нечитаемо значительно легче, чем на том же паскале. По крайней мере, я ни разу не встречал случаев, когда были бы проблемы с пониманием кода написанного на делфи. На си - повсеместно. Я на си сам не пишу (ну иногда только самую малость), но периодически сталкиваясь с си++ кодом не перестаю удивляться тому многообразию конструкций, которые в нем есть. И кажется, что конца и края им нету. Такое ощушение, что язык наполнялся разными добавками улучшениями и костылями в угоду компактности записи, но в ущерб читабельности.


 
Игорь Шевченко ©   (2009-06-12 00:48) [26]

DVM ©   (12.06.09 00:43) [25]


> По крайней мере, я ни разу не встречал случаев, когда были
> бы проблемы с пониманием кода написанного на делфи


Тебе повезло.


> Я на си сам не пишу (ну иногда только самую малость), но
> периодически сталкиваясь с си++ кодом не перестаю удивляться
> тому многообразию конструкций, которые в нем есть


Я как раз 5 лет очень плотно писал на С (без плюсов) и два года на С++ и на паскале практически одновременно.

Читать кода на С практически проблем нету, читать код на С++ слегка сложнее, но тоже можно.

Резюме просто - грамотно написанный опытным программистом код читать можно и на Паскале и на С и на С++. Читать код на Perl - нельзя :)


 
Холивар   (2009-06-12 00:59) [27]


> DVM ©   (12.06.09 00:04) [22]
>
> > То, что написано для шутки не следует воспринимать как
> руководство
> > к действию или как стандарт для написания программ на
> С.
>
> Шутников че-то много судя по огромному количеству исходников
> на СИ


Хороший язык, я имею в виду С++. Только MFC у MS написано имсключительно через жопу с их картой сообщений и иерархией классов. Так что для GUI или WxWidgets если нужны бинарники по 700 кб - 1Мб, или QT, но там екзешники со статической компиляцией будут по 6-10Мб.

QT реадктор форм интегрирован с VS так что разработка не сложнее делфёвой, а вот у WxWidgets их wxFormBuilder отдельно. Так что нужно отдельно интерфейс рисовать, отдельно код.


 
XentaAbsenta ©   (2009-06-12 23:08) [28]

Игорь Шевченко ,
Неужели тайпдеф по твоему выглядит замечательно и читается хорошо?


 
Игорь Шевченко ©   (2009-06-12 23:55) [29]

XentaAbsenta ©   (12.06.09 23:08) [28]

А что в нем незамечательного ?

typedef int (*my_int_func) (int foo, int bar);

читается менее хорошо, чем

type
 my_int_func = function (foo: Integer; bar: Integer): Integer;

?


 
nach   (2009-07-09 12:13) [30]


> Игорь Шевченко ©   (11.06.09 22:36) [19]


> У ряда людей в мозгу отсутствует участок, отвечающий за
> понимание семантики языка.

я б написал:
У ряда людей в мозгу присутствует участок, отвечающий за понимание семантики языка.:)

Помогите, плиз, еще это:
#define _ABC(ret) extern "C" ret __stdcall
  _ABC(some_type) foo( int i );
раскроется в:
 extern "C" some_type __stdcall foo( int i );
Или как? В общем, как это будет на дельфи?


 
KSergey ©   (2009-07-09 13:10) [31]

так.

function foo(i: Integer): some_type; stdcall;


 
nach   (2009-07-09 13:17) [32]


> KSergey ©   (09.07.09 13:10) [31]

спасибо



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2009.09.06;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.55 MB
Время: 0.009 c
2-1246683083
shamans
2009-07-04 08:51
2009.09.06
Как получить бит числа?


15-1247078903
Kerk
2009-07-08 22:48
2009.09.06
Вот где программисты Delphi кучкуются :)


15-1247053069
Дуб
2009-07-08 15:37
2009.09.06
О чем собственно говорит иностранец?


15-1245256088
Павел Калугин
2009-06-17 20:28
2009.09.06
Ура, я инжинер.


2-1246964960
rassl
2009-07-07 15:09
2009.09.06
Классы форм





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский