Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.01 c
9-52695
Maelstrom
2002-09-13 16:30
2003.02.17
ПРОБЛЕМА С ДВУМЕРНЫМ МАССИВОМ!!!


6-53137
BJValentine
2002-12-25 18:48
2003.02.17
Как можно прозвонить сетку?


6-53156
AGGRESSOR
2002-12-24 13:31
2003.02.17
Advanced download manager


6-53136
Kent
2002-12-24 12:55
2003.02.17
Есть ISAPI DLL, как заставить ее под Apache работать ?


3-52760
SerjUfa
2003-01-30 12:38
2003.02.17
Как записать в таблицу рез-ты запроса?




   Наверх