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

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.017 c
1-52897
race1
2003-02-08 10:58
2003.02.17
простой вопрос


3-52723
kalliopiy
2003-01-29 15:25
2003.02.17
ColumnResize в DBGrid е


14-53230
sancho
2003-01-31 23:25
2003.02.17
Fido,news...


3-52804
vikser
2003-01-31 17:02
2003.02.17
Консольное приложение и DataModule с ADO????


14-53211
wHammer
2003-01-31 08:32
2003.02.17
О комментариях в текстах программ