Форум: "Основная";
Текущий архив: 2004.06.27;
Скачать: [xml.tar.bz2];
ВнизПро указатели Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.034 c