我在Com里用的, 如下程序是否可以直接用WideString不用AnsiStringvar WStr:WideString; W:WideChar; begin WStr:='sadkfkdsfjkjasdjfdsajf'; W:=WStr[1]; if W in ['0'..'9'] then ShowMessage('asdfsafdsaf'); end; 这个程序有错误! 如果换了是String和char就可以,请问如只用WideString的话, 怎么改!
procedure TForm1.Button1Click(Sender: TObject); var WStr: WideString; begin WStr := '1sadkfkdsfjkjasdjfdsajf'; case WStr[1] of '0'..'9': ShowMessage('asdfsafdsaf'); end; end;
procedure TForm1.Button1Click(Sender: TObject); var WStr: WideString; begin WStr := '1sadkfkdsfjkjasdjfdsajf'; if WStr[1] in [WideChar('0')..WideChar('9')] then ShowMessage('asdfsafdsaf'); end;
S: AnsiString;
begin
S := '强制转换~~';
Caption := IntToStr(Length(WideString(S)));
end;
widestring - > string
应该是
widestr: widestring;
begin
widechartostring(pwidechar(widestr));
end;
如下程序是否可以直接用WideString不用AnsiStringvar
WStr:WideString;
W:WideChar;
begin
WStr:='sadkfkdsfjkjasdjfdsajf';
W:=WStr[1];
if W in ['0'..'9'] then
ShowMessage('asdfsafdsaf');
end;
这个程序有错误!
如果换了是String和char就可以,请问如只用WideString的话,
怎么改!
var
WStr: WideString;
begin
WStr := '1sadkfkdsfjkjasdjfdsajf';
case WStr[1] of
'0'..'9': ShowMessage('asdfsafdsaf');
end;
end;
var
WStr: WideString;
begin
WStr := '1sadkfkdsfjkjasdjfdsajf';
if WStr[1] in [WideChar('0')..WideChar('9')] then ShowMessage('asdfsafdsaf');
end;