Вниз
Скачать: CL | DM;

Простой ворос   Найти похожие ветки 

← →
Dimman   (2004-05-14 14:06) [0]

Есть запись (record), в ней одно поле содержит смещение в этой же записи (относительно начала записи) на строку типа PChar. Как мне по этому смещению получить адрес строки (чтобы из записи выдернуть саму строку).
Логически это болжно бы выглядеть так:
s:=PChar(@Rec+Rec.StringOffset);
или так:
s:=PChar(@Rec+Pointer(Rec.StringOffset));
но ни то не другое не рабоает (пишает что оператор неприменим для данного типа операндов).
Понимаю что торможу, давно паскаль учил, забыл азы :) ....
Помогите срочно.


← →
Игорь Шевченко ©   (2004-05-14 14:07) [1]


> s:=PChar(@Rec+Pointer(Rec.StringOffset));


S := PChar(Integer(@Rec) + Rec.StringOffset) ?


← →
Verg ©   (2004-05-14 14:10) [2]

Одну скобку левее переставь.

PChar(@Rec)+Rec.StringOffset;


← →
Dimman   (2004-05-14 14:11) [3]

Спасибо, заработало!!!



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.024 c
14-1084523991
jack128
2004-05-14 12:39
2004.05.30
Растояние от точки до отрезка


3-1083942381
VflowerW
2004-05-07 19:06
2004.05.30
Как в Delphi присвоить переменной значение выполненного запроса Q


6-1081354787
AsD
2004-04-07 20:19
2004.05.30
Когда получает IP-ик


14-1084345908
Mike Kouzmine
2004-05-12 11:11
2004.05.30
Эстония согласна простить Россию,


9-1075584663
Millennium
2004-02-01 00:31
2004.05.30
диалоги в играх




   Наверх