Autor Beitrag
herbie-53
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Mo 12.05.03 18:21 
Hi

wie kann ich abfragen ob im textfeld1 eine währung und im textfeld2 ein datum (muss logisch sein kein 31.02 oder so) ist?

MfG Marcel
yukon-troll
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 60



BeitragVerfasst: Mo 12.05.03 18:46 
Hallo,

ich gehe mal davon aus, das Du mit "textfeld" ein Edit-Feld meinst.
Prüfung auf Währung (Bsp.)
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
...
try
  StrToCurr(Edit1.Text);
except
  //-> Fehlerbehandlung
end;
...


alternativ mit StrToDate(Edit2.Text) für Datumsprüfung

MfG yukon-troll
herbie-53 Threadstarter
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Mo 12.05.03 18:52 
nein ich meine wie ich abfragen kann ob in edit1.text in datum bzw. eine währung steht

if edit1.text = währung then
//rechne
else
//zeige fehlermeldung
yukon-troll
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 60



BeitragVerfasst: Mo 12.05.03 18:56 
Was meinst Du mit Währung ?
Eine "Zahl" (z.B. 12.25) oder DM, €,Yen oder was auch sonst ?
herbie-53 Threadstarter
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Mo 12.05.03 18:58 
z.B. 15,51 € und 01.01.03
yukon-troll
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 60



BeitragVerfasst: Mo 12.05.03 19:10 
Gibst Du die Währung selbst ins Edit-Feld ein, oder ist das schon vorgegeben ?
Bei ersterem würde ich einfach die Angabe € oder sonstiges weglassen,
ansonsten musst Du den ersten Teilstring (15.55) aus der Ausgabe herausfiltern und dann prüfen.

Der try/except Block macht ansonsten genau das, was Du willst.

Am Beispiel Datum:

mit StrToDate(Edit1.Text)
versucht Delphi den String in ein Datum zu konvertieren,
geht das gut, macht er bei der nächsten Anweisung im try-Block weiter (in Deinem Fall -> rechne)

tritt aber beim Versuch der Konvertierung eine Exception auf (weil z.B Edit1.Text
kein gültiges Datum darstellt), dann verlässt Delphi den try-Block und führt die Anweisungen im except-Block aus, ansonsten wird der except-Block nicht ausgeführt.
Bitte auch mal in der Hilfe nachlesen.

MfG yukon-troll
herbie-53 Threadstarter
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Mo 12.05.03 19:17 
so hier:

procedure TForm1.Button1Click(Sender: TObject);
begin
try
StrToCurr(Edit1.Text);
except
Edit1.Text:='Fehler';
end;

funzt aber nicht :(
herbie-53 Threadstarter
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Mo 12.05.03 19:23 
doch funzt jetzt aber wie kann ich das abstellen das der mir den fehler "fehler ist kein gültiger gleitkommawert" anzeigt
yukon-troll
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 60



BeitragVerfasst: Mo 12.05.03 19:25 
was geht dabei nicht ?

Kommt ein Fehler beim kompilieren?
Oder kommt ein Fehler bei Button1Click trotz Zahleneingabe ?
(Währung mit Punkt als Trennzeichen eingeben !).

MfG yukon-troll
GSE
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 740

Win 2k, Win XP Pro
D5 Prof, D6 Ent, D2k5 PE
BeitragVerfasst: Mo 12.05.03 19:26 
Den Fehler zeigt er nur an, wenn du das Programm aus der IDE startest, da es eine Delphi-Fehlermeldung ist. Kannst du in den Debugger-Optionen abschalten (weiß jetzt grad´ nicht wo).

mfg
GSE

_________________
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs
and the universe trying to produce bigger and better idiots. So far, the universe is winning. (Richard Cook)
herbie-53 Threadstarter
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Mo 12.05.03 19:28 
ok ich danke euch
herbie-53 Threadstarter
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Mo 12.05.03 19:30 
hab ich wieder was dazu gelernt