有一个CHAR型数组
CHARARRAY[0..16]OF CHAR=(#$30,#$60,#$67,#$98,#$90,#$30,#$60,#$67,#$98,#$90#$30,#$60,#$67,#$98,#$90,#$88)
我如何通过一个字符串‘30606798903060679890306067989088’将对应的值赋给对应数组下标的数组中,
如我想得到CHARARRAY[0]:=#$30;(该语法通不过)

解决方案 »

  1.   

    const
      CHARARRAY: array[0..16] of Char = (#$30, #$60, #$67, #$98, #$90, #$30, #$60, #$67, #$98, #$90, #$30, #$60, #$67, #$98, #$90, #$88, #$88);
      

  2.   

    回二楼:
    #$60是单引号;
    回三楼:
    我想要的是通过截取字符串来赋值 如通过字符串Str:='30606798903060679890306067989088’,
    CHARARRAY[0]:=#$30;
    CHARARRAY[1]:=#$60;
    CHARARRAY[2]:=#$67;
    ……
    ……
    CHARARRAY[2]:=#$90;
    CHARARRAY[16]:=#$88;(编译可以通过)
    因为CHARARRAY 为CHAR 所以不能将语句写为CHARARRAY[0]:=#$+COPY(STR,1,2)
    请问有什么好的方法。
      

  3.   

    那就这样了。保存的是Charvar
      i: Integer;
      S: string;
      CharArr: array of Char;
    begin
      S := '30606798903060679890306067989088';
      SetLength(CharArr, Length(S));
      for i := 0 to Length(S) - 1 do
        CharArr[i] := S[i + 1];
    end;
      

  4.   

    回楼上:
        你这种方法是不行的,因为我不能将30拆成两个字符,我要的到的是#$30,#$60………………
    我已经有了解决方法,有兴趣可以调试一下。
    CHARARRAY[0]:=chr(StrToIntDef('$'+COPY(STR,1,2),10));