⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 disp_ext.pas

📁 基于OOP设计的一套较好的ERP系统
💻 PAS
字号:
unit disp_ext;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ActnList, OleCtrls, Formula_TLB, StdCtrls, {Menus,} ComCtrls, Db, RxMemDS,
  Grids, DBGrids, Menus;

type
  TGestione_Dispositivi = class(TForm)
    ActionList1: TActionList;
    Formula: TFormula;
    Imposta: TAction;
    Attiva: TAction;
    Disattiva: TAction;
    Nascondi: TAction;
    MainMenu1: TMainMenu;
    File1: TMenuItem;
    Attiva1: TMenuItem;
    Disattiva1: TMenuItem;
    Imposta1: TMenuItem;
    Nascondi1: TMenuItem;
    stato: TStatusBar;
    Tampone: TRxMemoryData;
    TamponeData: TDateField;
    TamponeOra: TTimeField;
    TamponeCodice: TStringField;
    TamponeQta: TFloatField;
    Pulisci: TAction;
    DBGrid1: TDBGrid;
    dsTampone: TDataSource;
    procedure ImpostaExecute(Sender: TObject);
    procedure AttivaExecute(Sender: TObject);
    procedure DisattivaExecute(Sender: TObject);
    procedure NascondiExecute(Sender: TObject);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure PulisciExecute(Sender: TObject);
    procedure FormulaDataEvent(Sender: TObject; OutputID: Smallint);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
    chiudi_ok : boolean ;
  public
    { Public declarations }
    Procedure Chiudi ;
  end;

var
  Gestione_Dispositivi: TGestione_Dispositivi;

implementation

//uses main;

{$R *.DFM}

procedure Tgestione_Dispositivi.Chiudi ;
begin
 chiudi_ok := true ;
 close ;
end;

procedure TGestione_Dispositivi.ImpostaExecute(Sender: TObject);
begin
 Formula.Action ;
end;

procedure TGestione_Dispositivi.AttivaExecute(Sender: TObject);
begin
 Formula.open ;
 attiva.Checked := True ;
 disattiva.Checked := False ;
 Stato.SimpleText := 'Comunicazione attiva' ;
end;

procedure TGestione_Dispositivi.DisattivaExecute(Sender: TObject);
begin
 Formula.Close;
 attiva.Checked := False ;
 disattiva.Checked := True ;
 Stato.SimpleText := 'Comunicazione non attiva' ;
end;

procedure TGestione_Dispositivi.NascondiExecute(Sender: TObject);
begin
 self.WindowState := wsMinimized ;
end;

procedure TGestione_Dispositivi.FormCloseQuery(Sender: TObject;
  var CanClose: Boolean);
begin
 if not chiudi_ok then
    CanClose := (MessageDlg('Chiudendo questa finestra si interrompe il collegamento con il dispositivo esterno, continuare ?',mtConfirmation,[mbYes,mbNo],0) = mrYes)
 else
  CanClose := True ;
 Disattiva.Execute ;
end;

procedure TGestione_Dispositivi.PulisciExecute(Sender: TObject);
begin
 While not Tampone.IsEmpty do Tampone.Delete ;
end;

procedure TGestione_Dispositivi.FormulaDataEvent(Sender: TObject;
  OutputID: Smallint);
Var
   riga : String ;
   strQta : String ;
   Anno,Mese,Giorno,Ora,minuto,Secondo,Code : integer ;

begin
 riga := Formula.DeviceData ;
 strQta := Trim(copy(riga,52,5)) ;
 If strQta = '' then strQta := '1' ;
 If strQta = '0' then exit ;
 Tampone.append ;
 val(Copy(riga,1,2),Giorno,Code) ;
 val(Copy(riga,4,2),Mese,Code) ;
 val(Copy(riga,7,2),Anno,Code) ;
 val(Copy(riga,10,2),Ora,Code) ;
 val(Copy(riga,13,2),Minuto,Code) ;
 val(Copy(riga,16,2),Secondo,Code) ;
 TamponeData.AsDateTime := EncodeDate(Anno+2000,Mese,Giorno) ;
 TamponeOra.AsDateTime := EncodeTime(Ora,Minuto,Secondo,0) ;
 TamponeCodice.AsString := Trim(copy(riga,19,32)) ;
 TamponeQta.AsString := strQta ;
 Tampone.Post ;
end;

procedure TGestione_Dispositivi.FormCreate(Sender: TObject);
begin
 chiudi_ok := false ;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -