summaryrefslogtreecommitdiff
path: root/werteunit.pas
diff options
context:
space:
mode:
Diffstat (limited to 'werteunit.pas')
-rw-r--r--werteunit.pas40
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;