如何控制在Edit控件中的输入法???(50分)

  • 主题发起人 futureyre
  • 开始时间
F

futureyre

Unregistered / Unconfirmed
GUEST, unregistred user!
是不是设置ImeMode和ImeName属性?
我想限制在Edit中只能输入英文,可是我的ImeName中没有英文,怎么办?

还有一个问题:数组如何初始化?用const arr=array[0..2] of integer=(0,1,2);
这种方式初始化后,还能在程序中改变数组的值吗?
 
那样不行,通过设置ImeMode和ImeName属性是不能控制别人只输入指定文字的,得自己写代码,以下代码控制edit只能输入英文和数字:
procedure TChangePassFm.Edit1KeyPress(Sender: TObject
var Key: Char);
begin
if not ((Key in ['0'..'9']) or (Key in ['A'..'Z']) or
(ord(key)=8) or (ord(key)=46) or (Key in ['a'..'z'])) then
begin
beep;
Key := #0;
end;
end;
 
imemode 和imename里设置
 
常量数据初始化后是用普通方法不能修改,可以用编译器指令进行修改
 
helloqiner
说的对
 
我回答第二个问题
第一个helloqiner
说的对
定义一个变量数组
arr :array[0..2] of Integer;
用循环赋值
for I :=0 to 2 do
arr :=I;
这么写不也很简单吗
 
定义的数组在其他单元中要用到,
如果用const定义数组并初始化,好像不能修改了
如果在var部分定义,其他单元就没法用它了
如果在用到数组的过程中初始化,每次执行这个过程都会初始化数组,也不合要求,仅仅需要刚开始初始化就可以了,以后数组中就是改变后的值了
我要是有办法的,可是我不会:(
可不可以单独写一个数组初始化的过程?但是那样的话,怎么让它执行呢?
 
晕了,现在才发现发错版面了@@
谢谢大家回答,继续请教...
 
多人接受答案了。
 
顶部