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

📄 form_worksel.pas

📁 一个电力企业的后台管理程序
💻 PAS
字号:
unit Form_WorkSel;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Buttons, StdCtrls, ExtCtrls;

type
  TFrm_WorkSel = class(TForm)
    Pl_Main: TPanel;
    GB_SelWork: TGroupBox;
    LB_SelWork: TListBox;
    GB_SeledWork: TGroupBox;
    LB_SeledWork: TListBox;
    Panel2: TPanel;
    Sb_InAll: TSpeedButton;
    Sb_InOne: TSpeedButton;
    Sb_OutOne: TSpeedButton;
    Sb_OutAll: TSpeedButton;
    Btn_Ok: TBitBtn;
    Btn_Cancel: TBitBtn;
    procedure FormCreate(Sender: TObject);
    procedure Btn_CancelClick(Sender: TObject);
    procedure Sb_InAllClick(Sender: TObject);
    procedure Sb_OutAllClick(Sender: TObject);
    procedure Sb_InOneClick(Sender: TObject);
    procedure Sb_OutOneClick(Sender: TObject);
    procedure Btn_OkClick(Sender: TObject);
  private
    { Private declarations }
    m_LstAllWork: TList;
    //FOpType: Integer;
    procedure FillWorkID;
    procedure FillSelWorkID;

  public
    { Public declarations }
    m_ASelWorkID : Array of String;
  end;

var
  Frm_WorkSel: TFrm_WorkSel;

implementation
uses SystemDM, dbtables;
{$R *.DFM}

{ TFrm_WorkSel }

procedure TFrm_WorkSel.FillWorkID;
var
 PWorkID: PChar;
 I,IWorkIDLen: Integer;
begin
 with TQuery.Create(nil) do
 try
  Close;
  DataBaseName := SysDM.DBMain.DatabaseName;
  Sql.Text := 'SELECT WORKID FROM SYSLOGIN';
  Open;
  for I := 0 to RecordCount - 1 do
   begin
    IWorkIDLen := Length(Trim(FieldByName('WorkID').AsString));
    GetMem(PWorkID,IWorkIDLen + 1);
    StrPCopy(PWorkID,Trim(FieldByName('WorkID').AsString));
    m_LstAllWork.Add(PWorkID);
    Next;
   end;
  for I := 0 to m_LstAllWork.Count - 1 do
   begin
    PWorkID := m_LstAllWork.Items[I];
    LB_SelWork.Items.Add(StrPas(PWorkID));
    FreeMem(PWorkID);
   end;
  m_LstAllWork.Free;
 finally
  Free;
 end;
end;

procedure TFrm_WorkSel.FormCreate(Sender: TObject);
begin
  m_LstAllWork := TList.Create;
 FillWorkID

end;

procedure TFrm_WorkSel.Btn_CancelClick(Sender: TObject);
begin
 Close;
end;

procedure TFrm_WorkSel.Sb_InAllClick(Sender: TObject);
var
 I : Integer;
begin
 for I := 0 to LB_SelWork.Items.Count - 1 do
  begin
   LB_SeledWork.Items.Add(LB_SelWork.Items.Strings[I]);
  end;
  LB_SelWork.Clear;
end;

procedure TFrm_WorkSel.Sb_OutAllClick(Sender: TObject);
var
 I: Integer;
begin
 for I := 0 to LB_SeledWork.Items.Count - 1 do
  begin
   LB_SelWork.Items.Add(LB_SeledWork.Items.Strings[I]);
  end;
  LB_SeledWork.Clear;
end;

procedure TFrm_WorkSel.Sb_InOneClick(Sender: TObject);
var
 I,J,SelCount: Integer;
 Str : String;
 //ADel: Array of Integer;
begin
 J := 0;
 SelCount := 0;
 for I := 0 to LB_SelWork.Items.Count - 1 do
  begin
   if LB_SelWork.Selected[I]then
    begin
     SelCount := SelCount + 1;
     Str := LB_SelWork.Items.Strings[I];
     LB_SeledWork.Items.Add(Str);
    end;
  end;
// J := 0;
 while J < SelCount  do
  begin
   for I := 0 to LB_SelWork.Items.Count - 1 do
    begin
     if LB_SelWork.Selected[I] then
      begin
       LB_SelWork.Items.Delete(I);
       Break;
      end;
    end;
   J := J + 1
  end;
end;

procedure TFrm_WorkSel.Sb_OutOneClick(Sender: TObject);
var
 I,J,SelCount: Integer;
begin
 SelCount := 0;
 J := 0;
 for I := 0 to LB_SeledWork.Items.Count - 1 do
  begin
   if LB_SeledWork.Selected[I] then
    begin
     LB_SelWork.Items.Add(LB_SeledWork.Items.Strings[I]);
     SelCount := SelCount + 1;
    end;
  end;
 while J < SelCount do
  begin
   for I := 0 to LB_SeledWork.Items.Count - 1 do
    begin
     if LB_SeledWork.Selected[I] then
      begin
       Lb_SeledWork.Items.Delete(I);
       Break;
      end;
     J := J + 1;
    end;
  end;
end;

procedure TFrm_WorkSel.FillSelWorkID;
var
 //TempObject: TObject;
// PWorkID : PChar;
 I,IWorkIDNum: Integer;
begin
 //if FOpType = 0 then

 //TempObject := Self.Owner as TFrm_AgentWork;
 IWorkIDNum := LB_SeledWork.Items.Count;
 SetLength(m_ASelWorkID,IWorkIDNum);
 for I := 0 to IWorkIDNum - 1 do
  begin
   m_ASelWorkID[I] :=  LB_SeledWork.Items.Strings[I];
   //if I = 0 then
   // Edt_SeledWork.Text := LB_SeledWork.Items.Strings[I]
   //else
   // Edt_SeledWork.Text := TempObject.Edt_SeledWork.Text + ','+ LB_SeledWork.Items.Strings[I];
  end;
 //Close;
end;

procedure TFrm_WorkSel.Btn_OkClick(Sender: TObject);
begin
 FillSelWorkID;
 Close;

end;


end.

⌨️ 快捷键说明

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