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

📄 fmain.pas

📁 Delphi的Glib功能实现 具体功能请看帮助
💻 PAS
字号:
unit FMain;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ImgList, ComCtrls, jpeg, ExtCtrls, TeEngine, Series,
  TeeProcs, Chart, CSaveComps, CSelectOnRunTime, ActnList, Buttons, ShellAPI;

type
  TFormMain = class(TForm)
    pnlTitulo: TPanel;
    pnlOperaciones: TPanel;
    sbMensajes: TStatusBar;
    pnlPlano: TPanel;
    imgPlano: TImage;
    pcModo: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    ImageList1: TImageList;
    btnCrearMesa: TBitBtn;
    btnBorrarMesa: TBitBtn;
    btnModifMesa: TBitBtn;
    Label1: TLabel;
    cbMesa: TComboBox;
    btnOcupar: TBitBtn;
    btnCuenta: TBitBtn;
    pnlOcupacion: TPanel;
    ChartOcup: TChart;
    Series1: TPieSeries;
    SelectOnRunTime: TSelectOnRunTime;
    SaveComps1: TSaveComps;
    TimerTime: TTimer;
    btnGuardarDist: TBitBtn;
    btnRecuperarDist: TBitBtn;
    sdDist: TSaveDialog;
    imgMesaDemo: TImage;
    ActionList1: TActionList;
    ActionCrearMesa: TAction;
    ActionChangeGray: TAction;
    ActionChangeColor: TAction;
    ActionSalir: TAction;
    ActionBorrarMEsa: TAction;
    odRecuperar: TOpenDialog;
    ActionGuardarDistribucion: TAction;
    ActionRecuperarDistribucion: TAction;
    ActionModificarMesa: TAction;
    ActionNuevoCliente: TAction;
    ActionNota: TAction;
    Label2: TLabel;
    cbMesa2: TComboBox;
    imgMesaDemo2: TImage;
    mmDescAdmin: TMemo;
    mmDescNormal: TMemo;
    procedure FormShow(Sender: TObject);
    procedure TimerTimeTimer(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure ActionCrearMesaExecute(Sender: TObject);
    procedure pcModoChange(Sender: TObject);
    procedure ActionChangeGrayExecute(Sender: TObject);
    procedure ActionChangeColorExecute(Sender: TObject);
    procedure SaveComps1NotExistComponentEvent(TObject: TObject;
      ComponentName, ComponentClassName, ComponentParent: String;
      Props: TStrings);
    procedure ActionBorrarMEsaExecute(Sender: TObject);
    procedure cbMesaChange(Sender: TObject);
    procedure SelectOnRunTimeBeforeSelect(Sender: TObject;
      Selected: TControl; var Select: Boolean);
    procedure ActionGuardarDistribucionExecute(Sender: TObject);
    procedure ActionRecuperarDistribucionExecute(Sender: TObject);
    procedure ActionNuevoClienteExecute(Sender: TObject);
    procedure ActionNotaExecute(Sender: TObject);
    procedure sbMensajesClick(Sender: TObject);
  private
    { Private declarations }
    _OriginalBitmap:TBitmap;
    _nmesas:Integer;

    procedure OnMesaClick(Sender: TObject);

    procedure _ConfigureChart();
    function _CreateMesa(AName:String; AParent:TWinControl;
                         ALeft, ATop:Integer):TImage;

  public
    { Public declarations }
  end;

var
  FormMain: TFormMain;

implementation

{$R *.dfm}

procedure TFormMain._ConfigureChart();
var
  PorcOcup, PorcFree:Integer;
  i:Integer;
  comp:TComponent;
  StrName:String;
begin

  // Iniciales
  PorcFree := 0;
  PorcOcup := 0;
  // Graph
  ChartOcup.Title.Text[0] := 'Nivel de ocupaci髇';
  // Valores
  ChartOcup.Series[0].Clear;

  // recorrer componentes.
  for i := 0 to (Self.ComponentCount - 1) do begin
    comp := Self.Components[i];
    // Es un TImage?
    if (comp is TImage) then begin
      StrName := Copy(comp.Name, 1, 4);
      // Es una Mesa?
      if (StrName = 'Mesa') then begin

        // Ocupada ?
        if (comp.Tag = 99) then begin
          PorcOcup := PorcOcup + 1;
        end
        else begin
          PorcFree := PorcFree + 1;
        end;
      end;
    end;
  end;

  // etiquetas
  ChartOcup.Series[0].Add(PorcFree, 'Libre', clPurple);
  ChartOcup.Series[0].Add(PorcOcup, 'Ocupado', clBlue);
end;

procedure TFormMain.FormShow(Sender: TObject);
begin
  // CopyRight
  sbMensajes.Panels[2].Text := '

⌨️ 快捷键说明

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