![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Запись набора байтов по адресу памяти в строковую переменную [D6, XP]
vint45 © (2008-01-14 12:26:00)Здраствуйте. Подскажите, плз, как записать в строковую переменную значения байтов по какому-либо адресу (например, физические значения байтов переменной типа cardinal или word)?
Я делаю примерно следующим образом:
var buf: Pointer;
begin
buf:=@aaa; \\ aaa типа cardinal, значения байтов которой следует получить
label1.Caption:=ShortString(Pointer(Cardinal(buf)-1)^);
end
Здесь не получается регулировать длину строки через приведение типов, а т.к. shortstring хранит значение длины в нулевом байте, то может получиться, что строка будет нулевого размера.
Считывание байтов через цикл тоже не совсем удобно, т.к. код становится слишком громоздким (в стороковую переменную будут записываться множество значений из других переменных)
Сергей М. (2008-01-14 12:32:00) [21]Ерунда какая-то ..
Приведи пример некоего cardinal-значения (в десятичном или шестнадцатеричном представлении) и то что ты хочешь видеть при этом в лейбле ..