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

📄 umain.~pas

📁 这是DEL原代码,用ACCESS数据库连接的 可以通过各种方式查询信息
💻 ~PAS
字号:
unit umain;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, Grids, ComCtrls, ImgList, DBGrids, StdCtrls, Menus, shellapi,
  DB, ADODB, Buttons;
type
  Tfrmmain = class(TForm)
    Panel1: TPanel;
    TreeView1: TTreeView;
    Panel2: TPanel;
    Panel3: TPanel;
    dbgrdshow: TDBGrid;
    GroupBox1: TGroupBox;
    GroupBox2: TGroupBox;
    btnadd: TButton;
    btnsave: TButton;
    edtcondition: TEdit;
    btnfind: TButton;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Label14: TLabel;
    Label15: TLabel;
    Label17: TLabel;
    edtname: TEdit;
    edtage: TEdit;
    edtename: TEdit;
    edtadrtel: TEdit;
    edttel: TEdit;
    edtnation: TEdit;
    edtqqnum: TEdit;
    edtworktel: TEdit;
    edtpostnum: TEdit;
    edtaddress: TEdit;
    edtemail: TEdit;
    GroupBox3: TGroupBox;
    btnrepair: TButton;
    btnsaverep: TButton;
    btndelete: TButton;
    ADOConnection1: TADOConnection;
    ADOTable1: TADOTable;
    ADOQuery1: TADOQuery;
    Label7: TLabel;
    Edit1: TEdit;
    btfound: TButton;
    Label13: TLabel;
    edtkind: TEdit;
    edtsex: TEdit;
    GroupBox4: TGroupBox;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    BitBtn3: TBitBtn;
    BitBtn4: TBitBtn;
    BitBtn5: TBitBtn;
    BitBtn6: TBitBtn;
    BitBtn7: TBitBtn;
    ComboBox1: TComboBox;
    edtbirthday: TEdit;
    DataSource1: TDataSource;
    procedure btnquitClick(Sender: TObject);
    procedure btnaddClick(Sender: TObject);
    procedure dbgrdshowDblClick(Sender: TObject);
    procedure btnsaveClick(Sender: TObject);
    procedure btndeleteClick(Sender: TObject);
    procedure btnaboutClick(Sender: TObject);
    procedure btnrepairClick(Sender: TObject);
    procedure btnsaverepClick(Sender: TObject);
    procedure TreeView1DblClick(Sender: TObject);
    procedure btnfindClick(Sender: TObject);
    procedure Label22Click(Sender: TObject);
    procedure Label16Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn7Click(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
    procedure BitBtn5Click(Sender: TObject);
    procedure BitBtn6Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure btfoundClick(Sender: TObject);
  private
    procedure formini();
    procedure Edittextshow();
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmmain: Tfrmmain;

implementation

uses about, Unit3, Unit5, Unit4;



{$R *.dfm}

procedure Tfrmmain.btnquitClick(Sender: TObject);
begin
frmmain.close;
end;

procedure Tfrmmain.formini();
begin
  edtcondition.Text := '';
  edtname.Text := '';
  edtage.Text := '';
  edit1.Text:= '';
  edtename.Text := '';
  edtadrtel.Text := '';
  edttel.Text := '';
  edtnation.Text := '';
  edtqqnum.Text := '';
  edtaddress.Text := '';
  edtworktel.Text := '';
  edtpostnum.Text := '';
  edtaddress.Text := '';
  edtemail.Text := '';
  edtsex.text := ' ';
  edtkind.text :='';

end;

function IsReadOnly(b: Boolean; colors: Tcolor): Boolean;
begin
  with frmmain do
  begin
    edtname.ReadOnly := b; edtname.color := colors;
    edtage.ReadOnly := b; edtage.color := colors;
    edtename.ReadOnly := b; edtename.color := colors;
    edtadrtel.ReadOnly := b; edtadrtel.color := colors;
    edttel.ReadOnly := b; edttel.color := colors;
    edtnation.ReadOnly := b; edtnation.color := colors;
    edtqqnum.ReadOnly := b; edtqqnum.color := colors;
    edtaddress.ReadOnly := b; edtaddress.color := colors;
    edtworktel.ReadOnly := b; edtworktel.color := colors;
    edtpostnum.ReadOnly := b; edtpostnum.color := colors;
    edtaddress.ReadOnly := b; edtaddress.color := colors;
    edtemail.ReadOnly := b; edtemail.color := colors;
    edtsex.Enabled := not b; edtsex.color := colors;
    edtkind.Enabled := not b; edtkind.color := colors;
     edtbirthday.Enabled:=not b; edtbirthday.Color:=colors;
  end;
  end;
procedure Tfrmmain.btnfindClick(Sender: TObject);
   begin
  adotable1.Close;
  datasource1.DataSet:=adoquery1;
  with ADOquery1 do
    begin
   if combobox1.Text='姓名' then
   begin
     Close;
     SQL.Clear;
    sql.Add('select * from 表1 where 姓名=:姓名');
    Parameters.ParamByName('姓名').Value:=edtcondition.Text;
   end;
   if combobox1.Text='编号' then
     begin
       close;
       sql.Clear;
       sql.Add('select * from 表1 where 编号=:编号');
       Parameters.ParamByName('编号').Value:=edtcondition.Text;
     end;
   if combobox1.Text='QQ号码' then
     begin
       close;
       sql.Clear;
       sql.Add('select * from 表1 where OICQ号=:OICQ号');
       Parameters.ParamByName('OICQ号').Value:=edtcondition.Text;
     end;
   open;
 while not eof do
    begin
       edtname.Text:=fieldbyname('姓名').AsString;
       edtage.Text:=fieldbyname('年龄').AsString;
       edtnation.Text:=fieldbyname('民族').AsString;
       edit1.Text:=fieldbyname('编号').AsString;
       edtqqnum.Text:=fieldbyname('OICQ号').AsString;
       edtename.Text:=fieldbyname('网名').AsString;
       edtadrtel.Text:=fieldbyname('住宅电话').AsString;
       edttel.Text:=fieldbyname('手机号码').AsString;
       edtaddress.Text:=fieldbyname('家庭住址').AsString;
       edtpostnum.Text:=fieldbyname('邮政编码').AsString;
       edtworktel.Text:=fieldbyname('单位电话').AsString;
       edtemail.Text:=fieldbyname('E-mail').AsString;
       edtsex.Text:=fieldbyname('性别').AsString;
       edtkind.Text:=fieldbyname('类型').AsString;
       edtbirthday.Text:=fieldbyname('生日').AsString;
       next;
      end;            
       if recordcount=0 then
      showmessage('没有关于这个人的信息!');

   end;

end;
procedure Tfrmmain.btnaddClick(Sender: TObject);
begin
  formini;
IsReadOnly(False, clWindow);
  edtname.SetFocus;
end;
procedure Tfrmmain.dbgrdshowDblClick(Sender: TObject);
begin
adotable1.Open;
datasource1.DataSet:=adotable1;
try
    with ADOtable1 do
    begin
      edtname.Text := FieldValues['姓名'];
       edtsex.Text := FieldValues['性别'];
      edtage.Text := FieldValues['年龄'];
      edtename.Text := FieldValues['网名'];
      edtadrtel.Text := FieldValues['住宅电话'];
      edttel.Text := FieldValues['手机号码'];
      edtnation.Text := FieldValues['民族'];
      edtqqnum.Text := FieldValues['OICQ号'];
      edtaddress.Text := FieldValues['家庭住址'];
      edtworktel.Text := FieldValues['单位电话'];
      edtpostnum.Text := FieldValues['邮政编码'];
      edtemail.Text := FieldValues['E-MAIL'];
      edit1.Text := FieldValues['编号'];
     edtkind.Text := FieldValues['类型'];
     edtbirthday.Text := FieldValues['生日'];
  //   edtpostnum.Text := FieldValues['出生年月'];
    end;
    btnrepair.Enabled := True;
    btnsaverep.Enabled := True;
  except
  end;
end;

procedure Tfrmmain.Edittextshow;
begin
with ADOtable1 do
  begin
    FieldByName('姓名').AsString := Trim(edtname.Text);
    FieldByName('年龄').AsInteger := StrToInt(Trim(edtage.Text));
    FieldByName('编号').AsInteger := StrToInt(Trim(edit1.Text));
    FieldByName('网名').AsString := Trim(edtename.Text);
    FieldByName('住宅电话').AsString := Trim(edtadrtel.Text);
    FieldByName('手机号码').AsString := Trim(edttel.Text);
    FieldByName('民族').AsString := Trim(edtnation.Text);
    FieldByName('OICQ号').AsString := Trim(edtqqnum.Text);
    FieldByName('家庭住址').AsString := Trim(edtaddress.Text);
    FieldByName('单位电话').AsString := Trim(edtworktel.Text);
    FieldByName('邮政编码').AsString := Trim(edtpostnum.Text);
    FieldByName('E-mail').AsString := Trim(edtemail.Text);
    FieldByName('生日').AsString := Trim(edtbirthday.Text);
    FieldByName('性别').AsString :=edtsex.Text;
    FieldByName('类型').AsString := edtkind.Text;
  end;
end;

procedure Tfrmmain.btnsaveClick(Sender: TObject);
begin
  if (edtname.Text <> '') and (edtkind.Text <> '') and (edtsex.Text <> '') then
  begin
    with ADOtable1 do
    begin
      Edit;
      if MessageBox(0, '是否增加本条信息?', '询问', MB_YESNO + MB_ICONQUESTION)
        = IDYES then
      begin
        Append;
        Edittextshow;
        Post;
        if MessageBox(0, '增加信息成功,是否还增加' + #13#10 +
          '     其他信息?', '询问', MB_YESNO) = IDYES then
        begin
          formini;
          edtname.SetFocus;
        end
        else
        begin
          formini;
         IsReadOnly(True, cl3DLight);
        end;
      end;
    end;
  end
  else
    MessageBox(0, '请确认姓名,性别,类型' + #13#10 + '   信息的完整性!   ', '提示',
      MB_OK );
end;
procedure Tfrmmain.btndeleteClick(Sender: TObject);
begin
  if Messagedlg('你真的要删除本条信息吗?',mtwarning, [mbYES,mbNO],0)=
  mrYES then
  begin
    ADOtable1.Delete;
    if ADOtable1.RecordCount <> 0 then
    begin
      ADOtable1.First;
     frmmain.dbgrdshowDblClick(nil);
    end;
  end;
end;

procedure Tfrmmain.btnaboutClick(Sender: TObject);
begin
  try
    frmabout.ShowModal;
  finally
    frmabout.Free;
  end;
end;

procedure Tfrmmain.btnrepairClick(Sender: TObject);
begin
  IsReadOnly(false, clWindow);
    edtname.SetFocus;
end;

procedure Tfrmmain.btnsaverepClick(Sender: TObject);
begin
  if (edtname.Text <> ' ') and (edtkind.Text <> ' ') and (edtsex.Text <> '') then
  begin
    with ADOtable1 do
    begin
     Edit;
      if MessageBox(0, '是否修改本条信息?', '询问', MB_YESNO + MB_ICONQUESTION)
        = IDYES then
      begin
        Edittextshow;
        Post;
        if MessageBox(0, '修改信息成功,是否还修改' + #13#10 +
          '     其他信息?', '询问', MB_YESNO + MB_ICONQUESTION) = IDYES then
        begin
          First;
          dbgrdshowDblClick(nil);
          edtname.SetFocus;
        end
        else
          formini;
        IsReadOnly(True, cl3DLight);
      end;
    end;
  end
  else
    MessageBox(0, '请确认姓名,性别,类型' + #13#10 + '   信息的完整性!   ', '提示',
      MB_OK );
end;


procedure Tfrmmain.TreeView1DblClick(Sender: TObject);
var str: string;
  i: Integer;
begin
  str:= TreeView1.Selected.Text;
  with ADOQuery1 do
  begin
    Close;
    SQL.Clear;
    i:= TreeView1.Selected.Index;
    if i in [0, 1, 2, 3, 4, 5] then
      SQL.Text := 'select * from 表1 where 类型 = ''' + str + '''order by ''' + str + '''';
    if i in [6] then
      SQL.Text := 'select * from 表1';
    Open;
    First;
    if ADOQuery1.RecordCount < 0 then
      MessageBox(0, '没有找到相关的信息!', '提示', MB_OK + MB_ICONINFORMATION)
    else
      MessageBox(0, pchar('共查找到' + IntToStr(ADOQuery1.RecordCount) + '条记录!'), '询问', MB_OK + MB_ICONINFORMATION);
  end;
end;
procedure Tfrmmain.Label22Click(Sender: TObject);
begin
frmmain.Close;
end;

procedure Tfrmmain.Label16Click(Sender: TObject);
begin
musform.show;
end;

procedure Tfrmmain.BitBtn1Click(Sender: TObject);
begin
musform.Show;
end;

procedure Tfrmmain.BitBtn7Click(Sender: TObject);
begin
frmmain.Close;
end;

procedure Tfrmmain.BitBtn4Click(Sender: TObject);
begin
shellexecute(handle,nil,pchar('e:\电子通讯\love.exe'),nil,nil,sw_shownormal);
end;

procedure Tfrmmain.BitBtn5Click(Sender: TObject);
begin
shellexecute(handle,nil,pchar('e:\电子通讯\wzq.exe'),nil,nil,sw_shownormal);
end;

procedure Tfrmmain.BitBtn6Click(Sender: TObject);
begin
shellexecute(handle,nil,pchar('e:\电子通讯\俄罗斯.exe'),nil,nil,sw_shownormal);
end;

procedure Tfrmmain.BitBtn3Click(Sender: TObject);
begin
form5.show;
end;

procedure Tfrmmain.BitBtn2Click(Sender: TObject);
begin
helform.show;
end;

procedure Tfrmmain.btfoundClick(Sender: TObject);
begin
adotable1.Close;
datasource1.DataSet:=adoquery1;
with adoquery1 do
begin
if combobox1.Text='姓名' then
 begin
  close;
  SQL.Clear;
   SQL.Add('select * from 表1 where 姓名 like ''%'+edtcondition.Text+'%'' order by 姓名');
  end
else if combobox1.Text='编号' then
 begin
  close;
  sql.Clear;
  sql.Add('select * from 表1 where 编号 like ''%'+edtcondition.Text+'%'' order by 编号');
  end
else if combobox1.Text='QQ号码' then
   begin
     close;
     sql.Clear;
     sql.Add('select * from 表1 where OICQ号 like ''%'+edtcondition.Text+'%'' order by OICQ号');
   end;
     Open;
    while not eof do
      begin
       edtname.Text:=fieldbyname('姓名').AsString;
       edtage.Text:=fieldbyname('年龄').AsString;
       edtnation.Text:=fieldbyname('民族').AsString;
       edit1.Text:=fieldbyname('编号').AsString;
       edtqqnum.Text:=fieldbyname('OICQ号').AsString;
       edtename.Text:=fieldbyname('网名').AsString;
       edtadrtel.Text:=fieldbyname('住宅电话').AsString;
       edttel.Text:=fieldbyname('手机号码').AsString;
       edtaddress.Text:=fieldbyname('家庭住址').AsString;
       edtpostnum.Text:=fieldbyname('邮政编码').AsString;
       edtworktel.Text:=fieldbyname('单位电话').AsString;
       edtemail.Text:=fieldbyname('E-mail').AsString;
       edtsex.Text:=fieldbyname('性别').AsString;
       edtkind.Text:=fieldbyname('类型').AsString;
       edtbirthday.Text:=fieldbyname('生日').AsString;
     next;
      end;
    if recordcount=0 then
      showmessage('无该人记录');
 end;
end;

end.



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -