Delphi插入字符串时出现问题,不兼容类型错误

时间:2016-02-10 18:22:20

标签: delphi delphi-2010

procedure TTelephoneNumberConverter.btnConvertClick(Sender: TObject);
var
  number: string;
  dupe: string;
  converted: string;
begin
  number := edtInput.Text ;
  dupe := Copy(number, 4, 1) ;
  converted := Insert(dupe , number , 4 ) ;
  pnlOutput.Caption := converted;
end;

好的家伙我刚才有一个关于Delphi 2010的快速问题,并将字符串插入到其他字符串中。这一小段代码的目的是获取特定字符串中的第4个字符并复制它并将其添加到特定字符旁边,例如12345 - > 123445

唯一的问题是我一直收到错误:

  

不兼容的类型'字符串'和'程序,无类型指针或无类型参数'。

我可能错过了一些小而愚蠢的东西,但如果有人能回答我的问题,我会很感激。

1 个答案:

答案 0 :(得分:2)

Insert是一个修改其第二个参数的过程。

它的签名是:

procedure Insert(Source: string; var Dest: string; Index: Integer);

您看到的编译器错误是因为Insert没有返回任何内容,因此不能是赋值的rhs。

因此,您的代码应为:

converted := number;
Insert(dupe, converted, 4);

Copy对于一个角色来说是过度杀伤力。请改用[]

dupe := number[4];