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

📄 unitstandard1.pas

📁 是分布式粮库程序,是采用Delphi实现的
💻 PAS
📖 第 1 页 / 共 3 页
字号:
unit UnitStandard1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  UnitMDIChildFrm, ComCtrls, ExtCtrls, ImgList, ToolWin, Grids, DBGrids,
  StdCtrls, Menus, DBTables, Db, Buttons,QRCTRLS,QuickRpt, Mask, DBCtrls;

type
  TFrmStandard1 = class(TMDIChildFrm)
    Splitter1: TSplitter;
    PnlTop: TPanel;
    PageControl1: TPageControl;
    TabSheetEdit: TTabSheet;
    TabSheetQuery: TTabSheet;
    TabSheetColum: TTabSheet;
    Splitter2: TSplitter;
    Pnl2: TPanel;
    DBGrid1: TDBGrid;
    PnlBottom: TPanel;
    Splitter3: TSplitter;
    MainMenu1: TMainMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    N4: TMenuItem;
    DataSource1: TDataSource;
    QrySQL: TQuery;
    UpdateSQL1: TUpdateSQL;
    EdtTable: TEdit;
    GroupBox1: TGroupBox;
    CboxField1: TComboBox;
    CboxField2: TComboBox;
    CboxField3: TComboBox;
    CboxOperator1: TComboBox;
    CboxOperator2: TComboBox;
    CboxOperator3: TComboBox;
    CboxLogic1: TComboBox;
    EdtFieldValue1: TEdit;
    EdtFieldValue2: TEdit;
    CboxLogic2: TComboBox;
    EdtFieldValue3: TEdit;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    GroupBox3: TGroupBox;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    CmBxSrtFld1: TComboBox;
    CmBxSrtFld2: TComboBox;
    CmBxSrtFld3: TComboBox;
    RadioGroup1: TRadioGroup;
    RadioGroup2: TRadioGroup;
    RadioGroup3: TRadioGroup;
    Label11: TLabel;
    Label12: TLabel;
    GroupBox2: TGroupBox;
    Label1: TLabel;
    LstBxChosen: TListBox;
    LstBxAvailable: TListBox;
    Label2: TLabel;
    TbShtPrntSetUp: TTabSheet;
    GroupBox4: TGroupBox;
    Label13: TLabel;
    EdtPgHdr: TEdit;
    EdtTitle: TEdit;
    Label3: TLabel;
    Label14: TLabel;
    EdtPgFt: TEdit;
    BBtnPgFtFnt: TBitBtn;
    Label15: TLabel;
    EdtClmn: TEdit;
    BBtnClmnFnt: TBitBtn;
    Label16: TLabel;
    EdtFldDt: TEdit;
    BBtnFldDtFnt: TBitBtn;
    BtnPgHdrFnt: TButton;
    BtnTitleFnt: TButton;
    GroupBox5: TGroupBox;
    Label17: TLabel;
    EdtPgHdrHgt: TEdit;
    UpDownPgHdr: TUpDown;
    Label18: TLabel;
    EdtTitleHgt: TEdit;
    UpDownTitle: TUpDown;
    Label19: TLabel;
    EdtClmnHgt: TEdit;
    UpDownClmn: TUpDown;
    Label20: TLabel;
    EdtFldDtHgt: TEdit;
    UpDownFldDt: TUpDown;
    Label21: TLabel;
    EdtPgFtHgt: TEdit;
    UpDownPgFt: TUpDown;
    Label22: TLabel;
    Label23: TLabel;
    EdtSumHgt: TEdit;
    UpDownSum: TUpDown;
    EdtSum: TEdit;
    Label24: TLabel;
    BBtnSum: TBitBtn;
    FontDialog: TFontDialog;
    BitBtnSave: TBitBtn;
    BitBtnNew: TBitBtn;
    BitBtnDelete: TBitBtn;
    BitBtnRefresh: TBitBtn;
    BitBtnCancel: TBitBtn;
    BitBtnExit: TBitBtn;
    BitBtnPreview: TBitBtn;
    BitBtnPrint: TBitBtn;
    BitBtnAll: TBitBtn;
    BitBtnOK: TBitBtn;
    BitBtnCancel1: TBitBtn;
    BitBtnSlctFldOK: TBitBtn;
    BitBtnSlctFldDefaut: TBitBtn;
    BitBtnTop: TBitBtn;
    BitBtnUp: TBitBtn;
    BitBtnDown: TBitBtn;
    BitBtnBottom: TBitBtn;
    BitBtnRight: TBitBtn;
    BitBtnAllRight: TBitBtn;
    BitBtnLeft: TBitBtn;
    BitBtnAllLeft: TBitBtn;
    EdtInitWhr: TEdit;
    DBEditKey: TDBEdit;
    LblKey: TLabel;
    

    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);

    procedure CboxField1Click(Sender: TObject);
    procedure CboxOperator1Click(Sender: TObject);
    procedure CboxLogic1Click(Sender: TObject);
    procedure CboxField2Click(Sender: TObject);
    procedure CboxOperator2Click(Sender: TObject);
    procedure CboxLogic2Click(Sender: TObject);
    procedure CboxField3Click(Sender: TObject);
    procedure CboxOperator3Click(Sender: TObject);
    procedure CmBxSrtFld1Click(Sender: TObject);
    procedure CmBxSrtFld2Click(Sender: TObject);
    procedure BtnRightClick(Sender: TObject);
    procedure PageControl1Change(Sender: TObject);

    procedure BBtnClmnFntClick(Sender: TObject);
    procedure BtnTitleFntClick(Sender: TObject);
    procedure BtnPgHdrFntClick(Sender: TObject);
    procedure BBtnFldDtFntClick(Sender: TObject);
    procedure BBtnPgFtFntClick(Sender: TObject);
    procedure BBtnSumClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure BitBtnNewClick(Sender: TObject);
    procedure BitBtnRefreshClick(Sender: TObject);
    procedure BitBtnDeleteClick(Sender: TObject);
    procedure BitBtnSaveClick(Sender: TObject);
    procedure BitBtnCancelClick(Sender: TObject);
    procedure BitBtnPrintClick(Sender: TObject);
    procedure BitBtnPreviewClick(Sender: TObject);
    procedure BitBtnOKClick(Sender: TObject);
    procedure BitBtnAllClick(Sender: TObject);
    procedure BitBtnCancel1Click(Sender: TObject);
    procedure BitBtnSlctFldDefautClick(Sender: TObject);
    procedure BitBtnSlctFldOKClick(Sender: TObject);
    procedure BitBtnAllLeftClick(Sender: TObject);
    procedure BitBtnLeftClick(Sender: TObject);
    procedure BitBtnAllRightClick(Sender: TObject);
    procedure BitBtnRightClick(Sender: TObject);
    procedure BitBtnTopClick(Sender: TObject);
    procedure BitBtnUpClick(Sender: TObject);
    procedure BitBtnDownClick(Sender: TObject);
    procedure BitBtnBottomClick(Sender: TObject);
    procedure BitBtnExitClick(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure QrySQLAfterScroll(DataSet: TDataSet);
  private
    { Private declarations }
    FldDefault:TStringlist;
    AmountPrinted,PixelsInInchX,LineHeight,TenthsOfInchPixelsY: integer;
    procedure PrintLine(Items: TStringList);
    //procedure PrintHeader;
    Procedure PrintColumnNames;
  public
    { Public declarations }
    
  end;

var
  FrmStandard1: TFrmStandard1;
  CrntFldInf: TStringList;
  CrntFieldNames: TStringList;
  StrSQL: String;
  CrntFieldCount: integer;
  
implementation
 uses UnitDataModul,Global,UntRprtTable,Printers,UntPrinting;
{$R *.DFM}




procedure TFrmStandard1.FormCreate(Sender: TObject);
var
  i:integer;
begin
  inherited;
  QrySQL.DatabaseName:=DtMdl.Database1.DatabaseName;
  QrySQL.Active:=True;
  CboxField1.Enabled:=true;
  CboxField2.Enabled:=false;
  CboxField3.Enabled:=false;
  CboxOperator1.Enabled:=false;
  CboxOperator2.Enabled:=false;
  CboxOperator3.Enabled:=false;
  EdtFieldValue1.Enabled:=false;
  EdtFieldValue2.Enabled:=false;
  EdtFieldValue3.Enabled:=false;
  CboxLogic1.Enabled:=false;
  CboxLogic2.Enabled:=false;
  CmBxSrtFld1.Enabled:=true;
  CmBxSrtFld2.Enabled:=false;
  CmBxSrtFld3.Enabled:=false;

  FldDefault := TStringlist.Create;
  for i:=0 to DBGrid1.Columns.Count-1 do
    FldDefault.Add(Dbgrid1.Columns[i].Title.Caption);

  StrSQL := 'select * from '+ Trim(EdtTable.Text);
  EdtPgHdr.Text:='____________________________________________________________________________________________________';
  {EdtPgHdr.Font.Assign(FrmRprtTable.PageHeaderBand1.Font);
  EdtTitle.Font.Assign(FrmRprtTable.TitleBand1.Font);
  EdtClmn.Font.Assign(FrmRprtTable.ColumnHeaderBand1.Font);
  EdtFldDt.Font.Assign(FrmRprtTable.DetailBand1.Font);
  EdtPgFt.Font.Assign(FrmRprtTable.PageFooterBand1.Font);
  EdtSum.Font.Assign(FrmRprtTable.SummaryBand1.Font);}
  //EdtPgHdrHgt.Text := '10';//intToStr(Round(FrmRprtTable.PageHeaderBand1.Size.Height));
  //EdtTitleHgt.Text := '16';//intToStr(Round(FrmRprtTable.TitleBand1.Size.Height));
  //EdtClmnHgt.Text :=  '10';//intToStr(Round(FrmRprtTable.ColumnHeaderBand1.Size.Height));
  //EdtFldDtHgt.Text := '10';//intToStr(Round(FrmRprtTable.DetailBand1.Size.Height));
  //EdtPgFtHgt.Text := '10';//intToStr(Round(FrmRprtTable.PageFooterBand1.Size.Height));
  //EdtSumHgt.Text :=  '10';//intToStr(Round(FrmRprtTable.SummaryBand1.Size.Height));}
end;

procedure TFrmStandard1.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  inherited;
  //BitBtnCancel.SetFocus;
  BitBtnExit.SetFocus;
  if DBGrid1.DataSource.DataSet.Modified then
    if Application.MessageBox('数据已更新,是否保存更新?','程序执行确认',MB_YesNo+MB_IconQuestion+MB_ApplModal)=IdYes then
      BitBtnSave.Click;
  QrySQL.Active:=false;
end;



procedure TFrmStandard1.CboxField1Click(Sender: TObject);
begin
  inherited;
  CboxOperator1.Enabled:=true;
end;

procedure TFrmStandard1.CboxOperator1Click(Sender: TObject);
begin
  inherited;
  if CboxField1.ItemIndex<>-1 then
    begin
    EdtFieldValue1.Enabled:=true;
    CboxLogic1.Enabled:=true;
    end;
end;

procedure TFrmStandard1.CboxLogic1Click(Sender: TObject);
begin
  inherited;
  CboxField2.Enabled:=true;
end;

procedure TFrmStandard1.CboxField2Click(Sender: TObject);
begin
  inherited;
   CboxOperator2.Enabled:=true;
end;

procedure TFrmStandard1.CboxOperator2Click(Sender: TObject);
begin
  inherited;
  if CboxField2.ItemIndex<>-1 then
    begin
    EdtFieldValue2.Enabled:=true;
    CboxLogic2.Enabled:=true;
    end;
end;

procedure TFrmStandard1.CboxLogic2Click(Sender: TObject);
begin
  inherited;
  if (CboxField2.ItemIndex<>-1) and (CboxField1.ItemIndex<>-1)  then
    CboxField3.Enabled:=true;
end;

procedure TFrmStandard1.CboxField3Click(Sender: TObject);
begin
  inherited;
  CboxOperator3.Enabled:=true;
end;

procedure TFrmStandard1.CboxOperator3Click(Sender: TObject);
begin
  inherited;
  EdtFieldValue3.Enabled:=true;
end;

procedure TFrmStandard1.CmBxSrtFld1Click(Sender: TObject);
begin
  inherited;
  CmBxSrtFld2.Enabled:=true;
end;

procedure TFrmStandard1.CmBxSrtFld2Click(Sender: TObject);
begin
  inherited;
  CmBxSrtFld3.Enabled:=true;
end;

procedure TFrmStandard1.BtnRightClick(Sender: TObject);
var
  i : integer;
  itmA, itmC : TStringlist;
begin
  inherited;

  itmA := TStringlist.Create  ;
  itmC := TStringlist.Create  ;
  try
    for i := 0 to (LstBxChosen.Items.Count - 1) do
      if LstBxChosen.Selected[i] then
        itmA.Add(LstBxChosen.Items.Strings[i])
      else
        itmC.Add(LstBxChosen.Items.Strings[i]);
    LstBxChosen.Items.Clear ;
    LstBxChosen.Items.AddStrings (itmC);
    LstBxAvailable.Items.AddStrings (itmA);
  finally
    itmA.Free ;
    itmC.Free ;
  end;

end;

procedure TFrmStandard1.PageControl1Change(Sender: TObject);
var
  StrField:string;
  i,j:integer;
  flg:boolean;
begin
  inherited;

  if PageControl1.Pages[PageControl1.ActivePageIndex].Name=TabSheetQuery.Name then
    begin   //如果进入查询、排序页面,则初始化查询、排序页面
      CboxField1.Items.Clear;
      CboxField2.Items.Clear;
      CboxField3.Items.Clear;
      CmBxSrtFld1.Items.Clear;
      CmBxSrtFld2.Items.Clear;
      CmBxSrtFld3.Items.Clear;
      for i:=0 to Dbgrid1.Columns.Count-1 do
        begin
          StrField:= Dbgrid1.Columns[i].Title.Caption;
          CboxField1.Items.Add(StrField);
          CboxField2.Items.Add(StrField);
          CboxField3.Items.Add(StrField);
          CmBxSrtFld1.Items.Add(StrField);
          CmBxSrtFld2.Items.Add(StrField);
          CmBxSrtFld3.Items.Add(StrField);
        end;
    end;

  if PageControl1.Pages[PageControl1.ActivePageIndex].Name=TabSheetColum.Name then
    begin
      LstBxChosen.Items.Clear;
      LstBxAvailable.Items.Clear;
      for i:=0 to Dbgrid1.Columns.Count-1 do
        begin  //根据 Dbgrid1把显示字段显示在已选字段框LstBxChosen中
          StrField:= Dbgrid1.Columns[i].Title.Caption;
          LstBxChosen.Items.Add(StrField);
        end;
      for i:=0 to QrySQL.FieldCount-1 do
        begin //不在 数据窗口Dbgrid1中的字段则显示在 可选字段框LstBxAvailable中
          StrField:=QrySQL.Fields[i].FieldName;
          flg:=true;
          for j:=0 to Dbgrid1.Columns.Count-1 do
            if StrField=Dbgrid1.Columns[j].FieldName then
              begin
              flg:=false;
              break;
              end;
          if flg then LstBxAvailable.Items.Add(QrySQL.Fields[i].DisplayLabel);
        end;
    end;
end;


procedure  TFrmStandard1.PrintLine(Items: TStringList);
var
  OutRect: TRect;
  Inches: double;
  i: integer;

⌨️ 快捷键说明

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