从Stringlist读取从文件中读取

时间:2013-12-19 16:10:07

标签: delphi

我有一个函数可以从如下文件中读取数据:

procedure ReadDatafromFile (const aFilename : String; aparameterList : TList );
var  aIniFile : TInifile;
 begin
     aIniFile :=TInifile.create(aFilename);
    data1 :=  ReadInteger(......);
    .....
     ....
 end; 

现在,该文件的内容作为StringList存在于程序的其他位置。我想重用现有的代码,我想以这样的方式编写它:

...
MydataStringList.SaveToFile('c:\temp\tempfile.txt');
ReadDatafromFile( MydataStringList, myparameterList);
... 

是否有任何智能解决方案可以重用现有函数并创建一个重载版本,该版本接受StringList作为参数?

1 个答案:

答案 0 :(得分:3)

这是可行的:

procedure ReadDataFromStrings(aFileStrings: TStrings; aParameterList: TList);
  overload;
begin
  if aParameterList <> nil then
    // Add aFileStrings to aParameterList
end;

procedure ReadDataFromFile(const aFileName: TFileName; aParameterList: TList);
  overload;
var
  Strings: TStringList;
begin
  Strings := TStringList.Create;
  try
    Strings.LoadFromFile(aFileName);
    ReadDataFromStrings(Strings, aParameterList);
  finally
    Strings.Free;
  end;
end;

除了创建此本地Strings变量外,您还可以使用已经存在的全局MydataStringList变量,以满足您的需求。