procedure TForm1.Button1Click(Sender: TObject);
var
  ShortS: shortString;
  AnsiS: AnsiString;
  WideS: WideString;
begin
  ShortS := 'abcdefghijklmn';
  AnsiS := 'abcdefghijklmn';
  WideS := 'abcdefghijklmn';  if ShortS[3]='c' then
    ShowMessage('ShortOK');  if AnsiS[3]='c' then
    ShowMessage('AnsiOK');  if WideS[3]='c' then
    ShowMessage('WideOK');  ShortS := '中华人民共和国';
  AnsiS := '中华人民共和国';
  WideS := '中华人民共和国';  if ShortS[3]='人' then
    ShowMessage('ShortOK');  if AnsiS[3]='人' then
    ShowMessage('AnsiOK');  if WideS[3]='人' then
    ShowMessage('WideOK');end;运行结果:
    ShortOK
    AnsiOK
    WideOK
    WideOK
你明白AnsiString和WideString的不同了吧

解决方案 »

  1.   

    String[11]是指String类型的一个数组
    ShortString是一个最大为255各字符的字符串类型
    AnsiString一般情况下Delphi会把它与String类型同等但如果使用了$H-,$LongString编译器指示字String类型就会与ShortString类型相同
    WideString与AnsiString相似,AnsiString存放的是AnsiChar字符而WideString存放的是WideChar(16位)的Unicode字符
      

  2.   

    String后加上数字这就是ShortString类型
    象String[11]
    这个下标值最大为255
    如大于255编译不通过