![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Значение ячейки памяти
ekap © (2004-07-21 13:30:00)у меня есть адрес в памяти запущеной программы например 0013BDAF как получить значение того что там находится?
Digitman (2004-07-21 14:05:00) [21]
> ekap (21.07.04 14:00) [7]
> у меня там находится текст 2 байта
> нелогично
если предполагать, что текст ограничен справа нуль-терминатором, то
ShowMessage(StrPas(PChar($0013BDAF)));
ekap (2004-07-21 14:00:00) [22]2Ega23 у меня там находится текст 2 байта. то-что ты написал (i:=PChar($0013BDAF)^;) помоему нелогично т.к. ты написал выше i:=Integer(Pointer(StrToInt(Label1.Caption))^);
можеш всё это совместить чтобы всё работало?
Anatoly Podgoretsky (2004-07-21 13:54:00) [23]ekap (21.07.04 13:49) [4]
Задача нерешаемая при данном объеме информации
Ega23 (2004-07-21 13:53:00) [24]Всёравно непонял...чё с этим (PChar($0013BDAF)^) делать
Если у тебя по этому адресу integer лежит, то:
var
i:Integer;
begin
i:=PChar($0013BDAF)^;
end;
ОГсновная твоя проблема - знать ЧТО находится по данному адресу.
ekap (2004-07-21 13:49:00) [25]Всёравно непонял...чё с этим (PChar($0013BDAF)^) делать
Anatoly Podgoretsky (2004-07-21 13:47:00) [26]PChar($0013BDAF)^
ekap (2004-07-21 13:44:00) [27]Вроде чё-то работает а как там указать адрес из которого значения брать. Заранее спасибо.
Ega23 (2004-07-21 13:42:00) [28]procedure TForm1.Button2Click(Sender: TObject);
var
i:Integer;
P:PInteger;
begin
New(P);
P^:=5;
Label1.Caption:=IntToStr(Integer(P));
i:=Integer(Pointer(StrToInt(Label1.Caption))^);
ShowMessage(IntToStr(i));
Dispose(P);
end;