printchartsetup.pas

来自「胜天财务进销存2003源代码,SQLSERVER版,目前最完整的财务进销存系统.」· PAS 代码 · 共 145 行

PAS
145
字号
unit PrintChartSetup;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, EditForm, KsHooks, KsForms, KsSkinForms, KsControls,
  KsSpeedButtons, KsSkinSpeedButtons, KsGroupBoxs, KsSkinGroupBoxs,
  KsButtons, KsSkinButtons, KsCheckBoxs, KsSkinCheckBoxs, KsEdits,
  KsComboBoxs, KsSkinComboBoxs, KsLabels, KsSkinLabels, dxCntner, dxTL,
  dxDBCtrl, dxDBGrid, dxEditor, dxExEdtr, dxEdLib;

type
  TfrmPrintChartSetup = class(TfrmEditForm)
    GroupBox1: TSeSkinGroupBox;
    SB1: TSeSkinSpeedButton;
    SB4: TSeSkinSpeedButton;
    SB2: TSeSkinSpeedButton;
    SB6: TSeSkinSpeedButton;
    SB5: TSeSkinSpeedButton;
    SB3: TSeSkinSpeedButton;
    SB7: TSeSkinSpeedButton;
    SB8: TSeSkinSpeedButton;
    SB9: TSeSkinSpeedButton;
    SB11: TSeSkinSpeedButton;
    SB10: TSeSkinSpeedButton;
    bbOk: TSeSkinButton;
    bbNo: TSeSkinButton;
    GroupBox2: TSeSkinGroupBox;
    SeSkinLabel1: TSeSkinLabel;
    SeSkinLabel2: TSeSkinLabel;
    cbxName: TdxPickEdit;
    cbxValue: TdxPickEdit;
    cbxField: TdxPickEdit;
    SeSkinLabel3: TSeSkinLabel;
    procedure bbNoClick(Sender: TObject);
    procedure bbOkClick(Sender: TObject);
  private
    { Private declarations }
    bReturn: Boolean;
    lChart: Integer;
    sPubName, sPubValue: string;
    dxGrid: TCustomdxDBTreeListControl;
    procedure MainShow;
    procedure LoadData;
    procedure SetButton(b: array of TSeSkinSpeedButton; n: Integer);
    function GetButton(b: array of TSeSkinSpeedButton): Integer;
  public
    { Public declarations }
  end;

function PrintChartSetupShow(dxGrid1: TCustomdxDBTreeListControl; var lChart1:
  Integer; var sField1, sField2: string): Boolean;

implementation

uses SysPublic;
{$R *.dfm}

function PrintChartSetupShow(dxGrid1: TCustomdxDBTreeListControl; var lChart1:
  Integer; var sField1, sField2: string): Boolean;
var
  frmPrintChartSetup: TfrmPrintChartSetup;
begin
  frmPrintChartSetup := TfrmPrintChartSetup.Create(Application);
  with frmPrintChartSetup do
  begin
    dxGrid := dxGrid1;
    lChart := lChart1;
    sPubName := sField1;
    sPubValue := sField2;
    MainShow;
    lChart1 := lChart;
    sField1 := sPubName;
    sField2 := sPubValue;
    Result := bReturn;
    Free;
  end;
end;

procedure TfrmPrintChartSetup.MainShow;
begin
  bReturn := False;
  LoadData;
  ShowModal;
end;

procedure TfrmPrintChartSetup.LoadData;
begin
  if (lChart < 0) and (lChart > 100) then
    lChart := 0;
  SetButton([SB1, SB2, SB3, SB4, SB5, SB6, SB7, SB8, SB9, SB10, SB11], lChart);

  cbxName.Items.Text := GridNameToStrings(dxGrid, #13);
  cbxValue.Items.Text := cbxName.Items.Text;
  cbxField.Items.Text := GridFieldToStrings(dxGrid, #13);
  if cbxName.Items.Count <> cbxField.Items.Count then //如果出错
  begin
    cbxName.Items.Text := '';
    cbxValue.Items.Text := '';
  end
  else
  begin
    cbxName.ItemIndex := GetStringIndex(cbxField.Items, sPubName); //对应索引
    cbxValue.ItemIndex := GetStringIndex(cbxField.Items, sPubValue);
  end;
end;

procedure TfrmPrintChartSetup.SetButton(b: array of TSeSkinSpeedButton; n:
  Integer);
begin
  b[n].Down := True;
end;

function TfrmPrintChartSetup.GetButton(b: array of TSeSkinSpeedButton): Integer;
var
  i: Integer;
begin
  Result := 0;
  for i := 0 to High(b) do
  begin
    if b[i].Down then
      Result := i;
  end;
end;

procedure TfrmPrintChartSetup.bbNoClick(Sender: TObject);
begin
  inherited;
  Close;
end;

procedure TfrmPrintChartSetup.bbOkClick(Sender: TObject);
begin
  inherited;
  bReturn := True;
  lChart := GetButton([SB1, SB2, SB3, SB4, SB5, SB6, SB7, SB8, SB9, SB10,
    SB11]);
  sPubName := cbxField.Items.Strings[cbxName.ItemIndex];
  sPubValue := cbxField.Items.Strings[cbxValue.ItemIndex];
  Close;
end;

end.

⌨️ 快捷键说明

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