Главная страница
    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.066 c
15-1329856202
Юрий
2012-02-22 00:30
2013.03.22
С днем рождения ! 22 февраля 2012 среда


2-1332577830
Pcrepair
2012-03-24 12:30
2013.03.22
TStringList и перевод символов в нижний регистр


2-1345986998
Wadimka
2012-08-26 17:16
2013.03.22
Кто-нибудь работал с компонентом SecureBridg?


15-1349814602
Юрий
2012-10-10 00:30
2013.03.22
С днем рождения ! 10 октября 2012 среда


15-1349295678
ProgRAMmer Dimonych
2012-10-04 00:21
2013.03.22
Подсчёт ссылок на строку таблицы в MySQL





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