Dataframe Lazarus:如何将数据从文本文件导入到表中?
我得到了一个文本文件,其中包含列格式的数据,由Dataframe Lazarus:如何将数据从文本文件导入到表中?,dataframe,import,lazarus,Dataframe,Import,Lazarus,我得到了一个文本文件,其中包含列格式的数据,由分隔(此文件的来源是使用R创建的数据框,并保存为文本文件) 我想将这些dataframe导入到Lazarus中声明的表中。 这就是我开始做的: Type TRunning=record Date, Score: array [1..3] of integer; ## since I have 3 datas per name Results: array [1..3] of double; Var Run : array [1..1
分隔代码>(此文件的来源是使用R创建的数据框,并保存为文本文件)
我想将这些dataframe导入到Lazarus中声明的表中。
这就是我开始做的:
Type
TRunning=record
Date, Score: array [1..3] of integer; ## since I have 3 datas per name
Results: array [1..3] of double;
Var
Run : array [1..100] of TRunning ## since I have a total of 100 names
你能帮我从文本文件导入数据吗?使用TStringList.LoadFromFile()
它在文件中创建stringlist
表单每行,然后
使用ExtractStrings:
procedure TForm1.FormCreate(Sender: TObject);
var
rowlist,collist:TStringList;
i:integer
begin
rowlist:=TStringList.Create;
collist:=TStringList.Create;
rowlist.LoadFromFile('filename');
for i:=0 to rowlist.Count-1 do
begin
ExtractStrings([';'],[''],PChar(rowlist.Strings[i]),collist);
//fill your table with collist
end;
end;
非常感谢ExtractString函数。但是如何使用“collist”字符串列表填充表格?(这是我最难做到的一步)你说的桌子是什么意思?你是说StringGrid吗?我是指在我的记录中声明的数组。例如,我想通过键入:run[2]。date[3]来访问与第三个日期相对应的第二次运行(即第二个名称)的值,您可以使用run[2]。date[3]:=collist.Strings[I]
procedure TForm1.FormCreate(Sender: TObject);
var
rowlist,collist:TStringList;
i:integer
begin
rowlist:=TStringList.Create;
collist:=TStringList.Create;
rowlist.LoadFromFile('filename');
for i:=0 to rowlist.Count-1 do
begin
ExtractStrings([';'],[''],PChar(rowlist.Strings[i]),collist);
//fill your table with collist
end;
end;