I have a text file with specified structure, namely (for each line): char, space, char, space, double value, endline. For instance
q w 1.23
e r 4.56
t y 7.89
What is the proper way to "extract" those values in Free Pascal?
FreePascal has the function SScanF in SysUtils (you might know if from other languages..)
I've modified RRUZ's example to show how to use it.
uses SysUtils;
type
TData=object
Val1 ,
Val2 : String;
Val3 : Double;
end;
procedure ProcessFile(aFileName:String);
var
F : Text;
LData : TData;
Line : String;
begin
DecimalSeparator:='.';
AssignFile(F,aFileName);
Reset(F);
while not eof(F) do
begin
ReadLn(F,Line);
SScanf(Line,'%s %s %f',[@LData.Val1,@LData.Val2,@LData.Val3]);
//do something with the data
WriteLn(LData.Val1);
WriteLn(LData.Val2);
WriteLn(LData.Val3);
end;
end;
begin
ProcessFile('C:\Bar\Foo\Data.txt');
Writeln('Press Enter to exit');
Readln;
end.