Autor Beitrag
jUli@
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 61



BeitragVerfasst: Do 30.01.03 12:12 
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?:
ausblenden volle Höhe 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 user profile iconTino: Code-Tags hinzugefügt.
Mari
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 54



BeitragVerfasst: 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@ Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 61



BeitragVerfasst: Mi 05.02.03 10:00 
Hallo,...

ich habe es mit einer anderen Suche mit String versucht aber das funktioniert auch nicht!
ausblenden volle Höhe 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 user profile iconTino: Code-Tags hinzugefügt.
Mari
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 54



BeitragVerfasst: Mi 05.02.03 18:00 
:cry:

Wie lautet denn der komplette Text deiner Fehlermeldung?
Aya
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1964
Erhaltene Danke: 15

MacOSX 10.6.7
Xcode / C++
BeitragVerfasst: Mi 05.02.03 20:28 
Hi,

versuch es mal so:

ausblenden volle Höhe 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~

_________________
Aya
I aim for my endless dreams and I know they will come true!
jUli@ Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 61



BeitragVerfasst: 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.....