Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.06.27;
Скачать: CL | DM;

Вниз

Про указатели   Найти похожие ветки 

 
KSergey ©   (2004-06-11 14:14) [0]

Такой код:

function TTextFileStream.Read(var Buffer; Count: Longint): Longint;
begin
...
 if ((PChar(@Buffer))^ > #0) then ...

Я правильно понимаю, что я здесь проверю первый байт в буффере на то, что он отличен от 0?


 
Anatoly Podgoretsky ©   (2004-06-11 14:23) [1]

В принципе да, поскольку беззнаковое, а в общем нет, неравенство проверяют с помощью оператора <>


 
KSergey ©   (2004-06-11 14:27) [2]

Ну, именно про беззнаковое и было подразумето само собой ;) В основном я про синтаксис указателей спрашивал, а то не люблю я их в дельфи, признаться.

Спасибо.

PS
К стати, а может это можно проще записать?


 
Sandman25 ©   (2004-06-11 14:30) [3]

procedure re(var Buffer);
var
 A: Byte absolute Buffer;
begin
 if A<>0 then
   showmessage("0");
end;

procedure TForm1.Button1Click(Sender: TObject);
var
 t: array[1..100] of char;
begin
 t[1] := #0;
 showmessage("1");
 re(t);
 showmessage("2");
 t[1] := #1;
 re(t);
end;


 
GuAV ©   (2004-06-11 17:15) [4]


> К стати, а может это можно проще записать?

Byte(Buffer)<>0


 
GuAV ©   (2004-06-11 17:18) [5]

имхо absolute хуже чем просто typecast (это святая вера :) )


 
Sandman25 ©   (2004-06-11 17:28) [6]

[5] GuAV ©   (11.06.04 17:18)

Если нужно 1 раз, то удобнее typecast.
Если несколько, то absolute.



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

Текущий архив: 2004.06.27;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.041 c
1-1087242497
lena19
2004-06-14 23:48
2004.06.27
чем заменить s:=chr(1)+chr(1).....+chr(1)


1-1086850034
Konstantin
2004-06-10 10:47
2004.06.27
Помогите пожалуйста с Excel, - <invalid variant operation>


4-1084794195
Temucin
2004-05-17 15:43
2004.06.27
Мониторинг принтера


14-1086450902
DiamondShark
2004-06-05 19:55
2004.06.27
Небольшой информационный апокалипсис


14-1086714635
Evgeniy_K
2004-06-08 21:10
2004.06.27
Альтернатива Graphics