掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
FMXのTNumberBoxでカンマ編集 (ID:151297)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
キャレット位置気にしないって事は、電卓みたいのが欲しいのかな? procedure TForm2.FormCreate(Sender: TObject); begin //Edit の 文字の色を背景色と同じにして //上に Label を乗せる //入力は Edit で 表示を Label で行う Label1.Text := ''; Edit1.Text := ''; Edit1.FilterChar := '1234567890'; //0-9のみ Edit1.TextSettings.FontColor := TAlphaColorRec.White; Label1.TextAlign := TTextAlign.Trailing; Label1.Position := Edit1.Position; Label1.Width := Edit1.Width; Label1.Height := Edit1.Height; end; procedure TForm2.Label1Click(Sender: TObject); begin Edit1.SetFocus; end; procedure TForm2.Edit1KeyDown(Sender: TObject; var Key: Word; var KeyChar: Char; Shift: TShiftState); begin case Key of 37: Key := 0; //← 39: Key := 0; //→ end; end; procedure TForm2.Edit1KeyUp(Sender: TObject; var Key: Word; var KeyChar: Char; Shift: TShiftState); var I,J: Integer; S1,S2: String; begin if (KEY = 0) or (KEY = 8) then begin S1 := Edit1.Text; //3行毎に , を入れる S2 := ''; J := 4 - (Length(S1) mod 4); for I := 1 to Length(S1) do begin S2 := S2 + S1[I]; J := (J + 1) mod 4; if (J=0) and (I <> Length(S1)) then S2 := S2 + ','; end; Label1.Text := S2; end; end; こんだけ
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.