如何在delphi 7中获取String的char?

时间:2016-02-16 07:48:12

标签: string delphi

这应该是轻松的,但我无法让它发挥作用。 我来自java所以maby我在这里思考错误。 我想要做的是我有一个字母,有两个字母,如't4'或'pq'。 现在我只想将字符串中的每个字符串作为自己的字符串。  所以我这样做:

firstString := myString[0];

但我甚至没有编译。 所以我认为他们开始计算形式1并将1作为索引。 现在我在while循环中执行此操作,并且第一次通过它时它工作正常。然后第二次结果只是空或错数字。 我在这里错过了什么? (我也试过复制,但这也不起作用!)

while i < 10 do
          begin
                te := 'te';
                a := te[1];
                b := te[2];
               i := i +1;
          end;

第一个循环a是't',b是'e',正如我所料。第二次a是''而b'不是'我不明白!

1 个答案:

答案 0 :(得分:1)

字符串是从1开始的,而不是从零开始的。将StrUtils添加到您的Uses列表(对于DupeString)之后,请尝试以下操作:

var
  MyString : String;
begin
  MyString := '12345';
  Caption := StringOfChar(MyString[1], 8) + ':' + DupeString(Copy(MyString, 3, 2), 4);

你可以将它拆分为更容易理解,当然:

var
  MyString,
  S1,
  S2,
  S3: String;
begin
  MyString := '12345';
  S1 := StringOfChar(MyString[1], 8);
  S2 := Copy(MyString, 3, 2);
  S3 := DupeString(S2, 4);
  Caption :=  S1 + ':' + S3;