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

📄 cwa150_03.pas.svn-base

📁 这是一个功能齐全的,代码完整的ERP企业信息管理系统,现在上传和大家分享
💻 SVN-BASE
字号:
unit Cwa150_03;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, dxExEdtr, Buttons, StdCtrls, dxDBTLCl, dxGrClms, dxTL, dxDBCtrl,
  dxDBGrid, dxCntner, DB, ADODB, dxDBTL;

type
  TCwa150_03Form = class(TForm)
    Label1: TLabel;
    bbtnOk: TBitBtn;
    bbtnExit: TBitBtn;
    sbFirst: TSpeedButton;
    sbPrior: TSpeedButton;
    sbLast: TSpeedButton;
    sbNext: TSpeedButton;
    dsCwa150: TDataSource;
    qryCwa150: TADOQuery;
    ListBox1: TListBox;
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure bbtnOkClick(Sender: TObject);
    procedure bbtnExitClick(Sender: TObject);
    procedure sbFirstClick(Sender: TObject);
    procedure sbPriorClick(Sender: TObject);
    procedure sbLastClick(Sender: TObject);
    procedure sbNextClick(Sender: TObject);
    procedure ListBox1DragDrop(Sender, Source: TObject; X, Y: Integer);
    procedure ListBox1DragOver(Sender, Source: TObject; X, Y: Integer;
      State: TDragState; var Accept: Boolean);
    procedure ListBox1EndDrag(Sender, Target: TObject; X, Y: Integer);
  private
    ADropIndex:Integer;
    procedure SetInterface;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Cwa150_03Form: TCwa150_03Form;

implementation

uses CommFun, SYSDATA;

{$R *.dfm}

procedure TCwa150_03Form.SetInterface;
begin
  Font.Name:=AFontName;
  Caption:=GetDBString('CWA15003001');  //排序
  Label1.Caption:=GetDBString('CWA15003002');  //考勤项目排序是为了在计算考勤项目时设置项目的计算顺序。有些考勤项目是依据其他考勤项目数据来计算的,这时就必须先计算其他项目。 例如:计算“年请假时数”必须要先计算“月请假时数”。
  qryCwa150.FieldByName('C150_002').DisplayLabel:=GetDBString('CWA15003003');  //项目编号
  qryCwa150.FieldByName('C150_003').DisplayLabel:=GetDBString('CWA15003004');  //项目名称
  qryCwa150.FieldByName('C150_004').DisplayLabel:=GetDBString('CWA15003005');  //项目类型
  qryCwa150.FieldByName('C150_005').DisplayLabel:=GetDBString('CWA15003006');  //计量单位
  qryCwa150.FieldByName('C150_006').DisplayLabel:=GetDBString('CWA15003007');  //计算公式
  qryCwa150.FieldByName('C150_007').DisplayLabel:=GetDBString('CWA15003008');  //计算顺序
  qryCwa150.FieldByName('C150_008').DisplayLabel:=GetDBString('CWA15003009');  //是否使用
  bbtnOk.Caption:=GetDBString('CWA15003010');  //确定(&O)
  bbtnExit.Caption:=GetDBString('CWA15003011');  //退出(&X)
  sbFirst.Hint:=GetDBString('CWA15003012');  //移到第一条记录前面
  sbPrior.Hint:=GetDBString('CWA15003013');  //移到上一条记录前面
  sbLast.Hint:=GetDBString('CWA15003014');  //移到下一条记录后面
  sbNext.Hint:=GetDBString('CWA15003015');  //移到最后一条记录后面
end;

procedure TCwa150_03Form.FormCreate(Sender: TObject);
var
  S:String;
begin
  ListBox1.Clear;
  qryCwa150.Open;
  while not qryCwa150.Eof do
  begin
    S:='['+qryCwa150.FieldByName('C150_002').AsString+']     '+qryCwa150.FieldByName('C150_003').AsString;
    ListBox1.Items.Add(S);
    qryCwa150.Next;
  end;
  ListBox1.ItemIndex:=0;
  SetInterface;
end;

procedure TCwa150_03Form.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  qryCwa150.Close;
end;

procedure TCwa150_03Form.bbtnOkClick(Sender: TObject);
var
  I:Integer;
  S:String;
begin
//确定(&O)
  for I:=0 to ListBox1.Items.Count-1 do
  begin
    S:=ListBox1.Items[I];
    S:=copy(S,2,pos(']',S)-2);
    qryCwa150.Locate('C150_002',S,[loCaseInsensitive]);
    qryCwa150.Edit;
    qryCwa150.FieldByName('C150_007').Value:=I+1;
    qryCwa150.Post;
  end;
  ModalResult:=1;
end;

procedure TCwa150_03Form.bbtnExitClick(Sender: TObject);
begin
//退出(&X)
  Close;
end;

procedure TCwa150_03Form.sbFirstClick(Sender: TObject);
var
  ACurIndex,ANewIndex:Integer;
begin
//最前
  if ListBox1.Count=0 then Exit;
  ACurIndex:=ListBox1.ItemIndex;
  ANewIndex:=0;
  ListBox1.Items.Move(ACurIndex,ANewIndex);
  ListBox1.ItemIndex:=ANewIndex;
end;

procedure TCwa150_03Form.sbPriorClick(Sender: TObject);
var
  ACurIndex,ANewIndex:Integer;
begin
//上移
  if ListBox1.Count=0 then Exit;
  ACurIndex:=ListBox1.ItemIndex;
  ANewIndex:=ListBox1.ItemIndex-1;
  ListBox1.Items.Move(ACurIndex,ANewIndex);
  ListBox1.ItemIndex:=ANewIndex;
end;

procedure TCwa150_03Form.sbLastClick(Sender: TObject);
var
  ACurIndex,ANewIndex:Integer;
begin
//最后
  if ListBox1.Count=0 then Exit;
  ACurIndex:=ListBox1.ItemIndex;
  ANewIndex:=ListBox1.Count-1;
  ListBox1.Items.Move(ACurIndex,ANewIndex);
  ListBox1.ItemIndex:=ANewIndex;
end;

procedure TCwa150_03Form.sbNextClick(Sender: TObject);
var
  ACurIndex,ANewIndex:Integer;
begin
//下移
  if ListBox1.Count=0 then Exit;
  ACurIndex:=ListBox1.ItemIndex;
  ANewIndex:=ListBox1.ItemIndex+1;
  ListBox1.Items.Move(ACurIndex,ANewIndex);
  ListBox1.ItemIndex:=ANewIndex;
end;

procedure TCwa150_03Form.ListBox1DragDrop(Sender, Source: TObject; X,
  Y: Integer);
begin
  ADropIndex:=ListBox1.ItemIndex;
end;

procedure TCwa150_03Form.ListBox1DragOver(Sender, Source: TObject; X,
  Y: Integer; State: TDragState; var Accept: Boolean);
var
  Item:Integer;
begin
  Item:=ListBox1.ItemAtPos(Point(X, Y), False);
  Accept:=(Item >= 0) and (Item < ListBox1.Items.Count) and (not ListBox1.Selected[Item]);
end;

procedure TCwa150_03Form.ListBox1EndDrag(Sender, Target: TObject; X,
  Y: Integer);
var
  ANewIndex:Integer;
begin
  if ADropIndex=0 then Exit;
  ANewIndex:=ListBox1.ItemAtPos(Point(X, Y), False);
  ListBox1.Items.Move(ADropIndex,ANewIndex);
end;

end.

⌨️ 快捷键说明

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