Delphi ';没有重载版本';替换字符串列表中的字符串时出错
我试图替换TStringList中的字符,但编译器给了我一个“无重载版本”错误。这是我的密码Delphi ';没有重载版本';替换字符串列表中的字符串时出错,delphi,Delphi,我试图替换TStringList中的字符,但编译器给了我一个“无重载版本”错误。这是我的密码 procedure TForm1.bImportCSVClick(Sender: TObject); var aCSVFile : TStringList; aCSVLine : TStringList; aString : string; begin if OpenDialog1.execute then begin aCSVFile := TStringList.Crea
procedure TForm1.bImportCSVClick(Sender: TObject);
var
aCSVFile : TStringList;
aCSVLine : TStringList;
aString : string;
begin
if OpenDialog1.execute then
begin
aCSVFile := TStringList.Create;
aCSVLine := TStringList.Create;
try
aCSVFile.LoadFromFile(OpenDialog1.FileName);
aCSVFile := StringReplace(aCSVFile, ' ', '', [rfReplaceAll]); //Error
aCSVLine.Delimiter := ';';
for aString in aCSVFile do
begin
aCSVLine.DelimitedText := aString;
ClientDataSet1.InsertRecord([aCSVLine[0]]);
end;
finally
aCSVFile.Free;
aCSVLine.Free;
end;
end;
我尝试了以下方法:
for aString in aCSVFile do
begin
aCSVLine.DelimitedText := aString;
aCSVLine[0] := StringReplace(aCSVLine[0], ' ', '', [rfReplaceAll]);
ClientDataSet1.InsertRecord([aCSVLine[0]]);
end;
的第一个参数的类型为StringReplace
。您通过string
李>TStringList
的返回值属于StringReplace
类型。您分配给string
李>TStringList
for i := 0 to aCSVFile.Count-1 do
aCSVFile[i] := StringReplace(aCSVFile[i], ' ', '', [rfReplaceAll]);
至于您的正确代码是什么,我不知道,因为您没有指定要实现什么。字符串列表是字符串列表。您需要从列表中选择一个字符串来更改其字符。您希望使用列表中的哪个字符串进行操作?它是每行的第一个字符串编译器消息的意思与它所说的完全相同。你的问题是什么?就是这个。只需将“”替换为“”(我需要从poscode中删除空格)非常感谢