?? addjfjqunit.pas
字號:
unit AddjfjqUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ImgList, ComCtrls, ToolWin, StdCtrls, ExtCtrls;
type
TSeljfjqForm = class(TForm)
Splitter2: TSplitter;
lvjf: TListView;
Panel1: TPanel;
lvjq: TListView;
Panel2: TPanel;
CboxJq: TCheckBox;
CoolBar1: TCoolBar;
ToolBar1: TToolBar;
btn_add: TToolButton;
btn_del: TToolButton;
btn_save: TToolButton;
btn_exit: TToolButton;
ImageList1: TImageList;
Splitter1: TSplitter;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
Panel3: TPanel;
Panel4: TPanel;
CboxSeljq: TCheckBox;
lvxzjq: TListView;
procedure FormShow(Sender: TObject);
procedure btn_exitClick(Sender: TObject);
procedure lvjfChange(Sender: TObject; Item: TListItem;
Change: TItemChange);
procedure lvjfClick(Sender: TObject);
procedure btn_addClick(Sender: TObject);
procedure btn_saveClick(Sender: TObject);
procedure CboxJqClick(Sender: TObject);
procedure btn_delClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure CboxSeljqClick(Sender: TObject);
private
{ Private declarations }
bsaved: boolean;
function SaveNameStr: string;
function SaveIdStr: string;
public
{ Public declarations }
InputIdStr: string;
InputNameStr: string;
ReturnIdStr: string;
ReturnNameStr: string;
end;
var
SeljfjqForm: TSeljfjqForm;
implementation
uses datamodule;
{$R *.dfm}
procedure TSeljfjqForm.FormShow(Sender: TObject);
var
li: tlistitem;
begin
with dmfm.ADOQuery1 do
begin
close;
sql.Text := 'select Fnum,Fname from TjfInfo where fenableuse=1 order by Forder';
open;
first;
lvjf.Items.Clear;
while not eof do
begin
li := lvjf.Items.Add;
li.Caption := trim(fields[1].AsString);
li.SubItems.add(trim(fields[0].AsString));
next;
end;
end;
lvjq.Items.Clear;
lvxzjq.Items.Clear;
cboxjq.Checked := false;
cboxseljq.Checked := false;
bsaved := false;
ReturnIdStr := '';
ReturnNameStr := '';
end;
procedure TSeljfjqForm.btn_exitClick(Sender: TObject);
begin
close;
end;
procedure TSeljfjqForm.lvjfChange(Sender: TObject; Item: TListItem;
Change: TItemChange);
begin
cboxjq.Checked := false;
end;
procedure TSeljfjqForm.lvjfClick(Sender: TObject);
var
li: tlistitem;
begin
if lvjf.Selected = nil then exit;
lvjq.Items.Clear;
with dmfm.ADOQuery1 do
begin
close;
sql.Text := format('SELECT id,pcname FROM xwpctb where Fjfnum=''%s''', [trim(lvjf.Selected.SubItems[0])]);
open;
first;
while not eof do
begin
li := lvjq.Items.Add;
li.Caption := trim(fields[1].AsString);
li.SubItems.Add(trim(fields[0].AsString));
next;
end;
end;
end;
procedure TSeljfjqForm.btn_addClick(Sender: TObject);
var
i, j: integer;
exitjq: boolean;
begin
for i := 0 to lvjq.Items.Count - 1 do
begin
//如果機器被選中,且還沒有添加到機器選擇列表中,則將其添加到機器選擇列表中
exitjq := false;
if lvjq.Items[i].Checked then
begin
for j := 0 to lvxzjq.Items.Count - 1 do
begin
if trim(lvjq.Items[i].Caption) = trim(lvxzjq.Items[j].SubItems.Strings[0]) then
begin
exitjq := true;
break;
end;
if not exitjq then
begin
lvxzjq.Items.Add;
lvxzjq.Items[lvxzjq.Items.Count - 1].Caption := lvjf.Selected.Caption;
lvxzjq.Items[lvxzjq.Items.Count - 1].SubItems.add(lvjq.Items[i].Caption);
lvxzjq.Items[lvxzjq.Items.Count - 1].SubItems.add(lvjq.Items[i].SubItems.Strings[0]);
end;
end;
end;
end;
procedure TSeljfjqForm.btn_saveClick(Sender: TObject);
begin
bsaved := true;
close;
end;
procedure TSeljfjqForm.CboxJqClick(Sender: TObject);
var
i: integer;
begin
for i := 0 to lvjq.Items.Count - 1 do
begin
lvjq.Items[i].Checked := cboxjq.Checked;
end;
end;
procedure TSeljfjqForm.btn_delClick(Sender: TObject);
var
i: integer;
begin
for i := lvxzjq.Items.Count - 1 downto 0 do
begin
if lvxzjq.Items[i].Checked then lvxzjq.Items[i].Delete;
end;
end;
function TSeljfjqForm.SaveIdStr: string;
var
i: integer;
begin
result := '';
for i := 0 to lvxzjq.Items.Count - 1 do
result := result + lvxzjq.Items[i].SubItems.Strings[1] + ',';
result := copy(result, 1, length(result) - 1);
end;
function TSeljfjqForm.SaveNameStr: string;
var
i: integer;
begin
result := '';
for i := 0 to lvxzjq.Items.Count - 1 do
result := result + '''' + lvxzjq.Items[i].SubItems.Strings[0] + ''',';
result := copy(result, 1, length(result) - 1);
end;
procedure TSeljfjqForm.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
if bsaved then
begin
ReturnIdStr := SaveIdStr;
ReturnNameStr := SaveNameStr;
end
else
begin
ReturnIdStr := InputIdStr;
ReturnNameStr := InputNameStr;
end;
end;
procedure TSeljfjqForm.CboxSeljqClick(Sender: TObject);
var
i: integer;
begin
for i := 0 to lvxzjq.Items.Count - 1 do
begin
lvxzjq.Items[i].Checked := cboxseljq.Checked;
end;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -