Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Pointer в адрес? [D7, WinXP]


Страницы:   1 2

Zoom ©   (2008-05-05 17:43:00) 

А как можно Pointer преобразовать в Integer адрес, затем прибавить какое-то значение и обратно в Pointer , вообщем инкрементировать Pointer на какое-то число байт ???


Palladin   (2008-05-05 17:52:00) [21]

извиняюсь

Inc(PI) - семестит указатель PI на SizeOf(Integer)
Inc(PB) - семестит указатель P Bна SizeOf(Byte)
Inc(PW) - семестит указатель P Wна SizeOf(Word)


Ctrl + Ins, Shift + Ins иногда в такие неудобные положения ставит :)


Palladin   (2008-05-05 17:50:00) [22]

Есть великое изобретение: type casting. Прочитав любую книженцию про язык программирования турбо паскаль, ты откроешь для себя, что:

Var
p:Pointer;
...
p:=Pointer(Integer(p)+4);


сместит указатель на эти самые 4б.

А почитав любую книженцию про язык программирования Delphi aka Object Pascal, ты откроешь для себя, что:

Var
PI:^Integer;
PB:^Byte;
PW:^Word;

Inc(PI) - семестит указатель PI на SizeOf(Integer)
Inc(PB) - семестит указатель PI на SizeOf(Byte)
Inc(PW) - семестит указатель PI на SizeOf(Word)


и все благодаря Compiler Magic

Читайте книжки, господа.


Игорь Шевченко   (2008-05-05 17:47:00) [23]

Pointer(Integer(p) + 1234)


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо