Autor Beitrag
Terra23
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 872

Win 8
Delphi 7
BeitragVerfasst: So 08.06.03 13:18 
Hi Forum.

Ich brauche eure Hilfe (mal wieder) und bin leider nicht fündig geworden. :-)

Es geht um folgendes:

Ich habe 8 Edit-Felder und rufe in jedem das Ereignis OnKeyPress auf. Nun will ich aber nicht in jedem die benötigten Zeilen schreiben, sondern diese Zeilen in eine Extra-Prozedur setzen. Diese sieht so aus:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
procedure TFischform1.Zahlen(Sender: TObject; Var Key: Char);
begin
If Not (Key In ['0'..'9']) Then
Begin
Key:=#0;
ShowMessage('Es dürfen nur Zahlen eingegeben werden!');
End;
end;


Ich rufe die Prozedur so auf:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
procedure TFischform1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
Zahlen(Sender);
end;


Ich weiß, ich muß dann noch einen Parameter mitgeben, wenn ich die Prozedur aufrufen will (ich kriege auch die Fehlermeldung dazu). Nur, wie lautet der Parameter???

Kann mir das jemand sagen?

_________________
Hasta La Victoria Siempre


Zuletzt bearbeitet von Terra23 am So 08.06.03 14:05, insgesamt 1-mal bearbeitet
Tweafis
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 647

WinXP + fbsd
Delphi 5 Prof
BeitragVerfasst: So 08.06.03 13:41 
Zahlen(Sender, Key);

^_.- Müsste doch so gehen, oder?

_________________
.: Es wird der Tag kommen, an dem wir es nicht mehr ändern können :.
Terra23 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 872

Win 8
Delphi 7
BeitragVerfasst: So 08.06.03 14:05 
Ja, danke. Das geht so. Hätte ich auch selbst drauf kommen können. Das ist einem nicht immer so bewußt, daß die Varialben die Werte haben, die man sucht. :-)

_________________
Hasta La Victoria Siempre
Brueggendiek
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 304

Win 98, Win98SE, Win XP Home
D5 Std
BeitragVerfasst: Mo 09.06.03 22:49 
Hallo!

Was soll denn das werden, wenn's fertig ist?
Wahrscheinlich ein weiteres Kapitel aus der unendlichen Geschichte: Warum einfach, wenns kompliziert geht!

1. Wenn jedes Edit-Feld dieselbe Funktion ausführen soll, kann man dem entsprechneden Ereignis aller Felder dieselbe Prozedur zuordnen. Ggf. kann man über Sender das aufrufende Feld ermitteln.

2. Die Unter-Prozedur "Zahlen" wertet doch den Sender gar nicht aus, also kann der Parameter auch entfallen!

3. sollte man auch noch auf Backspace (#$08 ) prüfen, sonst kann man nichts mehr korrigieren.

Gruß

Dietmar Brüggendiek