Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.03.22;
Скачать: CL | DM;

Вниз

Как приравнять тип из Си к типу 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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.064 c
2-1337847952
Bojo
2012-05-24 12:25
2013.03.22
Сократить код


2-1329143289
Scott Storch
2012-02-13 18:28
2013.03.22
хранить список стран


15-1338563526
Медвежонок Пятачок
2012-06-01 19:12
2013.03.22
Сменить глобус проживания


2-1328812974
jacksotnik
2012-02-09 22:42
2013.03.22
Часовые пояса


2-1334405334
lord827
2012-04-14 16:08
2013.03.22
межпоточная защита данных