IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

> Смещение от базы указателя
AlienEmperor
сообщение 6.02.2006 13:41
Сообщение #1


Бывалый
***

Группа: Пользователи
Сообщений: 160
Пол: Мужской
Реальное имя: Серый

Репутация: -  0  +


Есть указатель на структуру данных (простой указатель, не типизированный), мне нужно присвоить в цикле значения этих данных переменной... Вопрос: как это сделать ?

вот что есть (не работает):
Код

GetMem(P,Size);
Read(F,P^,Size,RealRead) ...
......
For I:=0 To RealRead DIV 4 Do
Begin
Data:=PDWORD(P)^[I] - ошибка компилятора - Array type required
Memo1.Lines.Add(IntToHex(Data,1));
End;
FreeMem(P,Size);


--------------------
Все в жизни ботва... Кроме пчел!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 3)
volvo
сообщение 6.02.2006 13:51
Сообщение #2


Гость






Попробуй:
Type
ArrType = Array[0 .. 0] Of DWord;
...
GetMem(P,Size);
...
For I:=0 To RealRead DIV 4 Do Begin
Data := ArrType(P^)[I];
Memo1.Lines.Add(IntToHex(Data,1));
End;
...
FreeMem(P,Size);
 К началу страницы 
+ Ответить 
AlienEmperor
сообщение 6.02.2006 13:59
Сообщение #3


Бывалый
***

Группа: Пользователи
Сообщений: 160
Пол: Мужской
Реальное имя: Серый

Репутация: -  0  +


Спасибо! Стабильно раз в пару месяцев встречаюсь с подобным преобразованием и каждый раз забываю как это делается... Вот он - склероз... А PByte - он по сути дела указатель на Array[0..0] of Byte ?


--------------------
Все в жизни ботва... Кроме пчел!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
hardcase
сообщение 7.02.2006 16:28
Сообщение #4


code warrior
****

Группа: Пользователи
Сообщений: 484
Пол: Мужской
Реальное имя: Славен

Репутация: -  8  +


Можно без разыменовывания:
type TBigArray = array[0..MaxInt div 4-1] of integer;
PBigArray = ^TBigArray;

var Ptr: pointer;
P: PBigArray absolute Ptr;

For I:=0 To RealRead DIV 4 Do Begin
Data := P[I];
Memo1.Lines.Add(IntToHex(Data,1));
End;


Сообщение отредактировано: volvo - 7.11.2006 18:35


--------------------
ИзВ ин ИтЕ зА нЕ рОв НЫй П оч ЕРк
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 22.06.2025 0:04
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"