Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Edit-Feld formatieren und Focus auf letzten beiden Zeichen


Arne Danikowski - Mi 02.06.10 15:11
Titel: Edit-Feld formatieren und Focus auf letzten beiden Zeichen
Hallo,
ich möchte folgendes realisieren.

1.)
In einem Tabellenfeld steht eine Ziffer, die durch Punkte getrennt ist.
also zum Beispiel 5.6.10
Nun möchte ich ein BDEDIT Feld so formatieren, dass die Eingabe auch nur so mit den Punkten möglich ist. Also quasi vorgeben.
in dem Feld sollen dann auch schon die zwei Punkte (..) stehen. Durch die Eingabe der ersten Ziffer wäre es schon, direkt hinter den ersten Punkt zu springen.
Dadurch möchte ich mir die Eingabe der Punkte sparen und sicherstellen, dass die Eingabe nur richtig gemacht werden kann.

2.)
Wird der Focus auf das nächste DBEDIT Feld gewechselt (dieses soll genauso formatiert werden, wie das oben beschriebene) übernehme ich den Wert aus dem oberen DBEDIT Feld
zum Beispiel 5.6.10. Nun möchte ich automatisch den Focus auf die letzen beiden Ziffern haben (markiert zum Überschreiben). In diesem Beispiel die 10. So das der Wert sofort überschrieben werden kann. Der Wert 5.6. bleibt dabei erhalten.

Geht das?
Hat jemand sowas schon mal gemacht?

Mit freundlichen Grüßen


Moderiert von user profile iconNarses: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am Mi 02.06.2010 um 15:19


bummi - Mi 02.06.10 17:23

Ich habe nicht wirklich eine brauchbare Lösung ....


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
Maskedit2.EditMask :='9/9/99;1'
procedure TForm2.MaskEdit1Exit(Sender: TObject);
begin
  Maskedit2.Text := Maskedit1.Text;

end;

procedure TForm2.MaskEdit2Enter(Sender: TObject);
begin
  MaskEdit2.SelStart:=4;
  Maskedit2.Sellength :=2;
end;

Datenbindung zu Fuß und für die Dastellung im Gitter über

Delphi-Quelltext
1:
2:
3:
4:
5:
Feld.OnGetText
Text := MyOwnFormat(Sender)

Feld.OnSetText 
Sender.asString := StrignRepalce(Text,'.','',[reReplaceAll])


Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt