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

Вниз

перенести с С в Delphi5   Найти похожие ветки 

 
SDssss   (2006-02-01 11:47) [0]

Как перевести числа типа 0x68 в cardinal,
a:cardinal;
a:="0x68" не прокатывает

=========перенести с С в Delphi5==============


d:DWORD
BYTE *b_code;

struct
RRR


d:=(DWORD)((BYTE*)b_code + offsetof(RRR, libraryname));

strcpy((char*)name2, Name );  


Name:char *Name;
BYTE  name2 [200];  



 
Cash ©   (2006-02-01 11:54) [1]

Не 0x68, а $68 используй.
a:=$68;


 
Verg ©   (2006-02-01 12:22) [2]

RRR = record

PRRR = ^RRR;

  b_code : PBYTE;
  d         : DWORD;

d := DWORD(@PRRR( b_code )^.libraryname);

-----------------------------------------

Name : pchar;
name2 : array[0..199] of byte;

StrCopy( pchar(@name2[0]), Name );


 
SDssss   (2006-02-01 17:08) [3]

Никак компил


d:= DWORD(@CMAGIC(b_code )^.libraryname);


Error:Missing operator or semicolon

было BYTE *b_code ,
но изменил на p_code:pointer; так как перед этим было

p_code:=VirtualAlloc

так не использую

RRR = record
PRRR = ^RRR;

 b_code : PBYTE;
 d         : DWORD;


использую так

type
RRR = packed record
 b_code : PBYTE;
 d         : DWORD;
...


 
TUser ©   (2006-02-01 17:19) [4]


> Error:Missing operator or semicolon

Забыл поставить ;


 
SDssss   (2006-02-01 20:02) [5]

d:= DWORD(@CMAGIC(b_code )^.libraryname);

есть ,курсор указывает на b_code ,ему что-то не понравилось


 
Zeqfreed ©   (2006-02-01 21:05) [6]

SDssss   (01.02.06 20:02) [5]
Какое сообщение об ошибка пишет-то?


 
SDssss   (2006-02-02 00:16) [7]

Error:Missing operator or semicolon

видать потому что я сменил описание b_code : PBYTE на pointer
несоотвествие типов


 
evvcom ©   (2006-02-02 08:53) [8]


> (@CMAGIC(b_code )^.

Что это? Идея такая: берешь адрес переменной (@b_code), его приводишь к типизированному указателю, а потом разадресовываешь. Если у тебя CMAGIC - типизированный указатель, то правильно так:
CMAGIC(@b_code )^.
Чуешь разницу?



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

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

Наверх





Память: 0.46 MB
Время: 0.075 c
2-1138937257
Приятель
2006-02-03 06:27
2006.02.19
Как выровнять record на 149


15-1138618567
Ega23
2006-01-30 13:56
2006.02.19
Народ, а у вас всегда так?


2-1138532375
einstein
2006-01-29 13:59
2006.02.19
Обработка сворачивания не главной формы приложения


3-1135057161
konda
2005-12-20 08:39
2006.02.19
Пароль в Interbase


3-1135332668
Andry
2005-12-23 13:11
2006.02.19
Поле memo и поиск без учета регистра





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский