用ByteType() Function Judge(S:String):Boolean; var i: integer; begin result:= False; for i:= 0 to Length(S)-1 do begin if (ByteType(S,i) <> mbSingleByte) then begin result:= True;//含有中文字符或其它双字节字符 break; end; end; end;
function GetTypes(Str : string;Index : byte) : string; var i : integer; begin if index > 0 then begin if (ByteType(str,index) <> mbSingleByte) then result := '中文字符或其它双字节字符' else if str[index] in ['0'..'9'] result := '数字' else result := '字母'; end else result := ''; end;
不好意思,这段代码把 var i : integer 去掉
TO sxy_9761() 写的习惯了吧?!哈哈~~~顺手就写上去了。 同意你的方法!
为什么输入为空会出错,停留在 else if str[index] in ['0'..'9'] then
Function Judge(S:String):Boolean;
var i: integer;
begin
result:= False;
for i:= 0 to Length(S)-1 do begin
if (ByteType(S,i) <> mbSingleByte) then begin
result:= True;//含有中文字符或其它双字节字符
break;
end;
end;
end;
var
i : integer;
begin
if index > 0 then
begin
if (ByteType(str,index) <> mbSingleByte) then
result := '中文字符或其它双字节字符'
else if str[index] in ['0'..'9']
result := '数字'
else result := '字母';
end else
result := '';
end;
var
i : integer
去掉
写的习惯了吧?!哈哈~~~顺手就写上去了。
同意你的方法!
else if str[index] in ['0'..'9'] then