📄 form_worksel.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 + -