This example reads two columns from text file saved in this format:
0-0_0_0200;R-IVECO FRANCIE, 57M
0-0_0_2500;KOSTRY/8019-57 MIST
0-00260-X-0_0_0000;PODPĚR. TRUBKA PRAVÁ
For storing is used memory table (
TdxMemTable,
QData):
procedure TFDrawingImportItems.doReading;
var
f : TextFile;
sRow : string;
aSplitted: TArray< string >;
begin
{ -- delete all rows }
if QData.Active then
begin
QData.Close;
QData.Open;
end;
{ -- open file and read data (two columns divided by ";") }
AssignFile( f, EFileName.Text );
try
Screen.Cursor := crHourGlass;
QData.DisableControls;
reset( f );
while not eof( f ) do
begin
readln( f, sRow );
{ only two columns }
aSplitted := sRow.Split( [';'], 2 );
QData.Insert;
QDataItemid.AsString := aSplitted[0];
QDataname.AsString := aSplitted[1];
QData.Post;
end;
finally
closeFile( f );
QData.EnableControls;
Screen.Cursor := crDefault;
end;
end;
Output should be:
No comments:
Post a Comment