Главная страница
    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.46 MB
Время: 0.01 c
6-53151
Virtual GOD
2002-12-26 16:28
2003.02.17
Как выполнить из Delphi перенос зоны?


1-53110
Igorek
2003-02-05 17:40
2003.02.17
Bold font для пункта меню редактора компонента


1-52875
Nemas
2003-02-07 17:31
2003.02.17
Переход на строку


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


1-53068
runner
2003-02-06 18:04
2003.02.17
Перенос в ячейках StingGrid





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