Текущий архив: 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.46 MB
Время: 0.008 c