unit PreProcessing; interface uses //---------------------------------------------------------------------------- //local //----------------------------------------------------------------------------
OwnUtils,GenDefs,Utilities,Splash,OptionClass,Lizenz,language, //---------------------------------------------------------------------------- //global //----------------------------------------------------------------------------
windows,sysutils,forms,dateutils; //---------------------------------------------------------------------------- // //---------------------------------------------------------------------------- const //smax=20;
em=13000; //---------------------------------------------------------------------------- //Types //---------------------------------------------------------------------------- type
Tffblk= record
ff_reserved:integer;
ff_fsize:integer;//file size
ff_attrib:word;//attribute found
ff_ftime:byte;//file time
ff_fdate:byte;//file date
ff_name: array [0..255] ofchar;//found file name end;
cast= record casebooleanof
true:
(tp:^Tffblk);
false:
(ti:integer); end; //---------------------------------------------------------------------------- // //---------------------------------------------------------------------------- var
Mutex:THandle;
ll1,ll2,i:integer;
MyDir,DI,PS:String;
MS:TMemoryStatus; //---------------------------------------------------------------------------- // //---------------------------------------------------------------------------- procedure GetContext(); procedure PostProcess(); procedure PreProcess(Frame_title:String); //---------------------------------------------------------------------------- // //---------------------------------------------------------------------------- implementation
{ ------------------------------------------------------------------ }
{ - - }
{ - Main Program - }
{ - - }
{ ------------------------------------------------------------------ } procedure PreProcess(Frame_title:String); var
CDI:JString;
HelpName:JString;
Preprocessed:boolean; begin
Preprocessed:=false;
Application.Title:=Frame_title;
ColumboFileName:=Application.Title+'.exe'; //
SplashForm1:=TSplashForm.Create(nil); with splashform1 do if Application.title=Title_Elbe then
image1.BringToFront elseif lang=german then
image2.BringToFront else
image3.BringToFront; // get options and check parity
GetContext();
Lizenz1:=TLizenzForm.Create(nil);
Opt:=TOptionDialog.create(nil);
Lizenz1.checklicensesum();
Opt.Hide();
Opt.PostCheck(); //------------------------------------------------ //memory tracking //------------------------------------------------
GlobalMemoryStatus(MS);
InitiallyAvail:=MS.dwAvailPhys; //------------------------------------------------ //get Options U3 Stick? //------------------------------------------------
DiskType:=getDiskType(opt.R.ProgramDir);
MyDir:=getCurrentDir+'\'+ExtractFileName(Optionsfilename(Application.Title)); if DiskType=DRIVE_REMOVABLE then
ExitProcess(99); // if (DiskType=DRIVE_REMOTE)andnot(opt.R.privileged='J') thenbegin
errorn(132,'dies ist keine Netzwerklizenz');
ExitProcess(0); end elseif (DiskType=DRIVE_REMOVABLE) thenbegin
errorn(159,'dies ist keine tragbare Lizenz');
ExitProcess(0); end; //set program dir
DI:=getCurrentDir+'\';
CDI:=opt.R.ProgramDir; if LowerCase(String(DI))<>LowerCase(CDI) thenbegin
DI:=String(opt.R.ProgramDir);
SetCurrentDirectory(PChar(DI)); end;
GetContext();
Opt.setDaysUsed(Installkey,Opt.R.SecretKey,Productnumber); // if Application.Title=Title_Elbe then
opt.R.Edition:=Standard;
Mutex:=CreateMutex(nil,true,PWChar(Application.Title)); if (Mutex=0)OR(GetLastError=ERROR_ALREADY_EXISTS) then
errorn(133,Application.Title+' läuft bereits') elseif (DiskType=DRIVE_REMOTE)andnot(opt.R.privileged='J') thenbegin
errorn(134,'dies ist keine Netzwerklizenz');
ExitProcess(0); end else
Preprocessed:=true;
Opening:=true; if opt.R.language=german then
HelpName:='standard.deutsch.chm' else
HelpName:='standard.english.chm';
Application.HelpFile:=String(opt.R.ProgramDir)+HelpName; ifnot FileExists(Application.HelpFile) then
errorn(135,'Hilfedatei fehlt'); ifnot Preprocessed then
ExitProcess(0); end; procedure PostProcess(); begin //------------------------------------------------ //Put Options //------------------------------------------------ //opt.R.DaysUsed:=6; //for testing //Opt.R.FirstUse:=StrToDate('01.08.2010'); //------------------------------------------------
opt.PutOptions(PChar(Optionsfilename(Application.Title)));
ReleaseMutex(Mutex); end; //------------------------------------------------------------------------------ // //get Context // //------------------------------------------------------------------------------ procedure GetContext(); const
lines=22;
columns=7;
ext: array [0..lines,1..columns] ofString=( //ext name format exe filename lex,pretty,back,meas,CFA,DFA,Func //--------------------------------------------------------------------------
('*.abap','Abap','Free','0','Abap','L','0'),
('*.acc;*.yacc;*.y','Accent','Free','0','Accent','L','0'),
('*.adb;*.ads','Ada','Free','0','Ada','L','0'),
('*.cob;*.cbl;*.cpy;*','Cobol','Fixed','0','Cobol','S','0'),
('*.c;*.cpp;*.h','C','Free','0','C','L','0'),
('*.bat;*.cmd','Command','Free','1','Bat','L','0'),
('*.pas;*.dfm;*.inc','Delphi','Free','0','Delphi','L','0'),
('*.ftn;*.ftn77;*.f90','Fortran','Free','0','Fortran','L','0'),
('*.in','GAP','Free','0','GAP','L','0'),
('*.asm','HLAsm','Fixed','0','HLASM','L','0'),
('*.java','JAVA','Free','0','Java','L','0'),
('*.jcl','Job Control','Fixed','0','JCL','L','0'),
('*.thy','Isabelle','Free','0','Isabelle','L','1'),
('*.lex','Lex','Free','0','Lex','L','0'),
('*.mt;*.mt940','MT940','Free','0','MT940','L','0'),
('*.pl','Perl','Free','0','Perl','L','0'),
('*.net','Petri Net','Free','0','Petri','S','1'),
('*.poe','SPS','Free','0','SPS','L','0'),
('*.txt','Text','Free','0','Text','L','0'),
('*.trs','TRS','Free','0','TRS','S','1'),
('*.rexx','REXX','Free','0','REXX','L','0'),
('*.vhdl','VHDL','Free','0','Vhdl','L','0'),
('*.xml','XML','Free','0','XML','L','0')); var
i,ll,li,le:integer;
S:String; //restriction for Elbe procedure restrict(li:integer); begin if Application.Title=Title_Elbe thenbegin
extensions[li].lexonly:=true end; end; //get table entries procedure en(S1,S2,S3,S4,S5,S6,S7:string); begin if FileExists(S+S5+dlle) thenbegin
extensions[li].ext:=S1;
extensions[li].longname:=S2;
extensions[li].format:=FreeFormat; if S3='Fixed'then
extensions[li].format:=FixedFormat;
extensions[li].isexecutable:=S4='1';
extensions[li].dllname:=S5;
extensions[li].lexonly:=S6='L';
extensions[li].PrettyPrint:=S7='1';
restrict(li);
li:=li+1; end end; begin
S:=getCurrentDir+'\';
ll:=0;
le:=length(ext)-1; for i:=0 to le do if FileExists(S+ext[i,5]+dlle) then
ll:=ll+1;
setlength(AD,ll);
setlength(ADhandle,ll);
setlength(extensions,ll); for i:=0 to ll-1 do
ADhandle[i]:=0;
li:=0; for i:=0 to le do
en(ext[i,1],ext[i,2],ext[i,3],ext[i,4],ext[i,5],ext[i,6],ext[i,7]); end; //---------------------------------------------------------------------------- //Static Variables //---------------------------------------------------------------------------- end.
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.14Bemerkung:
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.