Entwickler-Ecke
Sonstiges (Delphi) - Datei Suche - Dateiverwaltung
jUli@ - Do 30.01.03 12:12
Titel: Datei Suche - Dateiverwaltung
hi ho,.. könntet ihr mir vielleicht mal helfen? und zwar funktioniert meine suche nicht, da komme immer "ungültiger integer wert", außerdem möchte ich eigentlich das man mehr suchgegriffe hat und nicht nur halternummer, wie mache ich das??? könntet ihr mir vielleicht helfen?:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41:
| procedure TfrmHalter.sbSucheClick(Sender: TObject); VAR suchbegriff : integer; gefunden : boolean; begin gefunden := false; IF fehleingabenPruefen Then Begin suchbegriff := StrToInt(edtSuche.text); dateiOffen:=dateiOeffnen('Halter.dat'); While (NOT Eof(halterdatei)) AND (gefunden=false) DO Begin FHalter := datensatzLesen; IF FHalter.HalterNR = suchbegriff Then Begin With FHalter Do Begin HalterNR:= StrToInt(frmHalter.edtHalternummer.text); name:= frmHalter.edtName.text; vorname:=frmHalter.edtVorname.text; Strasse:=frmHalter.edtStrasse.text; PLZ:=frmHalter.edtPLZ.text; Ort:=frmHalter.edtOrt.text; gebOrt:=frmHalter.edtgebOrt.text; Telefon:=frmHalter.edtTelefon.text; gebDatum:=StrToDate(frmHalter.megeburtsDatum.Text); End;//With aktSatzPos := aktuelleDatensatzpositionErmitteln; gefunden := true; eingabemaskeEntsichern('Halter'); dateiGeschlossen := dateiSchliessen('Halter.dat'); End; END;//While End;//Then IF NOT gefunden Then Begin dateiOffen:=dateiOeffnen('Halter.dat'); ShowMessage('Die Halternummer existiert nicht!'); edtSuche.text :=''; End; dateiGeschlossen := dateiSchliessen('Halter.dat'); end; |
vielen Lieben dank
Julia :D
Moderiert von
Tino: Code-Tags hinzugefügt.
Mari - Di 04.02.03 18:31
Warum ist deine Variable "Suchbegriff" ein Integer und kein String?
Wenn es ausschließlich zur Suche nach Zahlen dient, dann musst du folgendes beachten:
-Der Inhalt des Edit muss eine Zahl sein und kein Wort sein
-Im Edit muss eine nach Integer konvertierbare Zahl stehen, also z.B. nicht 1,5
-Das Edit darf nicht leer sein
Wenn diese Bedingungen nicht erfüllt sind dann tritt der Fehler auf.
Ich hoffe ich konnte dir helfen,
Mari
jUli@ - Mi 05.02.03 10:00
Hallo,...
ich habe es mit einer anderen Suche mit String versucht aber das funktioniert auch nicht!
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43:
| procedure TfrmFahrzeug.sbSucheClick(Sender: TObject); VAR suchbegriff : string; gefunden : boolean; begin gefunden := false; IF fehleingabenPruefen Then Begin suchbegriff := edtSuche.text; dateiOffen:=dateiOeffnen('Fahrzeug.dat'); While (NOT Eof(kfzdatei)) AND (gefunden=false) DO Begin KFZ := datensatzLesen; IF (IntToStr(KFZ.KFZHalterNR) = suchbegriff) OR (KFz.FahrgestellNr = suchbegriff) Then Begin With KFZ Do Begin KFZHalterNr:= StrToInt(frmFahrzeug.edtHalternummer.text); FahrgestellNr:= frmFahrzeug.edtFahrgestellnummer.text; FahrzeugbriefNr:=frmFahrzeug.edtFahrzeugbrief.text; Kennzeichen:=frmFahrzeug.edtKennzeichen.text; KennzeichenArt:=frmFahrzeug.cbKennzeichen.text; Typ:=frmFahrzeug.cbTyp.text; Modell:=frmFahrzeug.edtModell.text; Farbe:=frmFahrzeug.edtFarbe.text; Baujahr:=frmFahrzeug.meBaujahr.Text; Zusatz:=frmFahrzeug.memZusatz.text; Anmeldedatum:=StrToDate(frmFahrzeug.meAnmeldedatum.Text); Abmeldedatum:=StrToDate(frmFahrzeug.meAbmeldedatum.Text); End;//With aktSatzPos:=aktuelleDatensatzpositionErmitteln; gefunden:=true; dateiGeschlossen := dateiSchliessen('Fahrzeug'); End; END;//While End;//Then IF NOT gefunden Then Begin dateiOffen:=dateiOeffnen('Fahrzeug.dat'); ShowMessage('Dies Fahrzeug existiert nicht!'); edtSuche.text :=''; End; dateiGeschlossen := dateiSchliessen('Fahrzeug'); end; |
Moderiert von
Tino: Code-Tags hinzugefügt.
Mari - Mi 05.02.03 18:00
:cry:
Wie lautet denn der komplette Text deiner Fehlermeldung?
Aya - Mi 05.02.03 20:28
Hi,
versuch es mal so:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43:
| procedure TfrmFahrzeug.sbSucheClick(Sender: TObject); VAR suchbegriff : string; gefunden : boolean; begin gefunden := false; IF fehleingabenPruefen Then Begin suchbegriff := edtSuche.text; dateiOffen:=dateiOeffnen('Fahrzeug.dat'); While (NOT Eof(kfzdatei)) AND (gefunden=false) DO Begin KFZ := datensatzLesen; IF (IntToStr(KFZ.KFZHalterNR) = suchbegriff) OR (KFz.FahrgestellNr = suchbegriff) Then Begin With KFZ Do Begin KFZHalterNr:= StrToIntDef(frmFahrzeug.edtHalternummer.text,0); // Wenn in dem Edit keine gültige IntegerZahl ist, wird 0 genommen. FahrgestellNr:= frmFahrzeug.edtFahrgestellnummer.text; FahrzeugbriefNr:=frmFahrzeug.edtFahrzeugbrief.text; Kennzeichen:=frmFahrzeug.edtKennzeichen.text; KennzeichenArt:=frmFahrzeug.cbKennzeichen.text; Typ:=frmFahrzeug.cbTyp.text; Modell:=frmFahrzeug.edtModell.text; Farbe:=frmFahrzeug.edtFarbe.text; Baujahr:=frmFahrzeug.meBaujahr.Text; Zusatz:=frmFahrzeug.memZusatz.text; Anmeldedatum:=StrToDate(frmFahrzeug.meAnmeldedatum.Text); Abmeldedatum:=StrToDate(frmFahrzeug.meAbmeldedatum.Text); End;//With aktSatzPos:=aktuelleDatensatzpositionErmitteln; gefunden:=true; dateiGeschlossen := dateiSchliessen('Fahrzeug'); End; END;//While End;//Then IF NOT gefunden Then Begin dateiOffen:=dateiOeffnen('Fahrzeug.dat'); ShowMessage('Dies Fahrzeug existiert nicht!'); edtSuche.text :=''; End; dateiGeschlossen := dateiSchliessen('Fahrzeug'); end; |
Ich hab nur aus deinem StrToInt() ein StrToIntDef() gemacht.
Dadurch wird, sofern der String nicht zu einem Integer umgewandelt werden kann die 0 genommen.
Du könntest aber auch jede x-beliebige zahl dafür nehmen.
Au'revoir,
Aya~
jUli@ - Do 06.02.03 15:15
hi,... danke jetzt bekomme ich das mit ungültigen integerwert nicht mehr... aber... irgendwie mag ders mit dem datum nicht.....
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!