Главная страница
    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.062 c
3-1281438304
12
2010-08-10 15:05
2013.03.22
Параметры в Oracle, ошибка ORA-01747


8-1226815309
CodeMaster
2008-11-16 09:01
2013.03.22
Fade


15-1352276202
AV
2012-11-07 12:16
2013.03.22
Интересный девайс. Ручка с запоминанием написанного.


15-1344946625
tesseract
2012-08-14 16:17
2013.03.22
Сергей Петрович Капица


15-1340397005
Юрий
2012-06-23 00:30
2013.03.22
С днем рождения ! 23 июня 2012 суббота





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