![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
packed record в строку [D7]
IvanS © (2008-07-10 23:29:00)у меня есть
tpack = packed record
a, b, c, d: longword;
d, e, f, g: longword;
end;
каким образом это можно преобразовать в строку? т.е каждый байт в записи надо превратить в единую строку.
han_malign (2008-07-11 09:19:00) [1]
> SetLength(S, SizeOf(R));
> CopyMemory(@S[1], @R, SizeOf(R));
SetString(S, PChar(@R), SizeOf(R));
Рамиль (2008-07-11 08:56:00) [2]
> umbra © (11.07.08 01:03) [8]
Не прервется, но потом с этой строкой надо осторожно обращаться.
umbra (2008-07-11 01:03:00) [3]
> А если a = $01000101?
и что? копирование прервется?
Ega23 (2008-07-11 01:01:00) [4]
a = $01010101
b = $02020202
c = $03030303
d = $04040404
А если a = $010 00101?
umbra (2008-07-11 00:53:00) [5]
> пока #00 не встретится?
с чего бы это?
Ega23 (2008-07-11 00:50:00) [6]
> Юрий Зотов © (10.07.08 23:58) [3]
пока #00 не встретится?
Anatoly Podgoretsky (2008-07-11 00:37:00) [7]Все равно и уточнение пока смутное.
Юрий Зотов (2008-07-10 23:58:00) [8]> IvanS
var
S: string;
R: TPack;
...
SetLength(S, SizeOf(R));
CopyMemory(@S[1], @R, SizeOf(R));
IvanS (2008-07-10 23:52:00) [9]a = $01010101
b = $02020202
c = $03030303
d = $04040404
....
строка: #$01#$01#$01#$01#$02#$02#$02#$02...
вот так нужно, я действительно плохо вопрос сформировал
Юрий Зотов (2008-07-10 23:37:00) [10]> IvanS (10.07.08 23:29)
> каждыйбайт в записи надо превратить в единуюстроку.
Если Вы уверены, что вопрос задан точно, то прямо сейчас напишу код.
Но сначала просьба - подумайте. Ведь не хочется писать код, который никому не понадобится.