Zitat von
mytar:
Dein Code funktioniert einwandfrei, wenn ich ihn auf Dateien die ich vorher mit SaveToFile gespeichert habe. Will ich aber irgendeine Datei, z.B. *.zip öffnen, sollte er ja
FileName + ' ist keine gültige Datei vom Typ TMyArray ausgeben.
Also geht es dir jetzt um eine Fehlerbehandlung?
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
const
IDENT_TMYARRAY = '
TMyArray';
BUF_SIZE = 4096;
type
TMyArray =
array[1..12, 1..2]
of String;
procedure LoadFromFile(
var MyArray: TMyArray;
const FileName:
String);
var
Stream: TFileStream;
Reader: TReader;
I, J: Integer;
begin
Stream := TFileStream.Create(FileName, fmOpenRead);
try
Reader := TReader.Create(Stream, BUF_SIZE);
try
Reader.ReadSignature;
if Reader.ReadIdent <> IDENT_TMYARRAY
then
raise Exception.Create(FileName + '
ist keine gültige Datei vom Typ TMyArray.');
for I := 1
to 12
do
for J := 1
to 2
do
MyArray[I, J] := Reader.ReadString;
finally
Reader.Free;
end;
finally
Stream.Free;
end;
end;
var
MyArray: TMyArray;
begin
if OpenDialog1.Execute
then
begin
try
LoadFromFile(MyArray, OpenDialog1.FileName);
except
on E:
Exception do
ShowMessage('
Folgender Fehler ist aufgetreten: ' + E.
Message);
end;
end;
end;