Autor Beitrag
Dhakiyah
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 327
Erhaltene Danke: 5

Windows 7
Delphi XE2
BeitragVerfasst: Fr 22.10.10 12:06 
Hallo!
Ich habe eine Unit OHNE Form, also OHNE Design.
Dort baue ich mir einen Anmeldedialog zusammen:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
function xxx.Show_DlgLogin: boolean;
var  lbl: TLabel;
     inp, inp_persnr: TEdit;
     cmd: TBitBtn;
     slAnwender: TStringList;
     mrRes: TModalResult;
     qry: TOraQuery;

begin
     { Login-Dialog anzeigen }
     qry:= TORAQuery.create(nil);
     mnLoginCount:= 0;

     if Dlg <> nil then Dlg.destroy;
     Dlg:= xxx.create('Anmeldung');
     Dlg.Dialog.OnShow:= DlgLoginShow;

     lbl:= Dlg.AddLabel('Pers-Nr. :', [-1, -1, 3, 0]);
     inp_persnr:= Dlg.AddEdit('', false, [-1, 140, lbl.top, 70]);
     inp_persnr.MaxLength := 6;


Wenn ich eine Form habe, gehe ich ja dort in den Objektinspektor und dort auf Ereignisse und klicke auf OnKeyPress und gebe folgendes ein:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
procedure xxx.inp_altKeyPress(Sender: TObject;
  var Key: Char);
begin
  if NOT (Key in [#08, '0'..'9']) then Key := #0;
end;


Kann ich sowas auch in der Unit OHNE Form machen, wenn ja wie?

LG
Jasmin

_________________
Es ist soooo flauschig !!!
Martok
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 3661
Erhaltene Danke: 604

Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
BeitragVerfasst: Fr 22.10.10 12:14 
Wenn du uns verrätst, was genau das für ein Dialog-Toolkit ist...
Sprich: was ist Dlg und wo bekommt man das her.

Da aber Dlg.Dialog zugänglich ist, steht zu vermuten dass das auch für das Edit gilt, dem du dann einfach ein OnKeyPress zuweisen könntest :gruebel:

_________________
"The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."
Sinspin
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1338
Erhaltene Danke: 120

Win 10
RIO, CE, Lazarus
BeitragVerfasst: Fr 22.10.10 12:27 
Du hast doch schon eine Ereigniszuweisung zu OnShow, für OnKeyPress kannst du das ganz genauso machen.
Das ist dann allerdings direkt das OnKeyPress des Formulares, nicht für ein Edit etc. auf dem Form. Damit das richtig funktioniert solltest du noch KeyPreview des Formulares auf true setzen.

_________________
Wir zerstören die Natur und Wälder der Erde. Wir töten wilde Tiere für Trophäen. Wir produzieren Lebewesen als Massenware um sie nach wenigen Monaten zu töten. Warum sollte unser aller Mutter, die Natur, nicht die gleichen Rechte haben?
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19346
Erhaltene Danke: 1754

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Fr 22.10.10 12:51 
user profile iconDhakiyah hat folgendes geschrieben Zum zitierten Posting springen:
Kann ich sowas auch in der Unit OHNE Form machen, wenn ja wie?
Wenn du ein Objekt hast, kannst du darin den Eventhandler deklarieren und den dann an z.B. OnKeyPress zuweisen. Außerhalb als einzelne Prozedur geht das nicht, denn das Event braucht eine Methode und keine normale Prozedur.