diff options
Diffstat (limited to 'epostunit.pas')
-rw-r--r-- | epostunit.pas | 33 |
1 files changed, 27 insertions, 6 deletions
diff --git a/epostunit.pas b/epostunit.pas index 208e2b7..e52f7cc 100644 --- a/epostunit.pas +++ b/epostunit.pas @@ -1052,6 +1052,7 @@ var ipp,ipap: tProcess; buf: array of byte; s,t: string; + sl: tMyStringList; begin result:=false; if length(Dateien)=0 then begin @@ -1359,18 +1360,31 @@ begin assign(tf,dateien[i].Name+'numberoftimesteps'); reset(tf); - readln(tf,dateien[i].tsiz); + readln(tf,tmpi); close(tf); - inc(dateien[i].tsiz); + dateien[i].tsiz:=tmpi+1; + + sl:=tMyStringlist.create; + sl.loadFromFile(dateien[i].Name+'../xrom.ini'); + sl.grep('^\s*Pulse[12]\.a0\s*=.*[^0 ].*$'); + if sl.count=0 then begin + gibAus(''''+s+''' enthält keinen Puls, den ich erkenne!',3); + exit; + end; + s:=sl[0]; + sl.free; + erstesArgument(s,'Pulse'); + dateien[i].groeszenFaktor:=strtoint(erstesArgument(s,'.')); assign(tf,dateien[i].Name+'dt'); reset(tf); - readln(tf,dateien[i].tstop); + readln(tf,tmpe); close(tf); + tmpe:=tmpe*dateien[i].groeszenFaktor; dateien[i].tstart:=0; - dateien[i].tstop:=dateien[i].tstart+dateien[i].tstop*(dateien[i].tsiz-1)/2/pi; + dateien[i].tstop:=tmpe/2/pi*(dateien[i].tsiz-1); dateien[i].xstart:=0; - dateien[i].xstop:=dateien[i].xstart; + dateien[i].xstop:=0; dateien[i].xsteps:=1; assignfile(f,dateien[i].Name+'traces/traces.dat'); @@ -1399,7 +1413,14 @@ begin end; end; - if not (dateien[0] is tPhaseSpaceInputDateiInfo) then begin + if dateien[0] is tSergeyInputDateiInfo then begin + transformationen.xstart:=Dateien[0].xstart; + transformationen.xstop:=Dateien[0].xstop; + transformationen.tstart:=Dateien[0].tstart; + transformationen.tstop:=Dateien[0].tstop; + end; + + if not ((dateien[0] is tPhaseSpaceInputDateiInfo) or (dateien[0] is tSergeyInputDateiInfo)) then begin Transformationen.tstart:=Positionen[0]*dateien[0].groeszenFaktor; Transformationen.tstop:=(Positionen[0]+1)*dateien[0].groeszenFaktor; for i:=1 to length(Positionen)-1 do begin |