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

📄 addjfjqunit.pas

📁 delphi6.0版本的主要用于学样、网吧的计费系统的源码
💻 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;
      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 + -