var a : word ; dd :string ; i: integer ; begin dd := '我是天上一片去asdfg'; for i:= 0 to length(widestring(dd)) do begin if length(String(Copy(widestring(dd),i,1))) >1 then Application.MessageBox('中文','',0) else Application.MessageBox('英文','',0); end ; 第二个问题,有关字库, 不是一下子解决的
var a : word ; dd :string ; i: integer ; begin dd := '我是天上一片去asdfg'; for i:= 0 to length(widestring(dd)) do begin if length(String(Copy(widestring(dd),i,1))) >1 then Application.MessageBox('中文','',0) else Application.MessageBox('英文','',0); end ; dd是用户可以随意加入的文字,在中文和英文字符再分别在他们面前加上特殊符号,是<中文>+(用户的输入文字), <英文>+(用户输入的文字)
繁体转化为简体 复杂点。字库对应才能解决,否则就不需要‘南极星’这些转换内码的软件了。猜测: 你是否在做一些财务方面的软件,要将123或者一二转换成 壹 贰 叁, 如果是这样的话,写一个小的函数就可以了。if copy(string1,1,1)='一' then result:='壹';
dd :string ;
i: integer ;
begin
dd := '我是天上一片去asdfg';
for i:= 0 to length(widestring(dd)) do
begin
if length(String(Copy(widestring(dd),i,1))) >1 then
Application.MessageBox('中文','',0)
else
Application.MessageBox('英文','',0); end ;
第二个问题,有关字库, 不是一下子解决的
bytetype 它可以判断一个字符串中,某个 Char 是单个字母,还是双字节的前一位或后一位。mbSingleByte 单字母mbLeadByte 双字节第一位mbTrailByte 双字节第二位
dd :string ;
i: integer ;
begin
dd := '我是天上一片去asdfg';
for i:= 0 to length(widestring(dd)) do
begin
if length(String(Copy(widestring(dd),i,1))) >1 then
Application.MessageBox('中文','',0)
else
Application.MessageBox('英文','',0); end ;
dd是用户可以随意加入的文字,在中文和英文字符再分别在他们面前加上特殊符号,是<中文>+(用户的输入文字),
<英文>+(用户输入的文字)
你是否在做一些财务方面的软件,要将123或者一二转换成 壹 贰 叁,
如果是这样的话,写一个小的函数就可以了。if copy(string1,1,1)='一' then result:='壹';
猜测错误,楼主要作的是万能语言播放器,不是这么个简单判断就能解决的