![]() |
Probleme beim lesen einer typiesierten Datei
Delphi-Quellcode:
procedure TFrm_Adress_Edit.Btn_Action_SearchClick(Sender: TObject);
var restore:Integer; DateiSizeCon:Integer; begin // ID Abfragen ID:=strtoint(Edt_Eingabe_ID.Text); ID:=ID-1; // Datei öffnen AssignFile(Unit_Main.Datei, Unit_Startseite.DateiName); FileMode:=1; // Datei wird nur mit SchreibeBerechtigung geöffnet Reset(Unit_Main.Datei); // Dateizeiger sätzen //try seek(Unit_Main.Datei,ID); read(Unit_Main.Datei,Unit_Main.Datensatz); // Datei schließen closeFile(Unit_Main.Datei); // Buttens und Label Btn_Action_Search.Visible:=false; Btn_Action_Save.Visible:=true; Edt_Eingabe_ID.Visible:=false; Lbl_Ausgabe_ID.Visible:=true; // Variablen füllen Unit_Main.Datensatz.Name:=Name; Unit_Main.Datensatz.Vorname:=Vorname; Unit_Main.Datensatz.Street:=Street; Unit_Main.Datensatz.Hausnummer:=Hausnummer; Unit_Main.Datensatz.PLZ:=PLZ; Unit_Main.Datensatz.Stadt:=Stadt; Unit_Main.Datensatz.Land:=Land; Unit_Main.Datensatz.Telefon_Mobil:=Telefon_Mobil; Unit_Main.Datensatz.Telefon_Privat:=Telefon_Privat; Unit_Main.Datensatz.Telefon_Arbeit:=Telefon_Arbeit; Unit_Main.Datensatz.Fax:=Fax; Unit_Main.Datensatz.Mail_1:=Mail_1; Unit_Main.Datensatz.Mail_2:=Mail_2; Unit_Main.Datensatz.www:=www; Unit_Main.Datensatz.ICQ:=ICQ; Unit_Main.Datensatz.MSN:=MSN; Unit_Main.Datensatz.AIM:=AIM; Unit_Main.Datensatz.Yahoo:=Yahoo; Unit_Main.Datensatz.ID:=ID; Unit_Main.Datensatz.Delete:=Delete; // Wurde der Eintrag gelöscht? if Delete=true then begin Restore:=Application.MessageBox('Eintrag wurde gelöscht! Wiederherstellen?','Gelöscht',MB_YESNO); Btn_Action_Search.Visible:=true; Btn_Action_Save.Visible:=false; Edt_Eingabe_ID.Visible:=true; Lbl_Ausgabe_ID.Visible:=false; if Restore=6 then Unit_Main.Datensatz.Name:=Name; Unit_Main.Datensatz.Vorname:=Vorname; Unit_Main.Datensatz.Street:=Street; Unit_Main.Datensatz.Hausnummer:=Hausnummer; Unit_Main.Datensatz.PLZ:=PLZ; Unit_Main.Datensatz.Stadt:=Stadt; Unit_Main.Datensatz.Land:=Land; Unit_Main.Datensatz.Telefon_Mobil:=Telefon_Mobil; Unit_Main.Datensatz.Telefon_Privat:=Telefon_Privat; Unit_Main.Datensatz.Telefon_Arbeit:=Telefon_Arbeit; Unit_Main.Datensatz.Fax:=Fax; Unit_Main.Datensatz.Mail_1:=Mail_1; Unit_Main.Datensatz.Mail_2:=Mail_2; Unit_Main.Datensatz.www:=www; Unit_Main.Datensatz.ICQ:=ICQ; Unit_Main.Datensatz.MSN:=MSN; Unit_Main.Datensatz.AIM:=AIM; Unit_Main.Datensatz.Yahoo:=Yahoo; Unit_Main.Datensatz.ID:=ID; Delete:=false; Unit_Main.Datensatz.Delete:=Delete; // Das Array in die SpeichernDatei schreiben AssignFile(Unit_Main.Datei, Unit_Startseite.DateiName); FileMode:=1; // Datei wird nur mit SchreibeBerechtigung geöffnet Reset(Unit_Main.Datei); // Ans Ende der Datei gehen seek(Unit_Main.Datei,Unit_Main.DateiSize); // Dateien eintragen & Datei schließen write(Unit_Main.Datei,Unit_Main.Datensatz); CloseFile(Unit_Main.Datei); // SpeichernDatei prüfen AssignFile(Unit_Main.Datei, DateiName); FileMode:=0; // Datei wird nur mit LeseBerechtigung geöffnet Reset(Unit_Main.Datei); DateiSizeCon:=FileSize(Unit_Main.Datei); CloseFile(Unit_Main.Datei); // Wurde die Datei erfolgreich gespeichert? If (Unit_Main.DateiSize=DateiSizeCon) or (Unit_Main.DateiSize>DateiSizeCon) then begin // Nein die Daten wurden nicht gespeichert Application.MessageBox('Es gab einen Fehler beim wiederherstellen der Adresse!','Dateifehler',MB_OK); end else begin // Ja die Daten wurden erfolgreich gespeichert Unit_Main.ID:=Unit_Main.ID+1; Lbl_Ausgabe_ID.Caption:=inttostr(Unit_Main.ID); Application.MessageBox('Adresse erfolgreich wiederhegestellt!','Adresse UnLöschen',MB_OK); Btn_Action_Clear.Click; end; end else begin // Felder füllen Edt_Eingabe_Fax.Text:=inttostr(Unit_Main.Datensatz.Fax); Edt_Eingabe_Hausnummer.Text:=Unit_Main.Datensatz.Hausnummer; Edt_Eingabe_Land.Text:=Unit_Main.Datensatz.Land; Edt_Eingabe_Name.Text:=Unit_Main.Datensatz.Name; Edt_Eingabe_PLZ.Text:=inttostr(Unit_Main.Datensatz.PLZ); Edt_Eingabe_Stadt.Text:=Unit_Main.Datensatz.Stadt; Edt_Eingabe_Street.Text:=Unit_Main.Datensatz.Street; Edt_Eingabe_Telefon_Arbeit.Text:=inttostr(Unit_Main.Datensatz.Telefon_Arbeit); Edt_Eingabe_Telefon_Mobil.Text:=inttostr(Unit_Main.Datensatz.Telefon_Mobil); Edt_Eingabe_Telefon_Privat.Text:=inttostr(Unit_Main.Datensatz.Telefon_Privat); Edt_Eingabe_Vorname.Text:=Unit_Main.Datensatz.Vorname; Edt_Eingabe_AIM.Text:=Unit_Main.Datensatz.AIM; Edt_Eingabe_ICQ.Text:=Unit_Main.Datensatz.ICQ; Edt_Eingabe_Mail_1.Text:=Unit_Main.Datensatz.Mail_1; Edt_Eingabe_Mail_2.Text:=Unit_Main.Datensatz.Mail_2; Edt_Eingabe_MSN.Text:=Unit_Main.Datensatz.MSN; Edt_Eingabe_WWW.Text:=Unit_Main.Datensatz.www; Edt_Eingabe_Yahoo.Text:=Unit_Main.Datensatz.Yahoo; end; //except Application.MessageBox('Fehler beim öffnen!','Dateifehler',MB_OK); //end; end; was mache ich falsch ?? Wo ist der Fehler ? |
Re: Probleme beim lesen einer typiesierten Datei
Vielleich magst Du uns noch mitteilen was nicht geht?
Fehlermeldung? Grüße Klaus |
Re: Probleme beim lesen einer typiesierten Datei
Zitat:
Und bitte pass deine Formatierung (Einrückung) an. So ist der Code fast unlesbar! |
Re: Probleme beim lesen einer typiesierten Datei
Noch ein Hinweis: Wenn Du die Datei im Schreibmodus öffnest, sollte der read-Befehl schiefgehen.
Grüße, Messie |
Re: Probleme beim lesen einer typiesierten Datei
Und wie sieht der Record aus?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:00 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz