0
文字を数字に制限する方法はありますか?スペースを入れずに10にして、もう一度編集する方法はありますか? それは電話番号のために、そして名前にスペースを必要としません、それをする方法を考えていません。実装するためのいくつかの方法を試しても、動作しないコードを見つけました ここに私が見つけたものは何ですか?スペースがないためどのように妥当性を検証するinno setupの数字とテキストのみを編集しますか?
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if Key in ['0'..'9'] then
Key := #0;
end;
と、この:いけないためここでは
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if (Key in ['a'..'z']) or (Key in ['A'..'Z']) then
Key := #0;
end;
は、数字を許可
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if key = Char(VK_SPACE) then
Key := #0;
end;
は、INNOで同様のものを実装することができますか?
文字を制限するために、EDIT1のMaxLengthプロパティを編集することができます 'TEdit'には** **キャプションプロパティを持っていません:) **テキスト**プロパティを使用します! 'copy(...)'は必要ありません。代わりに 'key:=#0'を使用してください。 –
私は** Text **プロパティと** Caption **プロパティは同等であると思います。 ** KeyPress **イベントで 'key:=#0'を知りませんでした。 – Vuio
**また注意してください:**あなたは' Edit1KeyPress() 'イベントの中にいます。これは、あなたがコピー(...)をした瞬間に 'Edit1.Text'が変更されていないことを意味します!!!最後のcharを削除して有効なcharを削除します。 'Key:= 0;を設定しないで、最後に終了した文字の後ろに数字を追加しました:START:** abcd ** removed' d'。 5 Edit1.Text = ** abc5 **の結果。あなたの答えを改善するか、削除してください。 –