Delphi 插入字符串时出现问题,类型不兼容错误
Delphi problems inserting a string, Incompatible types error
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
唯一的问题是我不断收到错误消息:
Incompatible types 'string' and 'procedure, untyped pointer or untyped parameter'.
我可能遗漏了一些小而愚蠢的东西,但如果有人可以回答我的问题,我将不胜感激。
Insert
是一个修改其第二个参数的过程。
它的签名是:
procedure Insert(Source: string; var Dest: string; Index: Integer);
您看到的编译器错误的发生是因为 Insert
没有 return 任何东西,因此不能成为赋值的右侧。
因此您的代码应该是:
converted := number;
Insert(dupe, converted, 4);
Copy
对单个字符来说太过分了。使用 []
代替:
dupe := number[4];
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
唯一的问题是我不断收到错误消息:
Incompatible types 'string' and 'procedure, untyped pointer or untyped parameter'.
我可能遗漏了一些小而愚蠢的东西,但如果有人可以回答我的问题,我将不胜感激。
Insert
是一个修改其第二个参数的过程。
它的签名是:
procedure Insert(Source: string; var Dest: string; Index: Integer);
您看到的编译器错误的发生是因为 Insert
没有 return 任何东西,因此不能成为赋值的右侧。
因此您的代码应该是:
converted := number;
Insert(dupe, converted, 4);
Copy
对单个字符来说太过分了。使用 []
代替:
dupe := number[4];