Hallo...
Ich will ein Template für ein TEdit erstellen, damit meine ich folgendes:
Ich gebe 'alias' ein anschließend soll er im Edit 'alias "<name>" "<commands>"' anzeigen und dabei "<name>" selektieren, wenn Tab gedrückt wird soll er dann "<commands>" selektieren.
Folgenden Code hab ich schon, verfehlt aber das Ziel und dabei funktioniert auch die Aktion mit dem Tab-Button nicht:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39:
| uses StrUtils;
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); var P1, P2: Integer; begin if (Key = VK_TAB) then begin if (Pos('<', Edit1.Text) = 0) or (Pos('>', Edit1.Text) = 0) or (Pos('<', Edit1.Text) > Pos('>', Edit1.Text)) then Exit;
P1 := Pos('<', Edit1.Text) - 1; P2 := PosEx('>', Edit1.Text, P1) - P1;
Edit1.SelStart := P1; Edit1.SelLength := P2; end; end;
procedure TForm1.Edit1KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); var iLen, P1, P2: Integer; sText: string; begin iLen := Length(Edit1.Text); sText := Edit1.Text;
if (iLen = 5) and (sText = 'alias') then begin Edit1.Text := 'alias "<name>" "<command>"';
P1 := Pos('<', Edit1.Text) - 1; P2 := PosEx('>', Edit1.Text, P1) - P1;
Edit1.SelStart := P1; Edit1.SelLength := P2; end; end; |
Gruß