如何将汉字转化为ASCII码

hualanshi 2004-01-11 12:26:50
我现在做的程序要求限制用户输入输入Edit中的字符必须为汉字,请问在如何实现?
万分着急!
请同仁们看到的话速回,小子不胜感激!
...全文
447 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
wwyf 2004-07-23
  • 打赏
  • 举报
回复
割了吧,已经烧焦了。 -----《大话西游》
fsybaby 2004-07-07
  • 打赏
  • 举报
回复
我警告你,快点结贴
redlegend_126_com 2004-07-02
  • 打赏
  • 举报
回复
哈哈,我有办法了!看代码

function HaveGB2312(const temp:string):boolean;
var
s:string;
w:widestring;
begin
w:=temp;
s:=temp;
if length(w)=length(s) then //这样可以判断出该字符中是否包含双字节的字符
result:=false
else
result:=true;
end;

很简单的,不用楼上那样麻烦吧!
exu 2004-06-20
  • 打赏
  • 举报
回复
从TEDit继承,处理WM_CHAR
eliphe 2004-05-13
  • 打赏
  • 举报
回复
不用解释:


var
a:string;

begin
a:=edit1.text;
for i:=1 to length(a) do
begin
if (i mod 2 <> 0) and (ord(a[i])>128) then continue; // 每个汉字占2字节,且汉字的第一个字节的ASCII码>128,而英文<128
if i mod 2=0 then continue;
end;
if i<>length(a) then ERROR;//如果不是正常结束循环则发出错误信息
end;

就这样做 .
zhxfzhxf1 2004-04-29
  • 打赏
  • 举报
回复
同意 ifencheng(李奉城)
qizhanfeng 2004-04-23
  • 打赏
  • 举报
回复
: cll007(gazo)
: devil_li()
两人的合在一起
chenziqing030 2004-04-22
  • 打赏
  • 举报
回复
up
SydPink 2004-04-21
  • 打赏
  • 举报
回复
我怎么老觉得有人在 程序这个领域里歧视中文呢!!!!和英文有什么区别?

Edit1KeyPress(Sender: TObject; var Key: Char);
不能防止PASTE。。放到 OnChange里去呢?
LightJie 2004-04-20
  • 打赏
  • 举报
回复
自己做个控件
fsybaby 2004-01-29
  • 打赏
  • 举报
回复
结贴吧
dqzhz 2004-01-28
  • 打赏
  • 举报
回复
up
myblind 2004-01-23
  • 打赏
  • 举报
回复
汉字是双字节码,OnKeyPress不能判断。
因为用户肯定是用输入法输入的,按的肯定是英文。
fsybaby 2004-01-23
  • 打赏
  • 举报
回复
这个我会!!!
碰巧我刚刚也遇到了类似的问题;


var
a:string;

begin
a:=edit1.text;
for i:=1 to length(a) do
begin
if (i mod 2 <> 0) and (ord(a[i])>128) then continue; // 每个汉字占2字节,且汉字的第一个字节的ASCII码>128,而英文<128
if i mod 2=0 then continue;
end;
if i<>length(a) then ERROR;//如果不是正常结束循环则发出错误信息
end;


heartache 2004-01-20
  • 打赏
  • 举报
回复
OnMouse之类事件和输入相关的时间OnKeyPress,OnEnter,OnExit中都检测一下Text
只有不是中文就Clear......

似乎更黑。。。
ehom 2004-01-20
  • 打赏
  • 举报
回复
汉字和ASCII码无关系
XXSingle 2004-01-19
  • 打赏
  • 举报
回复
没办法。。。。黑就黑点吧
,在onchange事件中更黑
LightJie 2004-01-16
  • 打赏
  • 举报
回复
在离开输入焦点时判断,不正确就把输入框设为焦点.不过这样有点太黑了!
devil_li 2004-01-16
  • 打赏
  • 举报
回复
不用判断ASCII码,这样就行了:
在确定的按钮click事件中写:
var
WS:WideString;
begin
WS:=Edit1.Text;
if Odd(Length(Edit1.Text)) or (Length(WS)<>(Length(Edit1.Text) div 2) ) then
showMessage('必须输入中文');
end;
lifencheng 2004-01-13
  • 打赏
  • 举报
回复
在onexit事件中,写个检查EDIT中是否为汉字的代码,不就行了,具体代码网络上多的要命,就不写了
加载更多回复(4)

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧