deadzoneman
Lt. Junior Grade
- Registriert
- Jan. 2003
- Beiträge
- 347
hi,
hab jetzt mal versucht, nen verwaltungsprog zu erstellen, wo man zum beispiel name, rasse usw. eingeben kann, diese daten kann man speichern und später wieder abrufen. das funzt jetzt auch alles, zumindest solange bis jemand das prog beendet, es neu startet und dann versucht die datei zu laden. das geht dann nicht mehr, wenn das prog allerdings noch läuft, wenn der user es vorher gespeichert und dann lädt, geht es. ich hab zwar die vermutung, dass er, wenn er die variableninhalte speichert (in einer TextFile mit .dat-endung), nur den inhalt speichert, den aber nicht mehr lesen kann, da die variable gelöscht wurde beim enden des prog. zu deutsch, dass die variablen nicht mehr ausgelesen werden können.
(wichtigeren) teile des codes:
falls das zu unübersihtlich war, kann ich auch nochmal den kompletten code schicken.
die fehler meldung ist, wenn ich versuche zu laden :
"Project DunDAssisten.exe raised exception class EInOutError with message I/O error 104. Process stopped. Use step or run to continue." (erscheint in nem extra dialogfeld mit nem weißen x auf rotem grund)
hat jemand ne idee? soll ich die als typisierte datei speichern? und wenn ja wie? oder woran kanns sonst liegen?
thy
deaddy
hab jetzt mal versucht, nen verwaltungsprog zu erstellen, wo man zum beispiel name, rasse usw. eingeben kann, diese daten kann man speichern und später wieder abrufen. das funzt jetzt auch alles, zumindest solange bis jemand das prog beendet, es neu startet und dann versucht die datei zu laden. das geht dann nicht mehr, wenn das prog allerdings noch läuft, wenn der user es vorher gespeichert und dann lädt, geht es. ich hab zwar die vermutung, dass er, wenn er die variableninhalte speichert (in einer TextFile mit .dat-endung), nur den inhalt speichert, den aber nicht mehr lesen kann, da die variable gelöscht wurde beim enden des prog. zu deutsch, dass die variablen nicht mehr ausgelesen werden können.
(wichtigeren) teile des codes:
Code:
... type
inhalt = record
NameCh, NameSp, Klasse, Volk, Gesinnung, Gottheit, Geschlecht,
Haarfarbe, Hautfarbe, ... : string;
end;
...
var daten : inhalt;
...
procedure TFormCErschaffung.ButtonSpeichernClick(Sender: TObject);
var name:string;
datei:textfile;
begin
if SaveDialog.Execute then begin
wertaufnahme;
name:=FormCErschaffung.savedialog.filename;
try
assignfile(datei, name);
rewrite(datei);
writeln(datei,daten.NameCh);
writeln(datei,daten.NameSp );
writeln(datei,daten.Klasse );
writeln(datei,daten.Volk );
writeln(datei,daten.Gesinnung );
...
writeln(datei,daten.ModWei );
writeln(datei,daten.ModCha );
closefile(datei);
messagedlg('Erfolgreich gespeichert !',mtinformation,[mbok],0);
except
messagedlg('Fehler beim speichern!!!!!!!(is kein Witz)',mtinformation,[mbok],0);
exit;
end;
end;
end;
...
procedure TFormCErschaffung.wertaufnahme;
begin
daten.NameCh:=NameCh;
daten.NameSP:=NameSP;
daten.Klasse:=Klasse;
daten.Volk:=Volk;
daten.Gesinnung:=Gesinnung;
daten.ModWei:=ModWei;
daten.ModCha:=ModCha;
end;
...
procedure TFormCErschaffung.wertabgabe;
begin
FormCErschaffung.EditNameCh.Text:=daten.NameCh;
FormCErschaffung.EditNameSp.Text:=daten.NameSP;
FormCErschaffung.ComboBoxKlasse.Text:=daten.Klasse;
FormCErschaffung.ComboBoxVolk.Text:=daten.Volk;
FormCErschaffung.ComboBoxGesinnung.Text:=daten.Gesinnung;
FormCErschaffung.EditWeiMod.Text:=IntToStr(daten.ModWei);
FormCErschaffung.EditChaMod.Text:=IntToStr(daten.ModCha);
end;
...
procedure TFormCErschaffung.ButtonLoeschenClick(Sender: TObject);
var name:string;
datei:textfile;
begin
if OpenDialog.Execute then begin
name:=FormCErschaffung.savedialog.filename;
try
assignfile(datei, name);
reset(datei);
readln(datei, daten.NameCh);
readln(datei, daten.NameSp );
readln(datei, daten.Klasse );
readln(datei, daten.Volk );
readln(datei, daten.Gesinnung );
readln(datei, daten.Gottheit );
...
readln(datei, daten.ModWei );
readln(datei, daten.ModCha );
closefile(datei);
wertabgabe;
messagedlg('Erfolgreich geladen !',mtinformation,[mbok],0);
except
messagedlg('Fehler beim Laden!!!!!!!(is kein Witz)',mtinformation,[mbok],0);
exit;
end;
end;
end;
falls das zu unübersihtlich war, kann ich auch nochmal den kompletten code schicken.
die fehler meldung ist, wenn ich versuche zu laden :
"Project DunDAssisten.exe raised exception class EInOutError with message I/O error 104. Process stopped. Use step or run to continue." (erscheint in nem extra dialogfeld mit nem weißen x auf rotem grund)
hat jemand ne idee? soll ich die als typisierte datei speichern? und wenn ja wie? oder woran kanns sonst liegen?
thy
deaddy