misc/ICLEXEC.PAS

2 KB b4ad52c3ca728fc1…
{
 >> Infusion Coding Language, (c)Copyright Grant Passmore (skaboy101)
    Started on 09/29/98
}
Unit IclExec;
     Interface uses crt,dos,gensubs,subs1,subs2,dataproc,modem;
{::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::}
Procedure iExecuteIcl(iScriptName : string);
{::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::}
Implementation
{::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::}
Const
 iMaxVariables = 50;
 iMaxFunctions = 25;
{::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::}
Type
 iVariableRec  = record
    iVarName   : string[30];
    iVarIDNum  : word;
    iVarType   : byte;
    iVarValue  : string[200];
 end;
{::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::}
 iCommandRec   = record
     iCommand  : string[30];
     iParams   : array[1..10] of string;
 end;
{::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::}
 iFunctionRec  = record
   iFuncName   : string[30];
   iStartLine  : word;
   iEndLine    : word;
   iParams     : byte;
 end;
iFunctionArray = array[1..iMaxFunctions] of iFunctionRec;
iVariableArray = array[1..iMaxVariables] of iVariableRec;
iDataFieldType = string[200];
{::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::}
Var
 iVariableData : ^iVariableArray;
 iFunctionData : ^iFunctionArray;
 iCommandData  : iCommandRec;
 iProgFile     : file;
{::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::}
Procedure iInitMemory(init : boolean);
 begin
 if (init=true) then
  begin
  new(iVariableData);
  new(iFunctionData);
  fillChar(iVariableData^,sizeOf(iVariableData^),0);
  fillChar(iFunctionData^,sizeOf(iFunctionData^),0);
  fillChar(iCommandData,sizeOf(iCommandData),0);
  end else
   begin
   dispose(iVariableData);
   dispose(iFunctionData);
   end;
 end;
{::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::}