Forum: Algorithmen, Datenstrukturen und Klassendesign
by himitsu,
26. Aug 2010
procedure TForm1.EditISOCodeKeyPress(Sender: TObject; var Key: Char);
begin
if not (Key in )
and (EditISOCode.SelStart = 0) then
begin
Key := #0; // Ignoriert die Tastatureingabe
StatusBar.SimpleText := 'An der ersten Stelle des ISOCodes kann nur 1, 2, 3, 4, A,B,C,D,E,F,G,H,K,L,M,N oder P stehen.';
end
else
// 2. Zeichen
Forum: Algorithmen, Datenstrukturen und Klassendesign
by himitsu,
26. Aug 2010
Hatte oben meinen Text noch etwas editiert, bzw. ausführlicher ergänzt.
Wie gedsagt, ihr müßt eure Abfragen anpassen.
- das 'G' wurde schon eingegeben und muß demnach im Edit geprüft werden
- Key und SelStart beziehen sich nur auf die aktuelle Eingabe, also die Zahlen
//if (Length(EditISOCode.Text) => 3) and (EditISOCode.Text = 'G')
// and (EditISOCode.SelStart = 3) then
if...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by himitsu,
26. Aug 2010
Eigentlich sollte das mit der 3 genauso gehn, wie mit 0 bis 2. :gruebel:
(EditISOCode.SelStart = 2)
...
(EditISOCode.SelStart = 3)
2 oder 3 ... beides geht nicht :zwinker:
ihr meint bestimmt
"wenn an 3. Stelle ein 'G' steht, und die der Cursor auf Position 4 (SelStart 3) liegt, dann darf nur #8, '0', '1', '2' oder '3' eingegeben werden"