![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Упаковать число в бинарную строку или аналог функции pack php
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?