Memo不支持UniCode,建议使用TNT控件的Memo就可以达你的要求. 当然,还有一个笨办法 procedure TForm1.Memo1Exit(Sender: TObject); begin Memo1.Text:=AnsiReplacestr(Memo1.Text,',',','); end;
procedure TForm1.Memo1Change(Sender: TObject); begin memo1.Text:=AnsiReplacestr(memo1.Text,',',','); memo1.SelStart:= length(memo1.Text); end;
VCL组件不支持unicode的,可以用楼上的替换方法,也可以自己写函数完成
现在程序的要求是 要求能输入1~9, '-' , ',' 回车,backspace 我在keypress中写了 if not ((Key In ['0'..'9',chr(8),#13,',','-']) or (Key in [#8,#3,#22,#24])) then begin key:=#0; exit; end; 希望能同时具有这些功能 ?谁能指导一下? tnt控件是有 不熟悉啊 给个简单例子吧?
现在程序的要求是 要求能输入1~9, '-' , ',' 回车,backspace 我在keypress中写了 if not ((Key In ['0'..'9',chr(8),#13,',','-']) or (Key in [#8,#3,#22,#24])) then begin key:=#0; exit; end; 希望能同时具有这些功能 ?谁能指导一下? tnt控件是有 不熟悉啊 给个简单例子吧?或者在onkeypress中的 key的值是多少=‘,’也行
可以输入数字,退格,回车,以及, procedure TForm1.Memo1KeyPress(Sender: TObject; var Key: Char); begin if not (key in ['0'..'9']) and (key <> #8) and (key <> #13) and (key <> ',') then key := #0; end;
可以输入数字,退格,回车,以及,和,procedure TForm1.Memo1KeyPress(Sender: TObject; var Key: Char); begin if not (key in ['0'..'9']) and (key <> #8) and (key <> #13) and (key <> ',') and (key <> #163) then key := #0; end;
tnt控件不熟悉啊 给个简单例子吧?或者在onkeypress中怎么处理一下?
最关键的是要把全角的',',转成半角' 同时又能输入数字回车,backspace等等
procedure TForm1.Memo1KeyPress(Sender: TObject; var Key: Char); begin if key= #163 then key := ','; if not (key in ['0'..'9']) and (key <> #8) and (key <> #13) and (key <> ',') then key := #0; end;
当然,还有一个笨办法
procedure TForm1.Memo1Exit(Sender: TObject);
begin
Memo1.Text:=AnsiReplacestr(Memo1.Text,',',',');
end;
begin
memo1.Text:=AnsiReplacestr(memo1.Text,',',',');
memo1.SelStart:= length(memo1.Text);
end;
要求能输入1~9, '-' , ',' 回车,backspace
我在keypress中写了
if not ((Key In ['0'..'9',chr(8),#13,',','-']) or (Key in [#8,#3,#22,#24])) then begin key:=#0; exit; end; 希望能同时具有这些功能 ?谁能指导一下? tnt控件是有 不熟悉啊 给个简单例子吧?
要求能输入1~9, '-' , ',' 回车,backspace
我在keypress中写了
if not ((Key In ['0'..'9',chr(8),#13,',','-']) or (Key in [#8,#3,#22,#24])) then begin key:=#0; exit; end; 希望能同时具有这些功能 ?谁能指导一下? tnt控件是有 不熟悉啊 给个简单例子吧?或者在onkeypress中的 key的值是多少=‘,’也行
可以输入数字,退格,回车,以及,
procedure TForm1.Memo1KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['0'..'9']) and (key <> #8) and (key <> #13) and (key <> ',') then
key := #0;
end;
begin
if not (key in ['0'..'9']) and (key <> #8) and (key <> #13) and (key <> ',') and (key <> #163) then
key := #0;
end;
begin
if key= #163 then key := ',';
if not (key in ['0'..'9']) and (key <> #8) and (key <> #13) and (key <> ',') then
key := #0;
end;