Запись массива на диск

Скажем, ваша структура данных выглядит следующим образом:

type

 TMyRec = record

  SomeField: Integer;

  SomeOtherField: Double;

  TheRest: array[0..99] of Single;

 end;

и TBlobField имеет имя MyBlobField. TMyRec назван как MyRec. Для копирования содержимого MyRec в MyBlobField необходимо сделать следующее:
var

 Stream: TBlobStream;

begin

 Stream := TBlobStream.Create(MyBlobField, bmWrite);

 Stream.Write(MyRec, SizeOf(MyRec));

 Stream.Free;

end;

Есть другой путь:
var

 Stream: TBlobStream;

begin

 Stream := TBlobStream.Create(MyBlobField, bmRead);

 Stream.Read(MyRec, SizeOf(MyRec));

 Stream.Free;

end;

- Steve Schafer
Взято из Советов по Delphi от Валентина Озерова
Сборник Kuliba

type
 TCharArray = array[500] of Char;
procedure WriteToFile(var aArray: TCharArray; sFileName: string); {Примечание:
Объявление массива как параметр Var позволяет передавать только ссылку на массив,
а не копировать его целиком в стек, если же вам нужна безопасная работа с массивом,
то вам не следует передавать его как var-параметр. }

var
 nArrayIndex: Word;
 fFileHandle: TextFile;
begin
 AssignFile(fFileHandle, sFileName);
 Rewrite(fFileHandle);
 for nArrayIndex := 1 to 500 do
 begin
  Write(fFileHandle, aArray[nArrayIndex]);
 end;
 CloseFile(fFileHandle);
end; {end Procedure, WriteToFile()}
http://delphiworld.narod.ru/ DelphiWorld 6.0

Отправить комментарий

Проверка
Антиспам проверка
Image CAPTCHA
...