home *** CD-ROM | disk | FTP | other *** search
- {
- Delphi 3,4 Test program for the TechScheduler NT Service API.
-
- Requires TKSVCAPI.DLL to be in the Windows or same directory.
-
- This demo can be used without any restrictions and can be
- modified without prior permission. We request that updates
- and bugs be sent to Winutils@aol.com
-
- copyright 1998-99 Dean Software Design
- www.winutils.com
- }
- unit Testunit2;
-
- interface
-
- uses
- Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
- StdCtrls, Buttons, ExtCtrls, Spin;
-
- const
- apipath = 'tksvcapi.dll';
-
- type
- TForm1 = class(TForm)
- Button1: TButton;
- Button2: TButton;
- OpenDialog1: TOpenDialog;
- Button3: TButton;
- Button4: TButton;
- Button5: TButton;
- Edit2: TEdit;
- Label2: TLabel;
- Button6: TButton;
- Button7: TButton;
- Button8: TButton;
- Button9: TButton;
- Button10: TButton;
- Button11: TButton;
- Label3: TLabel;
- Edit3: TEdit;
- Label4: TLabel;
- Edit4: TEdit;
- Label5: TLabel;
- Edit5: TEdit;
- SpinEdit1: TSpinEdit;
- Label6: TLabel;
- Label7: TLabel;
- RadioGroup1: TRadioGroup;
- Button12: TButton;
- Button13: TButton;
- procedure Button1Click(Sender: TObject);
- procedure Button2Click(Sender: TObject);
- procedure Button3Click(Sender: TObject);
- procedure Button6Click(Sender: TObject);
- procedure Button5Click(Sender: TObject);
- procedure Button7Click(Sender: TObject);
- procedure Button8Click(Sender: TObject);
- procedure Button9Click(Sender: TObject);
- procedure Button10Click(Sender: TObject);
- procedure Button11Click(Sender: TObject);
- procedure Button12Click(Sender: TObject);
- procedure Button13Click(Sender: TObject);
- private
- { Private declarations }
- public
- { Public declarations }
- end;
-
- var
- Form1: TForm1;
-
- function StartService:integer; stdcall;
- external apipath name 'StartService';
- function StopService:integer; export; stdcall;
- external apipath name 'StopService';
- function PauseScheduler:integer; export; stdcall;
- external apipath name 'PauseScheduler';
- function StartScheduler:integer; export; stdcall;
- external apipath name 'StartScheduler';
- function RunJob(jobname:pchar):integer; export; stdcall;
- external apipath name 'RunJob';
- function PauseJob(jobname:pchar):integer; export; stdcall;
- external apipath name 'PauseJob';
- function StartJob(jobname:pchar):integer; export; stdcall;
- external apipath name 'StartJob';
- function DeleteJob(jobname:pchar):integer; export; stdcall;
- external apipath name 'DeleteJob';
- function ReadJobFile(jobfilename:pchar):integer; export; stdcall;
- external apipath name 'ReadJobFile';
- function SetJobParameter(jobname:pchar;paramid:pchar;
- strdata:pchar;intdata:integer;
- booldata:boolean):integer; export; stdcall;
- external apipath name 'SetJobParameter';
- function GetLastAPIError:integer; export; stdcall;
- external apipath name 'GetLastAPIError';
- function SetConfigParameter(paramid:pchar;
- strdata:pchar;intdata:integer;
- booldata:boolean):integer; export; stdcall;
- external apipath name 'SetConfigParameter';
- function WriteLogEntry(jobname:pchar;logdata:pchar):integer; export; stdcall;
- external apipath name 'WriteLogEntry';
-
- implementation
-
- {$R *.DFM}
-
- procedure TForm1.Button1Click(Sender: TObject);
- var tstr : array[0..254] of char;
- begin
- case StartService of
- 0:ShowMessage('TechScheduler NT Service Started');
- 2:ShowMessage('Last Message not retrieved by TechScheduler');
- else Showmessage('TechScheduler NT Service not started');
- end;
- end;
-
- procedure TForm1.Button2Click(Sender: TObject);
- begin
- case StopService of
- 0:ShowMessage('TechScheduler NT Service stopped');
- 2:ShowMessage('Last Message not retrieved by TechScheduler');
- else Showmessage('TechScheduler NT Service not stopped');
- end;
- end;
-
- procedure TForm1.Button3Click(Sender: TObject);
- begin
- case PauseScheduler of
- 0:showmessage('TechScheduler paused');
- 1:ShowMessage('Last Message not retrieved by TechScheduler');
- else showmessage('TechScheduler not paused');
- end;
- end;
-
- procedure TForm1.Button6Click(Sender: TObject);
- var tstr : array[0..254] of char;
- begin
- strpcopy(tstr,edit2.text);
- case RunJob(tstr) of
- 0:ShowMessage('Job Started');
- 2:ShowMessage('Last Message not retrieved by TechScheduler');
- else Showmessage('Job not started');
- end;
- end;
-
- procedure TForm1.Button5Click(Sender: TObject);
- begin
- case GetLastAPIError of
- 0:showmessage('0 - Function Successful');
- 1:showmessage('0 - Function Failed');
- 2:showmessage('0 - Job not found');
- end;
- end;
-
- procedure TForm1.Button7Click(Sender: TObject);
- var tstr : array[0..254] of char;
- begin
- strpcopy(tstr,edit2.text);
- case PauseJob(tstr) of
- 0:ShowMessage('Job Paused');
- 2:ShowMessage('Last Message not retrieved by TechScheduler');
- else Showmessage('Job not started');
- end;
- end;
-
- procedure TForm1.Button8Click(Sender: TObject);
- var tstr : array[0..254] of char;
- begin
- strpcopy(tstr,edit2.text);
- case StartJob(tstr) of
- 0:ShowMessage('Job Restarted');
- 2:ShowMessage('Last Message not retrieved by TechScheduler');
- else Showmessage('Job not started');
- end;
- end;
-
- procedure TForm1.Button9Click(Sender: TObject);
- var tstr : array[0..254] of char;
- begin
- strpcopy(tstr,edit2.text);
- case DeleteJob(tstr) of
- 0:ShowMessage('Job Deleted');
- 2:ShowMessage('Last Message not retrieved by TechScheduler');
- else Showmessage('Job not deleted');
- end;
- end;
-
- procedure TForm1.Button10Click(Sender: TObject);
- var tstr,
- tstr2 : array[0..254] of char;
- begin
- strpcopy(tstr,edit3.text);
- case ReadJobFile(tstr2) of
- 0:ShowMessage('Job File Read');
- 2:ShowMessage('Last Message not retrieved by TechScheduler');
- else Showmessage('Job file not read');
- end;
- end;
-
- procedure TForm1.Button11Click(Sender: TObject);
- var tstr,
- tstr2,
- tstr3 : array[0..254] of char;
- tbool:boolean;
- begin
- strpcopy(tstr,edit2.text);
- strpcopy(tstr2,edit4.text);
- strpcopy(tstr3,edit5.text);
- case Radiogroup1.itemindex of
- -1,0:tbool:=true;
- else tbool:=false;
- end;
- case SetJobParameter(tstr,tstr2,tstr3,Spinedit1.value,tbool) of
- 0:ShowMessage('Job Parameter Set');
- 2:ShowMessage('Last Message not retrieved by TechScheduler');
- else Showmessage('Job parameter not set');
- end;
- end;
-
- procedure TForm1.Button12Click(Sender: TObject);
- var tstr2,
- tstr3 : array[0..254] of char;
- tbool:boolean;
- begin
- strpcopy(tstr2,edit4.text);
- strpcopy(tstr3,edit5.text);
- case Radiogroup1.itemindex of
- -1,0:tbool:=true;
- else tbool:=false;
- end;
- case SetConfigParameter(tstr2,tstr3,Spinedit1.value,tbool) of
- 0:ShowMessage('Config parameter set');
- 2:ShowMessage('Last Message not retrieved by TechScheduler');
- else Showmessage('Config parameter not set');
- end;
- end;
-
- procedure TForm1.Button13Click(Sender: TObject);
- var tstr,
- tstr2 : array[0..254] of char;
- begin
- strpcopy(tstr,edit5.text);
- strpcopy(tstr2,edit2.text);
- case WriteLogEntry(tstr2,tstr) of
- 0:ShowMessage('Log write successful');
- 2:ShowMessage('Last Message not retrieved by TechScheduler');
- else Showmessage('Log write not successful');
- end;
- end;
-
- end.
-