Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
Время: 2.955 c
1-1086936415
Виталя
2004-06-11 10:46
2004.06.27
Тестировка приложения


4-1084810455
kot_phg
2004-05-17 20:14
2004.06.27
Как мне узнать скрытые название любого *.exe файла и ее версию.


4-1085030000
-SeM-
2004-05-20 09:13
2004.06.27
vcltest3.dll


1-1086778691
Виталя
2004-06-09 14:58
2004.06.27
Как положить на форму поверх уже "лежащего" Frame комп. Label.


3-1085649589
Tormoz
2004-05-27 13:19
2004.06.27
Потеря памяти при работе с БД





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский