diff options
author | Erich Eckner <git@eckner.net> | 2017-07-11 13:02:04 +0200 |
---|---|---|
committer | Erich Eckner <git@eckner.net> | 2017-07-11 13:02:04 +0200 |
commit | bb23ec467e7c17eea6e3a061a93e38b9f4490903 (patch) | |
tree | 9d5f0ed9f203359e301b62b6e530aba503edde98 /werteunit.pas | |
parent | d467460a03b86d3840e50f6e3821f5ef2cc826fa (diff) | |
download | epost-bb23ec467e7c17eea6e3a061a93e38b9f4490903.tar.xz |
kann jetzt auch .sif lesen
Diffstat (limited to 'werteunit.pas')
-rw-r--r-- | werteunit.pas | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/werteunit.pas b/werteunit.pas index a643a7b..fdae91a 100644 --- a/werteunit.pas +++ b/werteunit.pas @@ -371,6 +371,7 @@ var ipp: tProcess; buf: tByteArray; etwasGelesen: boolean; + s: string; begin result:=false; gibAus('... Dateien einlesen ...',1); @@ -656,6 +657,45 @@ begin close(f); etwasGelesen:=true; end; + if dateien[i] is tAndorInputDateiInfo then begin + etsiz:=dateien[i].tsiz; + + assign(f,dateien[i].Name); + reset(f,1); + seek(f,(dateien[i] as tAndorInputDateiInfo).datenStart); + tmpi:=wertGroesze(dateien[i].genauigkeit); + if tmpi = sizeOf(wgen) then + blockread(f,werte[0],dateien[i].xsteps*dateien[i].tsiz*tmpi) + else case dateien[i].genauigkeit of + gSingle: + for j:=0 to dateien[i].xsteps*dateien[i].tsiz-1 do begin + blockread(f,tmps,tmpi); + werte[j]:=tmps; + end; + gDouble: + for j:=0 to dateien[i].xsteps*dateien[i].tsiz-1 do begin + blockread(f,tmpd,tmpi); + werte[j]:=tmpd; + end; + gExtended: + for j:=0 to dateien[i].xsteps*dateien[i].tsiz-1 do begin + blockread(f,tmpe,tmpi); + werte[j]:=tmpe; + end; + end{of case}; + try + readAnAndorString(f,s,false); + except + s:='falsch'; + end; + if s<>'' then begin + gibAus('Syntax-Fehler in '''+dateien[i].Name+''': vmtl. zu viele/wenige Daten.',3); + closefile(f); + exit; + end; + close(f); + etwasGelesen:=true; + end; if not etwasGelesen then begin gibAus('Ich habe diese Runde keine Daten gelesen!',3); exit; |