Hallo Leute!
Ich habe mal wieder Probleme mit einem Projekt für die schule. Kann mir vll jemand helfen?
Delphi-Quellcode:
implementation
{$R *.dfm}
type TMensch= record name,vname,tel,handy,email,ort,strasse,post,icq:string[100];
end;
var typ:array of TMensch;
i:integer;
pr:boolean;
procedure TForm1.FormCreate(Sender: TObject);
var f:file of tmensch;
l:integer;
begin
pr:=true;
i:=1;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
d,a:integer;
begin
pr:=false;
a:=0;
setlength(typ,i);
with typ[i-1] do begin
name:=Edit2.text;
vname:=Edit1.text;
Ort:=Edit4.text;
Handy:=Edit9.text;
Tel:=Edit8.text;
icq:=Edit7.text;
Strasse:=Edit5.text;
Post:=Edit3.text;
email:=Edit6.text;
end;
inc(i);
Form1.Leeren;
Edit1.SetFocus;
end;
procedure TForm1.Button2Click(Sender: TObject);
var s:integer;
begin
Listbox1.clear;
for s:=1 to i-1 do begin
with typ[s-1] do begin
with listbox1.Items do begin
add('Vorname: '+vname);
add('Name: '+name);
add('Adresse: ');
add('Postleitzahl: '+post);
add('Ort: '+ort);
add('Straße: '+strasse);
add('Kontaktinformationen: ');
add('E-Mail: '+email);
add('ICQ: '+icq);
add('Telefon: '+tel);
add('Handy: '+handy);
add('------------------------------------------------------');
end;
end;
end;
end;
procedure TForm1.Leeren;
var a:integer;
begin
for a := 1 to 9 do begin
with TEdit(findcomponent('Edit'+inttostr(a))) do
text := '';
end;
end;
procedure TForm1.Restart1Click(Sender: TObject);
begin
Listbox1.clear;
Form1.Leeren;
Edit1.SetFocus;
i:=1;
end;
procedure TForm1.Ende1Click(Sender: TObject);
begin
if pr=true then close else showmessage('Es wurde nicht gespeichert');
end;
procedure TForm1.Button3Click(Sender: TObject);
var a:integer;
begin
Listbox1.clear;
if radiobutton1.Checked then for a:=low(typ) to high(typ) do
if typ[a].name=Edit10.Text then
begin
with typ[a] do begin
with listbox1.Items do begin
add('Vorname: '+vname);
add('Name: '+name);
add('Adresse: ');
add('Postleitzahl: '+post);
add('Ort: '+ort);
add('Straße: '+strasse);
add('Kontaktinformationen: ');
add('E-Mail: '+email);
add('ICQ: '+icq);
add('Telefon: '+tel);
add('Handy: '+handy);
add('------------------------------------------------------');
end;
end;
end;
if radiobutton2.Checked then for a:=low(typ) to high(typ) do
if typ[a].vname=Edit10.Text then
begin
with typ[a] do begin
with listbox1.Items do begin
add('Vorname: '+vname);
add('Name: '+name);
add('Adresse: ');
add('Postleitzahl: '+post);
add('Ort: '+ort);
add('Straße: '+strasse);
add('Kontaktinformationen: ');
add('E-Mail: '+email);
add('ICQ: '+icq);
add('Telefon: '+tel);
add('Handy: '+handy);
add('------------------------------------------------------');
end;
end;
end;
if radiobutton3.Checked then for a:=low(typ) to high(typ) do
if typ[a].post=Edit10.Text then
begin
with typ[a] do begin
with listbox1.Items do begin
add('Vorname: '+vname);
add('Name: '+name);
add('Adresse: ');
add('Postleitzahl: '+post);
add('Ort: '+ort);
add('Straße: '+strasse);
add('Kontaktinformationen: ');
add('E-Mail: '+email);
add('ICQ: '+icq);
add('Telefon: '+tel);
add('Handy: '+handy);
add('------------------------------------------------------');
end;
end;
end;
end;
procedure TForm1.Speichern1Click(Sender: TObject);
var t:file of Tmensch;
g:integer;
begin
if savedialog1.Execute then
begin
assignfile(t,savedialog1.FileName+copy(savedialog1.Filter,12,4));
if fileexists(savedialog1.FileName) then begin
deletefile(savedialog1.FileName);
rewrite(t);
for g:=0 to high(typ) do
write(t,typ[g]);
closefile(t);
pr:=true;
end
else begin
rewrite(t);
for g:=0 to high(typ) do
write(t,typ[g]);
closefile(t);
pr:=true;
end;
end;
end;
procedure TForm1.Laden1Click(Sender: TObject);
var t:file of Tmensch;
var x: tmensch;
g:integer;
begin
if pr= false then showmessage('Bitte zuerst speichern');
if opendialog1.Execute then begin
if fileexists(opendialog1.filename) then begin
pr:=false;
assignfile(t,opendialog1.filename);
reset(t);
seek(t,0);
g:=0;
while not(eof(t)) do begin
read(t,x);
typ[g]:=x;
inc(g);
end;
closefile(t);
end else exit;
end;
end;
end.
Also mein Problem liegt darin, dass ich ne Fehlermeldung bekomme, wenn ich versuche die datei zu laden. Das speichern klappt ja. Ne datei mit 10 zahlen ,also file of integer, kann ich auch so laden. Nur hier habe ich Probleme.
Kann mir bitte jemand sagen, woran das liegt?
Ich weis der letzte Teil ist noch nicht richtig formatiert und es sind noch globale variabeln drin, aber nur, weil mein infolehrer meinte es würde daran liegen. allerdings quatsch, wie wir bei einem anderen projekt in der schule gemerkt hatten.
Wäre dankbar für eure Hilfe.
MfG
Damaster