Widestring与AnsiString之间怎么相互转换

解决方案 »

  1.   

    var
      S: AnsiString;
    begin
      S := '强制转换~~';
      Caption := IntToStr(Length(WideString(S)));
    end;
      

  2.   

    直接赋值就可以了,Delphi自动替你转化。
      

  3.   

    上面是ansistring->widestring
    widestring - > string
    应该是
    widestr: widestring;
    begin
      widechartostring(pwidechar(widestr));
    end;
      

  4.   

    我在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的话,
    怎么改!
      

  5.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      WStr: WideString;
    begin
      WStr := '1sadkfkdsfjkjasdjfdsajf';
      case WStr[1] of
        '0'..'9': ShowMessage('asdfsafdsaf');
      end;
    end;
      

  6.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      WStr: WideString;
    begin
      WStr := '1sadkfkdsfjkjasdjfdsajf';
      if WStr[1] in [WideChar('0')..WideChar('9')] then ShowMessage('asdfsafdsaf');
    end;