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

📄 unit1.pas

📁 DELPHI学生通讯系统
💻 PAS
字号:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, DBCtrls, StdCtrls, Mask, DB, DBTables, Grids, DBGrids;

type
  TForm1 = class(TForm)
    Table1: TTable;
    DataSource1: TDataSource;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    Button6: TButton;
    Button7: TButton;
    Button8: TButton;
    Button9: TButton;
    Button10: TButton;
    Button11: TButton;
    DBEdit1: TDBEdit;
    DBEdit2: TDBEdit;
    DBEdit4: TDBEdit;
    DBComboBox1: TDBComboBox;
    DBEdit9: TDBEdit;
    DBEdit5: TDBEdit;
    DBEdit6: TDBEdit;
    DBEdit7: TDBEdit;
    DBEdit8: TDBEdit;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button7Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure Button8Click(Sender: TObject);
    procedure Button9Click(Sender: TObject);
    procedure Button10Click(Sender: TObject);
    procedure Button11Click(Sender: TObject);
  //  procedure DBGrid1CellClick(Column: TColumn);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation
 Var
   BM:TBookMark;       //该变量用于在添加记录时把当前记录位置作为一个书签
   AddOrNot:Boolean;    //该变量用来表示是添加操作还是修改操作,True表示添加
{$R *.dfm}
Procedure  ButtonAddEdit(); //用来设置执行添加或修改操作时各按钮的状态
    begin
       Form1.Button1.Enabled  :=False;  Form1.Button2.enabled:=False;
       Form1.Button3.Enabled :=False;   Form1.Button4.Enabled :=False;
       Form1.Button5.Enabled :=False;    Form1.Button6.Enabled :=False;
       Form1.Button7.Enabled :=False;   Form1.Button8.Enabled :=False;
       Form1.Button9.Enabled :=False;
       Form1.Button10.Enabled :=True; // 确定按钮可以使用
       Form1.Button11.Enabled :=True; //取消按钮可以使用
    end;
  Procedure  ButtonOkCancel();//用来设置执行取消或确定操作时各按钮的状态
    begin
       Form1.Button1.Enabled  :=True;    Form1.Button2.enabled:=True;
       Form1.Button3.Enabled :=True;    Form1.Button4.Enabled :=True;
       Form1.Button5.Enabled :=True;    Form1.Button6.Enabled :=True;
       Form1.Button7.Enabled :=True;   Form1.Button8.Enabled :=True;
       Form1.Button9.Enabled :=True;
       Form1.Button10.Enabled :=False; // 确定按钮不可以使用
       Form1.Button11.Enabled :=False; //取消按钮不可以使用
    end;
  Procedure  Cannotedit();//用来设置各输入的数据控制组件不可输入
     begin
       Form1.dbEdit1.readOnly:=True;     Form1.dbEdit2.readOnly:=True;
       Form1.dbComboBox1.ReadOnly :=True;   Form1.dbEdit4.readOnly:=True;
       Form1.dbEdit5.readOnly:=True;      Form1.dbEdit6.readOnly:=True;
       Form1.dbEdit7.readOnly:=True;    Form1.dbEdit8.readOnly:=True;

     end;
   Procedure  Canedit();//用来设置各输入的数据控制组件可以输入
     begin
       Form1.dbEdit1.readOnly:=False;   Form1.dbEdit2.readOnly:=False;
       Form1.dbComboBox1.ReadOnly :=False;  Form1.dbEdit4.readOnly:=False;
       Form1.dbEdit5.readOnly:=False;  Form1.dbEdit6.readOnly:=False;
       Form1.dbEdit7.readOnly:=False;  Form1.dbEdit8.readOnly:=False;
       
     end;
   Procedure DisabledButton(); //使所有的按钮均不可用
      begin
          Form1.button1.enabled:=False;     Form1.button2.enabled:=False;
          Form1.button3.enabled:=False;     Form1.button4.enabled:=False;
          Form1.button5.enabled:=False;     Form1.button6.enabled:=False;
          Form1.button7.enabled:=False;    Form1.button8.enabled:=False;
          Form1.button9.enabled:=False;    Form1.button10.enabled:=False;
          Form1.button11.enabled:=False;
      end;
procedure TForm1.FormCreate(Sender: TObject);
 Var
   Curdir:string;
begin
  getdir(0,Curdir);
  table1.DatabaseName:=Curdir;   //设置Table1的Databasename为当前目录
  table1.Active :=True; //打开Table1
  Cannotedit;   //设置可输入组件为只读
  if table1.RecordCount =0 then  //如果数据库表为空
     begin
         disabledButton;
         Button6.Enabled :=True; //只有添加按钮可用
     end
     else
        ButtonOkCancel;
  Table1.IndexName :='XM';   //设置查询用的索引名
end;
procedure TForm1.Button1Click(Sender: TObject);  //首记录
begin
  Table1.First ;
  Button1.Enabled :=False; Button2.Enabled :=False;
  Button3.Enabled :=True; Button4.Enabled:=True;
end;
procedure TForm1.Button2Click(Sender: TObject); //前移
begin
   Table1.Prior ;
   button3.Enabled :=True;   Button4.Enabled :=True;
   if table1.Bof then //判断是否到达文件头
      begin
         table1.First ;
         button1.Enabled :=False;    Button2.Enabled :=False;
      end;
end;
procedure TForm1.Button3Click(Sender: TObject);//后移
begin
   table1.Next ;
   Button1.Enabled :=True; Button2.Enabled :=True;
   if  table1.Eof then //判断是否到达文件尾
       begin
         Button3.Enabled :=False;   Button4.Enabled :=False;
         table1.Last ;
       end;
end;
procedure TForm1.Button4Click(Sender: TObject);  //末记录
begin
  Table1.Last ;
  Button1.Enabled :=True;  Button2.Enabled :=True;
  Button3.Enabled :=False;  Button4.Enabled:=False;
end;
procedure TForm1.Button5Click(Sender: TObject); //退出
begin
  table1.Close ;//关闭表
  Application.Terminate ;//结束程序运行
end;
procedure TForm1.Button6Click(Sender: TObject);   //添加
begin
  BM:=table1.GetBookmark ; //记下当前记录位置
  Canedit;       //允许输入
  Table1.Append ;  //增加记录
  ButtonAddEdit;   //设置按钮状态
  AddOrNot:=True;  //是增加操作
end;
 procedure TForm1.Button7Click(Sender: TObject); //修改
begin
  AddOrNot:=False;      // 不是添加操作
  table1.Edit ;         //修改
  CanEdit;     //让所有的数据控制组件可以使用
  ButtonAddEdit;
end;
procedure TForm1.Button8Click(Sender: TObject); //删除
begin
   if Application.MessageBox('真的要删除吗?','删除提示框',MB_OKCANCEL)=IDOK THEN
      Table1.Delete ;
   if table1.RecordCount =0 then    //如果所有的记录均被删除
       begin
          ShowMessage('已无记录');  //显示提示信息
          DisabledButton;   //让所有按钮均不可用
          Button6.Enabled :=True;//再让添加按钮可用,只能执行添加操作
       end;
end;
procedure TForm1.Button9Click(Sender: TObject);   //按姓名查询
  var
    xm: string;
begin
    xm:=trim(inputbox('输入姓名','请输入姓名','')); //输入要查询的人的姓名
    with table1 do
      begin
         setkey;   //设置查询状态
         FieldByName('姓名').AsString :=xm;//设置要查询的姓名
         if not GotoKey   then    //如果没有找到
            ShowMessage('无符合条件的记录');
      end
end;
procedure TForm1.Button10Click(Sender: TObject);   //确定操作
begin
  If (length(trim(dbEdit1.text))=0)  then  //如果"好友号"为空
       begin
          ShowMessage('必须输入好友号');
          dbedit1.SetFocus ;
       end
  else
      begin
         table1.Post ;  //存入到数据库中
         CannotEdit;
         ButtonOkCancel;
      end;
end;
procedure TForm1.Button11Click(Sender: TObject);  //取消操作
begin
  Table1.Cancel;  //执行取消操作
  If AddOrNot then         //如果刚才执行的是增加操作
     table1.GotoBookmark(Bm); //把指针移到原来的位置
  Cannotedit;  //不允许输入
  ButtonOkCancel;  //设置按钮的状态
end;

end.

⌨️ 快捷键说明

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