Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Упаковать число в бинарную строку или аналог функции pack php


Страницы:   1 2

alex-drob ©   (2008-06-01 15:39:00) 

есть условие:
Все числовые данные передаются как четырехбайтные целые НЕ в сетевом формате, т. е. первым идет старший байт, последним младший.
как мне число 12 представить в таком виде?
Вобщем нужно то же что получиться после выполнения pack("l",12); в пхп.


Юрий Зотов   (2008-06-01 16:41:00) [21]


type
 TData = packed array[0..3] of byte;

function IntToData(N: Cardinal): TData;
var
 i: integer;
begin
 for i := 0 to 3 do
   Result[3-i] :=  TData(N)[i]
end;

function DataToInt(D: Tdata): Cardinal;
var
 i: integer;
begin
 for i := 0 to 3 do
   TData(Result)[3-i] :=  D[i]
end;


Ум_ще   (2008-06-01 16:25:00) [22]

Да и вручную поменять порядок байт не проблема.


Ум_ще   (2008-06-01 16:22:00) [23]

Не подойдут функции htonl, htons, ntohs, ntohl?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо