📄 arangeclass.pas
字号:
unit ArangeClass;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, BaseChildForm, StdCtrls, Buttons, ExtCtrls, ComCtrls, Gauges,AdoDB,Datamod,DateUtils,
DB, Grids, DBGrids;
type
TItem=Class(TObject)
public
ItemID:String;
ItemCaption:String;
end;
type
TfArangeClass = class(TfBaseChildForm)
RadioGroup1: TRadioGroup;
DateTimePicker1: TDateTimePicker;
Label2: TLabel;
Label3: TLabel;
DateTimePicker2: TDateTimePicker;
Panel1: TPanel;
ListBox1: TListBox;
ListBox2: TListBox;
Label4: TLabel;
Label5: TLabel;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
cobClass: TComboBox;
Label6: TLabel;
BitBtn5: TBitBtn;
Gauge1: TGauge;
Label7: TLabel;
Label8: TLabel;
procedure RadioGroup1Click(Sender: TObject);
procedure ListBox1DblClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure ListBox2DblClick(Sender: TObject);
procedure BitBtn5Click(Sender: TObject);
private
{ Private declarations }
intOldType:Integer;
Procedure MoveItem(Const SourceList:TListbox;Const DescList:TListbox;Const MoveALL:Boolean);
public
{ Public declarations }
end;
var
fArangeClass: TfArangeClass;
implementation
{$R *.dfm}
Function GetItemIDS(const Listbox:TListbox):String;
var
strResult:String;
i:Integer;
Begin
if (Listbox=nil) or (Listbox.Items.Count=0) then
Result:=''
else begin
strResult:='';
for I:=0 to Listbox.Items.Count-1 do
Begin
if strResult<>'' then
strResult:=strResult+',';
strResult:=strResult+''''+TItem(Listbox.Items.Objects[i]).ItemID+'''';
end;
Result:=strResult;
end;
end;
procedure TfArangeClass.RadioGroup1Click(Sender: TObject);
var
Item:TItem;
AdoQue:TAdoQuery;
begin
if intOldType<>RadioGroup1.ItemIndex then Begin
intOldType:=RadioGroup1.ItemIndex ;
Listbox2.Items.Clear ;
AdoQue:=TAdoQuery.Create(self);
AdoQue.Connection :=fdatamod.AdoCon ;
Listbox1.Items.Clear ;
Case RadioGroup1.ItemIndex of
0:AdoQue.SQL.Add('Select cDepartMentNo As ItemID,cDepartmentName As ItemCaption From Department Order by cDepartMentNo') ;
1:AdoQue.SQL.Add('Select cWorkerNo As ItemID,cWorkerName+'' [''+cDepartMentName+'']'' As ItemCaption From V_Workers Where lLeaved=0 Order by cDepartMentName,cWorkerNo') ;
2:AdoQue.SQL.Add('Select cClassNo As ItemID,cClassName As ItemCaption From Class Order by cClassNo') ;
end;
AdoQue.Open;
While Not AdoQue.Eof do
Begin
Item:=TItem.Create ;
Item.ItemID :=AdoQue.fieldbyName('ItemID').AsString ;
Item.ItemCaption :=AdoQue.fieldbyName('ItemCaption').AsString ;
Listbox1.Items.AddObject(item.ItemCaption,Item);
AdoQue.Next ;
end;
AdoQue.Free;
End;
end;
procedure TfArangeClass.ListBox1DblClick(Sender: TObject);
begin
MoveItem(Listbox1,Listbox2,False);
end;
procedure TfArangeClass.FormCreate(Sender: TObject);
var
AdoQue:TAdoQuery;
Item:TItem;
begin
inherited;
self.intOldType:=-1;
RadioGroup1Click(nil);
Adoque:=TAdoquery.Create(self);
AdoQue.Connection :=fdatamod.AdoCon ;
adoque.SQL.Add('Select Max(dDate) As maxDay From DailyCard');
adoQue.Open;
if AdoQue.FieldByName('maxDay').AsString='' then
Datetimepicker1.Date :=Date()
else
DateTimepicker1.Date :=IncDay( adoQue.fieldbyName('maxDay').AsDateTime,1);
DateTimepicker2.date:=IncMonth(DateTimepicker1.Date,1);
adoQue.Close;
adoQue.sql.Clear ;
adoQue.SQL.Add('Select cClassNO,cClassName From Class Order by cClassNo');
AdoQue.Open;
cobClass.Items.Clear ;
While Not adoQue.Eof do
begin
Item:=TItem.Create ;
Item.ItemID:=adoQue.fieldbyName('cClassNO').AsString ;
Item.ItemCaption :=adoQue.fieldbyname('cClassName').AsString ;
cobClass.Items.AddObject(Item.ItemCaption,Item);
adoQue.Next;
end;
adoQue.Free;
if cobClass.Items.Count >0 then
cobClass.ItemIndex :=0;
end;
procedure TfArangeClass.MoveItem(const SourceList, DescList: TListbox;
const MoveALL: Boolean);
var
strMessage:String;
intIndex :Integer;
begin
if SourceList.Items.Count>0 then begin
If MoveAll then Begin
While SourceList.Items.Count >0 do
Begin
SourceList.ItemIndex :=0;
MoveItem(SourceList,DescList,False);
end;
end Else begin
If SourceList.ItemIndex>=0 then Begin
DescList.Items.AddObject(SourceList.Items[SourceList.ItemIndex],SourceList.Items.Objects[SourceList.ItemIndex]);
DescList.ItemIndex :=DescList.Items.IndexOf(SourceList.Items[SourceList.ItemIndex]);
If SourceList.ItemIndex=SourceList.Items.Count-1 then
intIndex:=SourceList.Items.count-2
else
intIndex:=SourceList.ItemIndex ;
SourceList.Items.Delete(SourceList.ItemIndex );
SourceList.ItemIndex :=intIndex;
end Else begin
strMessage:='眤临⊿Τ匡拒';
Case RadioGroup1.ItemIndex of
0:strMessage:=strMessage+'场
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -