www.pudn.com > 电话产品防伪伺服系统(tw8).rar > Uform_code_edit.pas


unit Uform_code_edit; 
 
interface 
 
uses 
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 
  Dialogs, ComCtrls, StdCtrls, Buttons, ImgList, ToolWin, ExtCtrls, DB, 
  ADODB; 
 
type 
  Tform_code_edit = class(TForm) 
    Panel1: TPanel; 
    Image1: TImage; 
    Bevel2: TBevel; 
    Bevel3: TBevel; 
    Image2: TImage; 
    Label1: TLabel; 
    Panel2: TPanel; 
    form_code_edit: TToolBar; 
    ToolButton1: TToolButton; 
    ToolButton2: TToolButton; 
    ImageList2: TImageList; 
    Panel3: TPanel; 
    Panel4: TPanel; 
    BitBtn1: TBitBtn; 
    ListView2: TListView; 
    recordset_temp: TADOQuery; 
    Label2: TLabel; 
    Label3: TLabel; 
    ToolButton3: TToolButton; 
    ImageList1: TImageList; 
    procedure BitBtn1Click(Sender: TObject); 
    procedure FormShow(Sender: TObject); 
    procedure ToolButton1Click(Sender: TObject); 
    procedure ToolButton2Click(Sender: TObject); 
    procedure ToolButton3Click(Sender: TObject); 
  private 
    { Private declarations } 
  public 
    { Public declarations } 
  end; 
 
var 
  form_code_edit: Tform_code_edit; 
 
implementation 
 
uses Uform_edit_d1, Uform_edit_d2, Uform_main; 
 
{$R *.dfm} 
 
procedure Tform_code_edit.BitBtn1Click(Sender: TObject); 
begin 
   close; 
end; 
 
procedure Tform_code_edit.FormShow(Sender: TObject); 
begin 
   //show the form  delete list item 2001-12-19p 
   listview2.Clear ; 
end; 
 
procedure Tform_code_edit.ToolButton1Click(Sender: TObject); 
var 
   sqlstr:string; 
   p:^integer; 
   i:integer; 
   ListItem: TListItem; 
begin 
    {*查询限定窗体的初始化*} 
    form_edit_d1.SpinEdit1.Value :=0; 
    form_edit_d1.SpinEdit2.Value :=0 ; 
    form_edit_d1.SpinEdit3.Value :=0 ;; 
    form_edit_d1.CheckBox1.Checked :=false; 
    form_edit_d1.RadioButton1.Checked :=true; 
    form_edit_d1.RadioButton1.Enabled :=false; 
    form_edit_d1.RadioButton2.Enabled :=false; 
 
    {*查询限定窗体的显示*} 
    form_edit_d1.ShowModal ; 
    if form_edit_d1.yesno =false then exit; 
 
    {*建立SQL语句*} 
    //showmessage(  inttostr(form_edit_d1.k_code)); 
    sqlstr:='select * from [CODE] where [CODE_KIND]=' + inttostr(form_edit_d1.k_code) 
      + ' and [CODE_ONE]>=' + inttostr(form_edit_d1.s_code) + ' and [CODE_ONE]<=' 
      + inttostr(form_edit_d1.e_code)  ; 
    if form_edit_d1.c_code =1 then 
    begin 
      sqlstr:=sqlstr+ ' and [CODE_CHECK]=true'; 
    end; 
    if form_edit_d1.c_code =2 then 
    begin 
      sqlstr:=sqlstr+ ' and [CODE_CHECK]=false'; 
    end; 
 
    {*建立查询*} 
    recordset_temp.SQL.Clear ; 
    recordset_temp.SQL.Add(sqlstr + ' order by [CODE_ONE]' ); 
    recordset_temp.Open ; 
 
    {*填充listview*} 
    listview2.Clear; 
    label3.Caption :=inttostr(recordset_temp.RecordCount )+ '个'; 
    for i:=1 to recordset_temp.RecordCount do 
    begin 
      listitem:=listview2.Items.Add ; 
 
      listitem.Caption :=inttostr(recordset_temp.Fields[1].AsInteger ); 
      listitem.SubItems.Add(inttostr(recordset_temp.Fields[2].asinteger)); 
      listitem.SubItems.Add (recordset_temp.Fields [3].AsString ); 
      new(p); 
      p^ := recordset_temp.Fields[0].AsInteger ; 
      listitem.Data :=p; 
      if recordset_temp.Fields[4].AsBoolean =true then 
      begin 
         listitem.SubItems.Add('是'); 
         listitem.SubItems.Add (datetimetostr(recordset_temp.Fields [5].AsDateTime )); 
         listitem.ImageIndex :=0; 
      end 
      else 
      begin 
         listitem.SubItems.Add('否'); 
         listitem.ImageIndex :=1; 
      end; 
 
      recordset_temp.Next; 
    end; 
    recordset_temp.Close ; 
end; 
 
procedure Tform_code_edit.ToolButton2Click(Sender: TObject); 
var 
   p:^integer; 
begin 
   //SET THE CODE'S propertiy 
   if listview2.Selected=nil then exit; 
 
   //CREATE THE SQL STRING 
   p:=listview2.Selected.Data ; 
   recordset_temp.SQL.Clear ; 
   recordset_temp.SQL.Add('select * from [CODE] where [CODE_ID]=' + inttostr(p^)); 
 
   //OPEN THE RECORDSET OBJECT 
   recordset_temp.Open ; 
   if recordset_temp.RecordCount =0 then exit; 
 
   //show the form 
   form_edit_d2.value :=recordset_temp.Fields[4].AsBoolean ; 
   form_edit_d2.ShowModal ; 
 
   //modify the pro 
   if form_edit_d2.yesno=false then exit ; 
 
   recordset_temp.Edit ; 
   recordset_temp.Fields[4].AsBoolean :=form_edit_d2.value ; 
   if form_edit_d2.value =true then 
   begin 
      recordset_temp.Fields[5].AsDateTime :=now; 
   end; 
   recordset_temp.Post; 
 
    //edit the listitem 
    listview2.Selected.Caption  :=inttostr(recordset_temp.Fields[1].AsInteger ); 
    listview2.Selected.SubItems.Clear ; 
    listview2.Selected.SubItems.Add(inttostr(recordset_temp.Fields[2].asinteger)); 
    listview2.Selected.SubItems.Add(recordset_temp.Fields [3].AsString ); 
    if recordset_temp.Fields[4].AsBoolean =true then 
    begin 
      listview2.Selected.SubItems.Add('是'); 
      listview2.Selected.SubItems.Add(datetimetostr(recordset_temp.Fields [5].AsDateTime )); 
    end 
    else 
    begin 
      listview2.Selected.SubItems.Add('否'); 
    end; 
 
   recordset_temp.close ; 
 
end; 
 
procedure Tform_code_edit.ToolButton3Click(Sender: TObject); 
var 
   temp:pchar; 
   p:^integer; 
begin 
   //delete the selected code 2001-12-19 
 
   if listview2.selected=nil then exit; 
 
   temp:=pchar('您是否确定要删除此号?'); 
   if messagebox(self.Handle, temp, 
                  '警告',MB_yesno or MB_ICONQUESTION	)=IDyes then 
   begin 
      p:=listview2.Selected.Data ; 
      form_main.Dconnect.Execute('delete * from [CODE] where [CODE_ID]=' + inttostr(p^)); 
      listview2.Selected.Delete ; 
   end; 
 
end; 
 
end.