如何写判断一个字符串是汉字,代码或拼音首字的涵数 ( 积分: 20 )

  • 主题发起人 主题发起人 LJH1978
  • 开始时间 开始时间
L

LJH1978

Unregistered / Unconfirmed
GUEST, unregistred user!
返回0,汉字
1,代码
2,拼音首字,谢谢
 
可以通过ASCII码判断
for i:=1 to Length(edit.text) do
if edit.text > #160 then
begin
return 0
end还有2种情况你自己查下ASCII码表吧
 
代码和拼音有什么区别?
----我没有灌水
 
function ByteType(const S: string; Index: Integer): TMbcsByteType;
begin
Result := mbSingleByte; //默认为英文字符
if SysLocale.FarEast then //操作系统是亚洲版本
Result := ByteTypeTest(PChar(S), Index-1);
end;

function ByteTypeTest(P: PChar; Index: Integer): TMbcsByteType;
var
I: Integer;
begin
Result := mbSingleByte;
if (P = nil) or (P[Index] = #$0) then Exit;
if (Index = 0) then
begin
if P[0] in LeadBytes then Result := mbLeadByte;
end
else
begin
I := Index - 1;
while (I >= 0) and (P in LeadBytes) do Dec(I);//这里我还想不通为什么要用循环,而不是直接判断
if ((Index - I) mod 2) = 0 then Result := mbTrailByte
else if P[Index] in LeadBytes then Result := mbLeadByte;
end;
end;
 
代码就是纯数字,或首字有英文字母,其他为数字

拼首首字 中国>ZG
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
916
SUNSTONE的Delphi笔记
S
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
后退
顶部