Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   *Теория* | Использование BlockRead и BlockWrite (http://forum.oszone.net/showthread.php?t=47330)

Surround 29-03-2005 05:39 310941

*Теория* | Использование BlockRead и BlockWrite
 
подскажите, плз, как правильно использовать данную функцию для считывания/записи в файл на дельфях...

Savant 29-03-2005 09:02 310982

Вложений: 1
Что-то тут комментарии местами не по-русски пишутся, загоню-ка я всё это в архив

В архивчике базовые приёмы работы с Block(Read/Write), если надо что-то уточнить для конкретного случая, спрашивай.

Surround 30-03-2005 08:08 311323

а что значит
Цитата:

{$DEFINE _debugver} {$IFDEF _debugver}
?

Savant 30-03-2005 10:58 311364

:) ну, может, я действительно немного перемудрил...

А что, серьёзно видишь в первый раз эти директивы компилятора? Ну да ладно, это неважно.
1. {$DEFINE symbName} - эта директива определяет в текущем модуле условный идентификатор (defines conditional symbol) с именем symbName. В нашем случае определяется флаг отладочной версии программы (именно программы, но не кода).
2. {$IFDEF symbName}. Если идентификатор symbName был создан где-то выше по коду (IFDEF = If Defined), то эта директива включает в компиляцию весь код стоящий между {$IFDEF ...} ... {$ENDIF}. Иначе данный кусок кода как бы "выпадает" (а {$IFNDEF} действует с точностью до наоборот). В нашем случае если не определен идентификатор (symbol) _debugver в компиляцию не включается вывод на экран некоторых результатов работы программы.
3. Существует еще множество директив компилятора. Всех их можно легко найти в справке, т.к. они начинаются на символ доллара ($)

Кстати, Surround, тебе Block(Rd/Wrt) нужны для работы с типизированным или нетипизированным файлом?

Surround 31-03-2005 08:06 311627

Savant
BlockWrite/Read нужно мне для работы с нетипизированными файлами. Там для считывания из них по байту, шифровки этого байта и т.д.
Понимаешь, делфик самостоятельно без книжек изучал, а про дерективы в хелпах непонятно написано, как бы зачем и как они нужны.

Savant 31-03-2005 08:14 311631

Surround
Цитата:

BlockWrite/Read нужно мне для работы с нетипизированными файлами. Там для считывания из них по байту, шифровки этого байта и т.д.
Тогда проще будет через банальные Read/Write (можно даже TextFile использовать). Block(rd/Wrt) используют, когда требуется считать не один байт из файл, а несколько бОльшее кол-во.
Цитата:

Понимаешь, делфик самостоятельно без книжек изучал...
Сам такой =)
Цитата:

... а про дерективы в хелпах непонятно написано, как бы зачем и как они нужны
Ну например одно из использований {$IFDEF} как директивы условной компиляции - это создание Demo и Full версий программ. В самом начале можно задать {$DEFINE _fullVER} и по ходу написания кода важные части (те, что не будут в демо-версии) "прятать" в {$IFDEF _fullVER}...{$ELSE}...{$ENDIF}.


Время: 10:15.

Время: 10:15.
© OSzone.net 2001-