Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.02.17;
Скачать: [xml.tar.bz2];

Вниз

IMHO чисто паскалевский подход при работе с файлами лучше :)   Найти похожие ветки 

 
Альф   (2003-02-06 16:52) [0]

Пример - сохранить в файл массив:

TDoubleListCell = record
TADoubleListCell = array of TDoubleListCell;
FDoubleListCell = file of TDoubleListCell;
...
FDLCells: TADoubleListCell;
...
procedure SaveToFile(FileName: TFileName);
var
f: FDoubleListCell;
i: integer;
handle: THandle;
bufSize: integer;
newSize: integer;
begin
if Length(FDLCells) > 0
then begin
{$IFDEF PASCALSTYLE}
AssignFile(f, FileName);
try
Rewrite(f);
for i:= Low(FDLCells) to High(FDLCells) do
Write(f, FDLCells[i]);
finally
CloseFile(f);
end;{try}
{$ELSE}
handle := FileCreate(FileName); // =(-1)
if handle <> (-1)
then begin
bufSize:= Length(FDLCells)*sizeof(TDoubleListCell);
newSize:= FileWrite(handle, FDLCells[0], bufSize); // newSize <> bufSize
if newSize = bufSize
then // Все Ok
else if newSize =(-1)
then raise EDictionary.Create("-1")
else raise EDictionary.Create("");
FileClose(handle);
end else // :(
{$ENDIF}
end else raise EDictionary.Create("Nothing to write");
end;{}

Так паскалевский вариант и смотриться лучше и меньше занимает :)))


 
Альф   (2003-02-06 16:53) [1]

Уппссс - наверно в "Потрепаться" надо было :(


 
gsu   (2003-02-06 16:56) [2]

>> чисто паскалевский подход при работе с файлами лучше
чем какой и чем ?


 
Альф   (2003-02-06 17:02) [3]

2gsu © (06.02.03 16:56)
>чем какой
Чем подход с использованием SysUtils или WinAPI
>и чем ?
Так паскалевский вариант и смотриться лучше и меньше занимает :)))


 
gsu   (2003-02-06 17:13) [4]

FileWrite -> SysUtils


 
Palladin   (2003-02-06 17:15) [5]

приведи пожалуста "грязный" способ работы с файлами в данном случае, с использованием WinAPI и SysUtils, для сравнения...



 
gsu   (2003-02-06 17:17) [6]

через потоки красивей


 
Palladin   (2003-02-06 17:23) [7]


> Так паскалевский вариант и смотриться лучше и меньше занимает
> :)))

это типа какой еще паскалевский?
а какой тогда непаскалевский?


 
Кот Бегемот   (2003-02-06 17:39) [8]

2Palladin © (06.02.03 17:15)
"О грязи" тут никто не упоминал :))) - а файловые операции в SysUtils ипользуют ВинАпи :)
Хотя никто не даст гарантии что юзанье Rewrite и т.п. выльется в дальнейшем во чтото неизвесное :)))

2gsu © (06.02.03 17:17)
ГЫЫЫЫЫ :)))))
function THandleStream.Read(var Buffer; Count: Longint): Longint;
begin
Result := FileRead(FHandle, Buffer, Count);
if Result = -1 then Result := 0;
end;

- убедил ???


 
Palladin   (2003-02-06 17:45) [9]

Кот Бегемот © (06.02.03 17:39)
почудилось словосочетание "чисто паскалевский" :)

меня просто удивило, что значит "паскалевский"...
то есть, есть еще и "не паскалевский"...

2 gsu
TFileStream и пр. это есть классовая оболочка для функций файлового ввода вывода...


 
gsu   (2003-02-06 17:54) [10]

>> Кот Бегемот © (06.02.03 17:39)
убедил в чем ? я говорил: "красивей"

>> Palladin © (06.02.03 17:45)
достаточно залесть внутрь


 
gsu   (2003-02-06 17:55) [11]

залезть, все, блин, везде лажаюсь, пора отдыхать



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

Форум: "Основная";
Текущий архив: 2003.02.17;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.008 c
14-53247
Delphinium
2003-02-01 15:19
2003.02.17
Предлагаю поделиться мыслями о Шароваре.


1-52820
ltexcimer
2003-02-06 20:03
2003.02.17
Позиция в строке.


14-53204
Vox
2003-01-30 21:17
2003.02.17
Как запороть письмо?


3-52808
DBGrid
2003-01-29 13:34
2003.02.17
процедура column autosize для DBGrid


1-52914
Sedov Vitalik
2003-02-08 13:44
2003.02.17
Memo в FastReport





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский