AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Probleme beim lesen einer typiesierten Datei
Thema durchsuchen
Ansicht
Themen-Optionen

Probleme beim lesen einer typiesierten Datei

Offene Frage von "Newbi"
Ein Thema von Newbi · begonnen am 25. Apr 2008 · letzter Beitrag vom 25. Apr 2008
Antwort Antwort
Newbi

Registriert seit: 2. Apr 2008
15 Beiträge
 
#1

Probleme beim lesen einer typiesierten Datei

  Alt 25. Apr 2008, 06:56
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 ?
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.757 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Probleme beim lesen einer typiesierten Datei

  Alt 25. Apr 2008, 07:13
Vielleich magst Du uns noch mitteilen was nicht geht?
Fehlermeldung?

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: Probleme beim lesen einer typiesierten Datei

  Alt 25. Apr 2008, 07:13
Zitat von Newbi:
was mache ich falsch ?? Wo ist der Fehler ?
Welcher Fehler? Was wird erwartet? Was geschieht?

Und bitte pass deine Formatierung (Einrückung) an. So ist der Code fast unlesbar!
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
messie

Registriert seit: 2. Mär 2005
Ort: Göttingen
1.592 Beiträge
 
Delphi 2009 Professional
 
#4

Re: Probleme beim lesen einer typiesierten Datei

  Alt 25. Apr 2008, 07:15
Noch ein Hinweis: Wenn Du die Datei im Schreibmodus öffnest, sollte der read-Befehl schiefgehen.

Grüße, Messie
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Probleme beim lesen einer typiesierten Datei

  Alt 25. Apr 2008, 07:53
Und wie sieht der Record aus?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:21 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz