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

Вниз

Как приравнять тип из Си к типу Delphi?   Найти похожие ветки 

 
Разведка   (2012-06-12 14:13) [0]

В "С" структуре есть тип unsigned char* szName; будет ли тип делфи эквивалентен szName: PChar;

Вот структура на  "С", а  ниже структура Делфи
Полностью ли совпадают типы?

typedef struct {
       unsigned char* pHash;      // Address of buffer for saving hash
       unsigned char* szPassword; // Password
       int nPasswordLen;          // Password length
       unsigned char* szSalt;     // Salt
       int nSaltLen;              // Salt length
       unsigned char* szName;     // User name
       int nNameLen;              // User name length
       DWORD dwFlags;             // Flags
} HASHINFO;


Type
 PHashInfo = ^THashInfo;
 THashInfo = Record
   pHash        : PChar;   // Адрес буфера для сохранения сгенерированного хэша
   szPassword   : PChar;   // Пароль
   nPasswordLen : Integer; // Длина пароля
   szSalt       : PChar;   // Соль
   nSaltLen     : Integer; // Длина соли
   szName       : PChar;   // Имя пользователя
   nNameLen     : Integer; // Длина имени пользователя
   dwFlags      : DWORD;   // Флаги
 End;


 
ProgRAMmer Dimonych ©   (2012-06-12 14:21) [1]

Есть подозрение, что вместо PChar надо бы PAnsiChar, иначе в новых Delphi получится указатель на двухбайтовые символы, а Ваша сишная реализация, видимо, работает с однобайтовыми. Для хеша я бы в зависимости от того, строка там, или массив байтов, выбрал соответственно PAnsiChar или PByte.

А вообще указатель - он и есть указатель.


 
Разведка   (2012-06-12 14:28) [2]


> ProgRAMmer Dimonych ©   (12.06.12 14:21) [1]


Может тогда просто на Pointer заменить будет еще более универсальней


 
ProgRAMmer Dimonych ©   (2012-06-12 14:34) [3]

> [2] Разведка   (12.06.12 14:28)

Можно. Но тогда придётся в коде, который эти поля будет использовать, прописывать каждый раз приведение типов: вроде как читаемость тоже не сильно повышает.



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

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

Наверх




Память: 0.45 MB
Время: 0.079 c
2-1333737680
SiDimka
2012-04-06 22:41
2013.03.22
Вызов прцедуры из bpl


2-1340776149
mpdasa
2012-06-27 09:49
2013.03.22
Как вставлять текст в (rich)edit с задержкой времени


15-1350208213
Артём
2012-10-14 13:50
2013.03.22
Можно ли сделать будильник?


3-1287144551
IvanKonst
2010-10-15 16:09
2013.03.22
построения графа по базе данных


15-1341674225
Tommy
2012-07-07 19:17
2013.03.22
Кто сможет опознать место по фото?





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