unit fs02iopCln_01_main; interface uses fs02iop_00_lib, //fs02iopCln_03_ClnClasses, fs02iopCln_02_ClnModule, Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ExtCtrls, Vcl.Buttons, Vcl.Grids; type TForm1 = class(TForm) Panel_Bottom: TPanel; LabelDT: TLabel; LabelPath: TLabel; Panel_Top: TPanel; Panel_Main: TPanel; Timer1: TTimer; Label_ActorName: TLabel; GroupBox1: TGroupBox; Panel1: TPanel; sbScrList_Get: TSpeedButton; Splitter1: TSplitter; lbScr: TListBox; GroupBox2: TGroupBox; GroupBox3: TGroupBox; lbActList: TListBox; Panel2: TPanel; Splitter2: TSplitter; sbAction: TSpeedButton; Panel3: TPanel; GroupBox4: TGroupBox; Memo_Data_Need: TMemo; GroupBox5: TGroupBox; Memo_Data_Ret: TMemo; Splitter3: TSplitter; procedure Timer1Timer(Sender: TObject); procedure FormCreate(Sender: TObject); procedure sbScrList_GetClick(Sender: TObject); procedure sbActionClick(Sender: TObject); private { Private declarations } fItsFirst:boolean; public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin MainDir:=ExtractFilePath(ParamStr(0)); fItsFirst:=true; LabelPath.Caption:=MainDir; Timer1.Enabled:=true; end; procedure TForm1.sbScrList_GetClick(Sender: TObject); begin Application.ProcessMessages; Memo_Data_Ret.Lines.Clear; Memo_Data_Need.Lines.Clear; lbScr.Items.Clear; Application.ProcessMessages; Screen.Cursor:=crHourGlass; TRY lbScr.Items.Text:=ClientModule1.ServerMethods1Client.FS_Scripts_List; FINALLY Screen.Cursor:=crDefault; END; end; procedure TForm1.sbActionClick(Sender: TObject); Var sMnemo:string; begin Application.ProcessMessages; if lbScr.ItemIndex>=0 then begin if lbActList.ItemIndex>=0 then begin sMnemo:=trim(lbScr.Items.Names[lbScr.ItemIndex]); if sMnemo<>'' then begin if (lbActList.ItemIndex in [0..2]) then begin Memo_Data_Ret.Lines.Clear; end; Application.ProcessMessages; Screen.Cursor:=crHourGlass; TRY //---------------------------------------- if lbActList.ItemIndex=0 then begin //ОписАние скрипта получить Memo_Data_Ret.Lines.Text:=ClientModule1.ServerMethods1Client.FS_Script_Info(sMnemo); end; //---------------------------------------- //---------------------------------------- if lbActList.ItemIndex=1 then begin //Перечень необходимых (для расчета) данных получить Memo_Data_Need.Lines.Text:=ClientModule1.ServerMethods1Client.FS_Script_ParamsIn(sMnemo); end; //---------------------------------------- //---------------------------------------- if lbActList.ItemIndex=2 then begin //Перечень возвращаемых данных получить Memo_Data_Ret.Lines.Text:=ClientModule1.ServerMethods1Client.FS_Script_ParamsOut(sMnemo); end; //---------------------------------------- //---------------------------------------- if lbActList.ItemIndex=3 then begin //Скрипт выполнить Memo_Data_Ret.Lines.Text:=ClientModule1.ServerMethods1Client.FS_Script_Execute(sMnemo, Memo_Data_Need.Lines.Text, Memo_Data_Ret.Lines.Text ); end; //---------------------------------------- FINALLY Screen.Cursor:=crDefault; END; end; end; end; end; procedure TForm1.Timer1Timer(Sender: TObject); begin Timer1.Enabled:=false; LabelDT.Caption:=DateTimeToStr(NOW); if fItsFirst then begin Timer1.Interval:=1000; fItsFirst:=false; end; Timer1.Enabled:=true; end; end.