?? epr_selectunit.pas
字號:
unit Epr_SelectUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, Buttons, ComCtrls, StdCtrls, ExtCtrls;
type
TEpr_Select = class(TForm)
Panel1: TPanel;
ADOQuery1: TADOQuery;
ListView1: TListView;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
SpeedButton4: TSpeedButton;
ListView2: TListView;
ADOQuery2: TADOQuery;
Panel2: TPanel;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
Panel3: TPanel;
Label1: TLabel;
ComboBox1: TComboBox;
BitBtn3: TBitBtn;
procedure FormShow(Sender: TObject);
procedure ListView1SelectItem(Sender: TObject; Item: TListItem;
Selected: Boolean);
procedure SpeedButton1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
procedure ListView2SelectItem(Sender: TObject; Item: TListItem;
Selected: Boolean);
procedure SpeedButton4Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
private
{ Private declarations }
public
sString:String;
EprCode,EprName,TotalEpr:String;
LView1Record,LView2Record:integer;
aditems:TListItem;
procedure CheckStatus(Left:integer;Right:integer);
{ Public declarations }
end;
var
Epr_Select: TEpr_Select;
implementation
uses BusTradeDataModuleUnit;
{$R *.dfm}
procedure TEpr_Select.CheckStatus(Left:integer;Right:integer);
begin
if Left=0 then
begin
SpeedButton1.Enabled:=False;
SpeedButton2.Enabled:=False;
end else
begin
SpeedButton1.Enabled:=True;
SpeedButton2.Enabled:=True;
end;
if Right=0 then
begin
SpeedButton3.Enabled:=False;
SpeedButton4.Enabled:=False;
end else
begin
SpeedButton3.Enabled:=True;
SpeedButton4.Enabled:=True;
end;
end;
procedure TEpr_Select.FormShow(Sender: TObject);
var
aditems:TListItem;
i:integer;
begin
listview1.Selected := nil;
ListView1.Items.Clear;
listview2.Selected := nil;
ListView2.Items.Clear;
ComboBox1.Text:='';
LView1Record:=0;
LView2Record:=0;
sString:='';
EprCode:='';
EprName:='';
BitBtn1.Enabled:=False;
BitBtn2.Enabled:=True;
BitBtn3.Enabled:=False;
CheckStatus(LView1Record,LView2Record);
end;
procedure TEpr_Select.ListView1SelectItem(Sender: TObject; Item: TListItem;
Selected: Boolean);
begin
EprCode:=Item.Caption;
EprName:=Item.SubItems[0];
end;
procedure TEpr_Select.SpeedButton1Click(Sender: TObject);{增加一條}
begin
if ListView1.Selected<>nil then
begin
aditems:=ListView2.Items.Add;
aditems.Caption:=EprCode;
aditems.SubItems.Add(EprName);
LView1Record:=LView1Record-1;
LView2Record:=LView2Record+1;
CheckStatus(LView1Record,LView2Record);
ListView1.Selected.Delete;
end else
begin
showmessage('請您選擇一個企業(yè)!');
exit;
end;
ListView1.AlphaSort;
ListView2.AlphaSort;
end;
procedure TEpr_Select.BitBtn2Click(Sender: TObject);
begin
sString:='';
Epr_Select.Close;
end;
procedure TEpr_Select.SpeedButton2Click(Sender: TObject);{全部添加}
var
i:integer;
begin
for i:=0 to LView1Record-1 do
begin
aditems:=ListView2.Items.Add;
aditems.Caption:=ListView1.Items[0].Caption;
aditems.SubItems.Add(ListView1.Items[0].SubItems[0]);
ListView1.Items[0].Delete;
end;
LView2Record:=LView2Record+LView1Record;
LView1Record:=0;
CheckStatus(LView1Record,LView2Record);
ListView1.AlphaSort;
ListView2.AlphaSort;
end;
procedure TEpr_Select.SpeedButton3Click(Sender: TObject);{刪除一條}
begin
if (ListView2.Selected<>nil) then
begin
aditems:=ListView1.Items.Add;
aditems.Caption:=EprCode;
aditems.SubItems.Add(EprName);
LView1Record:=LView1Record+1;
LView2Record:=LView2Record-1;
CheckStatus(LView1Record,LView2Record);
ListView2.Selected.Delete;
end else
begin
showmessage('請您選擇一個企業(yè)!');
exit;
end;
ListView1.AlphaSort;
ListView2.AlphaSort;
end;
procedure TEpr_Select.ListView2SelectItem(Sender: TObject; Item: TListItem;
Selected: Boolean);
begin
EprCode:=Item.Caption;
EprName:=Item.SubItems[0];
end;
procedure TEpr_Select.SpeedButton4Click(Sender: TObject); {刪除全部}
var
i:integer;
begin
for i:=0 to LView2Record-1 do
begin
aditems:=ListView1.Items.Add;
aditems.Caption:=ListView2.Items[0].Caption;
aditems.SubItems.Add(ListView2.Items[0].SubItems[0]);
ListView2.Items[0].Delete;
end;
LView1Record:=LView1Record+LView2Record;
LView2Record:=0;
CheckStatus(LView1Record,LView2Record);
ListView1.AlphaSort;
ListView2.AlphaSort;
end;
procedure TEpr_Select.BitBtn1Click(Sender: TObject);
var
i:integer;
begin
if LView2Record<>0 then
begin
TotalEpr:='('+''''+ListView2.Items[0].Caption+'''';
sString:=ListView2.Items[0].Caption;
for i:=1 to LView2Record-1 do
begin
TotalEpr:=TotalEpr+','+''''+ListView2.Items[i].Caption+'''';
sString:=sString+','+ListView2.Items[i].Caption;
end;
TotalEpr:=TotalEpr+')';
end else
begin
showmessage('對不起!您沒有加入需要的企業(yè)代碼!');
exit;
end;
end;
procedure TEpr_Select.ComboBox1Change(Sender: TObject);
var
aditems:TListItem;
i:integer;
temp:integer;
begin
try
temp:=StrToInt(ComboBox1.Text);
except
showmessage('對不起!您選擇的"統(tǒng)計年份"非法!請重新選擇!');
exit;
end;
if (length(ComboBox1.Text)<>4) or (StrToInt(ComboBox1.Text)>3000) or (StrToInt(ComboBox1.Text)<1900) then
begin
showmessage('對不起!請您在1900年-3000年之間選擇"統(tǒng)計年份"!');
exit;
end;
listview1.Selected := nil;
ListView1.Items.Clear;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select 單位代碼, 單位名稱 from 公用事業(yè)單位基本情況表 where 統(tǒng)計年份='+ComboBox1.Text);
ADOQuery1.Open;
LView1Record:=ADOQuery1.RecordCount;
if LView1Record<>0 then
begin
BitBtn1.Enabled:=true;
BitBtn3.Enabled:=true;
ADOQuery1.First;
for i:=1 to LView1Record do
begin
aditems:=ListView1.Items.Add;
aditems.Caption:=ADOQuery1.fieldbyname('單位代碼').AsString;
aditems.SubItems.Add(ADOQuery1.fieldbyname('單位名稱').AsString);
ADOQuery1.Next;
end;
end;
EprCode:='';
EprName:='';
CheckStatus(LView1Record,LView2Record);
end;
procedure TEpr_Select.BitBtn3Click(Sender: TObject);
begin
listview1.Selected := nil;
ListView1.Items.Clear;
listview2.Selected := nil;
ListView2.Items.Clear;
ComboBox1.Text:='';
LView1Record:=0;
LView2Record:=0;
sString:='';
EprCode:='';
EprName:='';
BitBtn1.Enabled:=False;
BitBtn2.Enabled:=True;
BitBtn3.Enabled:=False;
CheckStatus(LView1Record,LView2Record);
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -