📄 unit4.pas
字号:
unit Unit4;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, StdCtrls,math;
type
TForm4 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
Edit7: TEdit;
Edit8: TEdit;
ComboBox1: TComboBox;
ComboBox2: TComboBox;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
DBGrid1: TDBGrid;
procedure Button4Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
function DBGridAutoSize(mDBGrid: TDBGrid; mOffset: Integer): Boolean;
public
{ Public declarations }
end;
var
Form4: TForm4;
implementation
uses Unit1, Unit2, Unit3, Unit5, Unit6, Unit7;
{$R *.dfm}
procedure TForm4.Button4Click(Sender: TObject);
begin
form4.Close;
end;
function TForm4.DBGridAutoSize(mDBGrid: TDBGrid; mOffset: Integer ): Boolean;
{ 返回数据网格自动适应宽度是否成功 }
var
I: Integer;
begin
mOffset:=39;
Result := False;
if not Assigned(mDBGrid) then Exit;
if not Assigned(mDBGrid.DataSource) then Exit;
if not Assigned(mDBGrid.DataSource.DataSet) then Exit;
if not mDBGrid.DataSource.DataSet.Active then Exit;
for I := 0 to mDBGrid.Columns.Count - 1 do begin
if not mDBGrid.Columns[I].Visible then Continue;
if Assigned(mDBGrid.Columns[I].Field) then
mDBGrid.Columns[I].Width := Max(mDBGrid.Columns[I].Field.Tag,
mDBGrid.Canvas.TextWidth(mDBGrid.Columns[I].Title.Caption)) + mOffset
else mDBGrid.Columns[I].Width :=
mDBGrid.Canvas.TextWidth(mDBGrid.Columns[I].Title.Caption) + mOffset;
mDBGrid.Refresh;
end;
Result := True;
end; { DBGridAutoSize }
procedure TForm4.Button2Click(Sender: TObject);
begin
edit1.Clear;
edit2.Clear;
edit3.Clear;
edit4.Clear;
edit5.Clear;
edit6.Clear;
edit7.Clear;
edit8.Clear;
end;
procedure TForm4.FormCreate(Sender: TObject);
begin
ComboBox1.Items.Add('普通用户');
ComboBox1.Items.Add('一般用户');
ComboBox1.Items.Add('超级用户');
ComboBox2.Items.Add('A');
ComboBox2.Items.Add('B');
ComboBox2.Items.Add('C');
with dm.ADOQuery1 do
begin
sql.Clear;
sql.Add('select 用户id,用户名称,用户类别,权限,身份证号,住址,电话,邮箱 from yonghuxinxi');
open;
end;
DBGridAutoSize(DBGrid1,75);
end;
procedure TForm4.Button1Click(Sender: TObject);
begin
if edit1.Text='' then
begin
application.MessageBox('用户名必须填写!','错误',mb_iconhand+mb_yesno);
edit1.Clear;
edit1.SetFocus;
exit;
end;
if edit3.Text<>edit4.Text then
begin
application.MessageBox('两次输入的密码不一致,请检查!','错误',mb_iconhand+mb_yesno);
edit4.Clear;
edit5.Clear;
edit4.SetFocus;
exit;
end;
if length(edit5.Text)<>18 then
begin
application.MessageBox('身份证号码必须是18位!!','错误',mb_iconhand+mb_yesno);
edit5.Clear;
edit5.SetFocus;
exit;
end;
if edit8.Text='' then
begin
application.MessageBox('邮箱必须填写!','错误',mb_iconhand+mb_yesno);
edit8.Clear;
edit8.SetFocus;
exit;
end;
dm.ADODataSet1.Close;
dm.ADODataSet1.CommandText:= 'select * from yonghuxinxi where 用户id='''+edit1.Text+''' ';
dm.ADODataSet1.Open;
if dm.ADODataSet1.Eof then
begin
with dm.ADOQuery1 do
begin
sql.Clear;
sql.Add('select * from yonghuxinxi');
open;
end;
dm.adoconnection1.BeginTrans;
dm.adoquery1.Insert;
dm.adoquery1.FieldByName('用户id').AsString:=edit1.Text;
dm.adoquery1.FieldByName('用户名称').AsString:=edit2.Text;
dm.adoquery1.FieldByName('密码').AsString:=edit3.Text;
dm.adoquery1.FieldByName('身份证号').AsString:=edit5.Text;
dm.adoquery1.FieldByName('住址').AsString:=edit6.Text;
dm.adoquery1.FieldByName('电话').AsString:=edit7.Text;
dm.adoquery1.FieldByName('权限').AsString:=combobox2.Text;
dm.adoquery1.FieldByName('用户类别').AsString:=combobox1.Text;
dm.adoquery1.FieldByName('邮箱').AsString:=edit8.Text;
dm.adoquery1.Post;
dm.adoconnection1.CommitTrans;
edit1.Clear;
edit2.Clear;
edit3.Clear;
edit4.Clear;
edit5.Clear;
edit6.Clear;
edit7.Clear;
edit8.Clear;
with dm.adoquery1 do
begin
close;
sql.Clear;
sql.Add('select 用户id,用户名称,用户类别,权限,身份证号,住址,电话,邮箱 from yonghuxinxi');
open;
DBGridAutoSize(DBGrid1,75);
end
end
else
begin
application.MessageBox('数据库中已经有的书号,请重新输入!','错误',mb_iconhand+mb_yesno);
edit1.Clear;
edit1.SetFocus;
end;
end;
procedure TForm4.Button3Click(Sender: TObject);
begin
application.CreateForm(TForm7,Form7);
form7.ShowModal;
form7.Free;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -