Entwickler-Ecke

Datenbanken - DBEdit -> keydown Sender


OlliWausD - Di 14.02.06 15:32
Titel: DBEdit -> keydown Sender
hi leutz, ich hab n kleines Problem:

auf einem Formular hab ich ca 50 DB-Editfelder, welche alle die gleiche funktion ausführen sollen, wenn man die "Enter-Taste" drückt.

nehmen wir als beispiel:
1.) nach dem Drücken der Enter-Taste soll sich der eigene Wert um 5 erhöhen.
2.) Diese funktion will ich dann beim Programmstart allen Editfeldern zuweisen.
Punkt 2 is kein Problem, jedoch bei Punkt 1 komm ich ins rudern

das müsste sich doch mir nur einer Funktion lösen lassen, wenn man mit dem Sender arbeitet. Ich kriegs blos nicht auf die Reihe ;-(


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
procedure TForm1.DBEdit1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
var I:Integer;
begin
  if key = 13 then
  begin
    Table1.edit;
    table1.fieldbyname(Sender.datafield).asinteger := table1.fieldbyname(Sender.datafield).asinteger + 5;
    Table1.post;
  end
end;


Das Problem liegt wahrscheinlich daran, dass Sender vom Typ TObject und nicht vom typ TDBEdit ist.

Entweder steh ich heut wirklich auf dem Schlauch, oder..... ja.

kann mir jemand weiter helfen??

mfg

OlliW


afk - Di 14.02.06 18:16

Du mußt dafür einfach einen Typecast machen:


Delphi-Quelltext
1:
...TDBEdit(Sender)...                    


Gruß Axel


OlliWausD - Di 14.02.06 18:52

user profile iconafk hat folgendes geschrieben:
Du mußt dafür einfach einen Typecast machen:


Delphi-Quelltext
1:
...TDBEdit(Sender)...                    


Gruß Axel


ohh mann!! danke dir Axel
(Das ich da nicht selbst dran gedacht hab :roll: )

Ich glaub, ich schlaf zu wenig :wink:

mfg

OlliW