> For example, here's a FORTRAN format I need to emulate: > > FORMAT(I3,I7,2X,A25,1X,F6.2,1X,F7.2,3(1X,I4),1X,F4.1,1X,I1) > > On a single line, I begin with two integer variables, skip > two spaces, > one string variable, one space followed by a real variable, skip a > space, etc. > > I know of examples that involve treating each line as a > character array, > but I cannot find them now. I also know how to specify write > formats, > but have seen no examples of applying that to reading lines. >
Another approach: Function eatchars(var s:string; i:integer):string; Begin Result:=copy(s,1,i); Delete(s,1,i); End; ... Readln(line); i1:=StrToInt(eatchars(line,3)); //I3 i2:=StrToInt(eatchars(line,7)); //I7 eatchars(line,2); //X2 s1:=eatchars(line,25); //A25 eatchars(line,1); //X1 r1:=StrToFloat(eatchars(line,7); //F6.2 eatchars(line,1); //X1 r2:=StrToFloat(eatchars(line,8); //F7.2 eatchars(line,1); //X1 i3:=StrToInt(eatchars(line,4); //I4 etc... Ludo -- _______________________________________________ Lazarus mailing list [email protected] http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
