unit variables; {$mode objfpc}{$H+} interface uses Classes, SysUtils,fit, Dialogs; function saveparam:longint; type textstype=record head,str:array[1..4] of string; index:array[1..4] of longint; y:array[1..4] of double; b:array[1..4] of boolean; end; linestype=record t0,temp0,a0,t1,temp1,a1:double; end; var mainpath:string='/usr/local/'; studentpath:string='/home/hallgato/measures'; {$ifdef LINUX} loaddirectory:string='measures/'; paramsavefile:string='DTA/etc/DTAevalue.dat'; imagedirectory:string='DTA/prints/'; bs:string='/'; helpfile:string='DAT/doc/DTAuserman.pdf'; {$else} loaddirectory:string='measures\'; paramsavefile:string='DTA\etc\DTAevalue.dat'; imagedirectory:string='prints\'; bs:string='\'; helpfile:string='doc\DTAuserman.pdf'; {$endif} datanum:longint=0; startingt,finalt,rate,modamp,modfreq,mass:double; instdir:string; messagestr:string; savefilename:string=''; xaxispointer:longint; yaxispointer:longint; yaxis:array[1..2] of boolean; timemin,timemax,timescale,timeoffset:double; qmin,qmax,qscale,qoffset,range:double; tempmin,tempmax,tempscale,tempoffset:double; identifier:string='Test'; imagenum:longint; savenum:longint; fileextention:string='*'; clickindex:longint; measindex:longint; baseindex:longint; measset:boolean; baseset:boolean; filename,filename1:string; baselineb:boolean; t1,temp2,a1,a2,temp1,tempf:x_vector; ba,by:x_vector; nobaselinefile,differenceb:boolean; nobaselineset:boolean=true; datanum1:longint; mass1,mass2,mtime1,mtime2,srate,slength:double; ident11,ident21,ident12,ident22:string; bimin:longint; bimax:longint; resultstr:string=''; texts:array[1..50] of textstype; textsp:longint; markers:array[1..50] of longint; markersp:longint; lines:array[1..50] of linestype; linesp:longint; lowerlimitb,upperlimitb,baselineindex1b,baselineindex2b:boolean; lineindex:longint; index1,index2:longint; bindex1,bindex2:longint; upallowed:boolean; integrationindex1b,integrationindex2b:boolean; fileloaded:boolean=false; straightbaselineb:boolean=false; curvedbaselineb:boolean=false; baselinesetready:boolean=false; x0drag,x1drag,x2drag:longint; y0drag,y1drag,y2drag:double; tempunit:string; areaprocb:boolean=false; onsetprocb:boolean=false; tmaxprocb:boolean=false; textspindex,textindex:longint; marker1dragged:boolean=false; marker2dragged:boolean=false; textxpos,textypos:double; savedirectory:string; measurefiles:boolean=false; drawfiles:boolean=false; drawfile:string; monotonb:boolean=true; procedure inits; function numconv(x:double;i:longint):string; implementation uses main, loadunit; function get_instdir:string; var ss:string; begin ss:=paramstr(0); {$IFDEF LINUX} get_instdir:=copy(ss,1,pos('DTA',ss)+3); mainpath:=getuserdir; {$ELSE} get_instdir:=copy(ss,1,pos('DTA',ss)+3); mainpath:=get_instdir; {$ENDIF} end; function saveparam:longint; var f:text; x:longint; begin {$I-} assign(f,mainpath+paramsavefile); rewrite(f); writeln(f,loaddirectory); close(f); {$I+} saveparam:=ioresult; end; function readparam:longint; var f:text; x:longint; Info : TSearchRec; begin {$I-} If FindFirst (mainpath+paramsavefile,faAnyFile,Info)<>0 then begin readparam:=-1; exit; end; ioresult; assign(f,mainpath+paramsavefile); reset(f); readln(f,loaddirectory); close(f); {$I+} readparam:=ioresult; end; procedure inits; var r:longint; begin instdir:=get_instdir; mainpath:=getuserdir+'measures/'; studentpath:=mainpath; {$ifdef LINUX} //studentpath:='/home/hallgato/DTA/measures'; {$endif} mainform.SelectDirectoryDialog1.Initialdir:=studentpath; if mainform.SelectDirectoryDialog1.execute then studentpath:=mainform.SelectDirectoryDialog1.filename; loaddirectory:=studentpath; imagedirectory:=studentpath; mainform.Memo.clear; tempmin:=0; tempmax:=1000; timemin:=0; timemax:=100; qmin:=-10; qmax:=10; mainform.TimemaxEdit.value:=timemax; mainform.TimeminEdit.value:=timemin; mainform.TempmaxEdit.value:=tempmax; mainform.TempminEdit.value:=tempmin; mainform.qmaxEdit.value:=qmax; mainform.qminEdit.value:=qmin; yaxis[1]:=true; yaxis[2]:=true; xaxispointer:=2; yaxispointer:=1; settimemin; settimemax; settempmin; settempmax; setqmin; setqmax; xxset; setxaxis; setyaxis; resultout('Load new file'); end; function numconv(x:double;i:longint):string; begin numconv:=floattostrF(x,ffFixed,10,i); end; end.