Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Borland Delphi -> Borland C++Builder 6

7.4K
28 декабря 2008 года
T...H
159 / / 28.12.2008
Здравствуйте господа коллеги!!
Переводом из Delphi в CBuilder занимался давно, но уже долго мучаюсь по переводу в некоторых местах кода, а в инете ваще нет никакой информации такого рода.Поэтому хотел обратиться к тому, кто работал с Delphi и в Билдере. Не получается никак перевести некоторый код:
1.
 
Код:
read(char *,int);

2.
 
Код:
TStream(dWil);
,где dWil - переменная типа int. В делфи объявленна как dWil : Longint;
3.
 
Код:
function EditStreamInCallback(dwCookie:Longint;pbBuff:PByte;cb:Longint;var pcb: Longint):DWORD;stdcall;

Эту вещь пробовал перевести так:
 
Код:
__stdcall EditStreamInCallBack(Longint dwCookie, Byte pbBuff,int cb,int pcb)
, но я так понял, что неправильно!! :(:(
1
28 декабря 2008 года
kot_
7.3K / / 20.01.2000
в С++ нет типов Longint и Byte.
Есть longint и char
1
28 декабря 2008 года
kot_
7.3K / / 20.01.2000
точнее есть long. И в этом случае кстати речь идет о char* - т.е. указатель на массив
5.3K
30 декабря 2008 года
Somebody
185 / / 24.12.2006
var pcb: Longint -> int &pcb
Проверить сейчас не могу, но вроде
TStream(dWil); = PStream(@dWil)^ -> *(TStream*)(&dWil)
7.4K
01 января 2009 года
T...H
159 / / 28.12.2008
thank!
первое я перевёл, как:
Цитата:
TStream *p;
p->Read(char*,int);


Второе - спасибо Somebody:

Цитата:
(TStream*)(&dWil)


А вот третье до сих пор мучаюсь...
Вот так попробывал:

Цитата:
__stdcall EditStreamInCallBack(unsigned long dwCookie,unsigned char* pbBuff,long cb,long pcb)


Всё равно не так....

490
01 января 2009 года
frid-karatel
357 / / 15.09.2007
 
Код:
function EditStreamInCallback(dwCookie:Longint;pbBuff:PByte;cb:Longint;var pcb: Longint):DWORD;stdcall;

У тебя же написано, что функция возвращает значение DWORD, следовательно что-то такое должно быть:
 
Код:
DWORD __stdcall EditStreamInCallback(__int64 dwCookie, char *pbBuff, __int64 cb, __int64 pcb);


PS: Я бы перевел это так...
7.4K
02 января 2009 года
T...H
159 / / 28.12.2008
Спасибо, frid-karatel...!! Но то, что я точнознаю, так это то, что этот код на дельфи нужно привести к такой схеме:
unsigned long (__stdcall *)(unsigned long,unsigned char *,long,long *)
Поэтому, правильно ли будет так:
DWORD __stdcall EditStreamInCallBack(unsigned long dwCookie,unsigned char* pbBuff,long cb,long *pcb)
??
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог