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

📄 registermemberunit.~pas

📁 一个很不错的系统! 查询模块方面是我编的最好的一次.几乎完美!!!!.
💻 ~PAS
字号:
unit registermemberunit;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Grids, DBGrids, ComCtrls, ExtCtrls, ADODB, DB;

type
  Tfrm_registermember = class(TForm)
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    Label15: TLabel;
    Label16: TLabel;
    Label17: TLabel;
    memberid: TEdit;
    membername: TEdit;
    membersex: TRadioGroup;
    folk: TComboBox;
    birthday: TDateTimePicker;
    edulevel: TComboBox;
    tel: TEdit;
    dot: TEdit;
    address: TEdit;
    jointime: TDateTimePicker;
    balance: TEdit;
    deficiency: TEdit;
    note: TEdit;
    b_ok: TButton;
    b_cancel: TButton;
    profession: TComboBox;
    jb: TComboBox;
    DBGrid1: TDBGrid;
    GroupBox2: TGroupBox;
    inc: TRadioButton;
    desc: TRadioButton;
    GroupBox3: TGroupBox;
    id: TRadioButton;
    name: TRadioButton;
    edu: TRadioButton;
    jotime: TRadioButton;
    t_counter: TADOTable;
    ds_member: TDataSource;
    q_member: TADOQuery;
    t_member: TADOTable;
    procedure b_okClick(Sender: TObject);
    procedure b_cancelClick(Sender: TObject);
    procedure incClick(Sender: TObject);
    procedure descClick(Sender: TObject);
    procedure idClick(Sender: TObject);
    procedure nameClick(Sender: TObject);
    procedure eduClick(Sender: TObject);
    procedure jotimeClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
  private
    { Private declarations }
    function ismoney(s:string):boolean;
    function isint(s:string):boolean;
  public
    { Public declarations }

  end;

var
  frm_registermember: Tfrm_registermember;

implementation
   uses datamoduleunit;
{$R *.dfm}
function  Tfrm_registermember.ismoney(s:string):boolean;
 var i:integer;
begin
  i:=1;
   while i<length(s) do
    begin
         if (s[i]<>'.') and((ord(s[i])<48) or (ord(s[i])>57)) then
         begin
         result:=false;
         exit;
        end;
     i:=i+1;
    end;
   result:=true;
end;

function Tfrm_registermember.isint(s:string):boolean;
var i:integer;
begin
 i:=1;
  while i<length(s) do
   begin
    if (ord(s[i])<48) or (ord(s[i])>57) then
     begin
      result:=false;
      exit;
     end;
     i:=i+1;
   end;
     result:=true;


end;

procedure Tfrm_registermember.b_okClick(Sender: TObject);
var sex:string;
begin
if membername.Text='' then
 begin
 showmessage('会员姓名不能为空');
 membername.SetFocus;
 exit;
 end;
 if folk.Text='请选择民族'then begin
  showmessage('请选择民族');
  folk.SetFocus;
  exit;
  end;
 if edulevel.Text='请选择学历'then begin
  showmessage('请选择学历');
  edulevel.SetFocus;
  exit;
  end;
  if (isint(tel.Text)=false) or (length(tel.Text)>12) or (length(tel.Text)<1) then
   begin
    showmessage('请输入正确的电话号码');
    activecontrol:=tel;
    exit;
   end; 
  if profession.Text='请选择职业'then begin
  showmessage('请选择职业');
  profession.SetFocus;
  exit;
  end;
  if jb.Text='请选择级别'then begin
  showmessage('请选择级别');
  jb.SetFocus;
  exit;
  end;
  if birthday.Date>=jointime.Date then
  begin
   messagedlg('''入会时间''或''生日''输入错误,请重新输入!',mtwarning,[mbok],0);
   activecontrol:=birthday;
   exit;
   end;
  if ismoney(balance.Text)=false then
   begin
    showmessage('''结余''应当为有效的数字型');
    activecontrol:=balance;
    exit;
   end;
  if ismoney(deficiency.Text)=false then
   begin
    showmessage('''欠款''应当为有效的数字型');
    activecontrol:=deficiency;
    exit;
   end;
  if (balance.Text<>'') and (balance.Text<>'0') then
   begin
     if (deficiency.Text<>'') and (deficiency.Text>'0') then
      begin
       showmessage('结余或欠款输入错误,请重新输入');
       deficiency.SetFocus;
       exit;
      end;
   end;   
t_member.Close;
t_member.Open;
t_member.Append;
t_member.FieldByName('会员编号').AsInteger:=strtoint(memberid.Text);
t_member.FieldByName('会员姓名').AsString:=membername.Text;
if membersex.ItemIndex=0 then sex:='男' else sex:='女';
t_member.FieldByName('性别').AsString:=sex;
t_member.FieldByName('民族').AsString:=folk.Text;
t_member.FieldByName('生日').AsDateTime:=birthday.Date;
t_member.FieldByName('学历').AsString:=edulevel.Text;
t_member.FieldByName('电话').AsString:=tel.Text;
t_member.FieldByName('地址').AsString:=address.Text;
t_member.FieldByName('职业').AsString:=profession.Text;
t_member.FieldByName('入会时间').AsDateTime:=jointime.Date;
if balance.Text<>''
 then
 t_member.FieldByName('结余').AsCurrency:=strtofloat(balance.Text)
 else t_member.FieldByName('结余').AsCurrency:=0;
 if deficiency.Text<>''
  then
 t_member.FieldByName('欠款').AsCurrency:=strtofloat(deficiency.Text)
 else t_member.FieldByName('欠款').AsCurrency:=0;
t_member.FieldByName('点数').AsInteger:=strtoint(dot.Text);
t_member.FieldByName('级别').AsString:=jb.Text;
t_member.FieldByName('备注').AsString:=note.Text;
t_member.Post;
t_counter.Open;
t_counter.Edit;
t_counter.FieldValues['counter']:=strtoint(memberid.Text);
t_counter.Post;
t_counter.Close;
frm_registermember.b_cancelClick(nil);
frm_registermember.FormShow(nil);
end;
procedure Tfrm_registermember.b_cancelClick(Sender: TObject);
var counter:integer;
begin
  t_counter.Close;
  t_counter.Open;
  counter:=t_counter.FieldValues['counter'];
  counter:=counter+1;
  memberid.Text:=inttostr(counter);
  membername.Clear;
  membersex.ItemIndex:=0;
  folk.Text:='请选择民族';
  birthday.Date:=strtodate('1980-1-1');
  edulevel.Text:='请选择学历';
  tel.Text:='';
  address.Text:='';
  profession.Text:='请选择职业';
  jointime.Date:=now;
  balance.Text:='0';
  deficiency.Text:='0';
  dot.Text:='0';
  jb.Text:='请选择级别';
   note.Text:='';
   activecontrol:=membername;




end;

procedure Tfrm_registermember.incClick(Sender: TObject);
var col:string;
begin
 if id.Checked then col:='会员编号'else
  if name.Checked then col:='会员姓名' else
   if edu.Checked then col:='学历' else
    if jotime.Checked then col:='入会时间'
    else begin
     showmessage('请选择要排序的内容');
     exit;
     end;
 q_member.Close;
 q_member.SQL.Clear;
 q_member.SQL.Add('select * from member order by '+col+' asc');
 try
  q_member.Open;
  except
  q_member.Close;
 end;

end;

procedure Tfrm_registermember.descClick(Sender: TObject);
var col:string;
begin
  if id.Checked then col:='会员编号'else
  if name.Checked then col:='会员姓名' else
   if edu.Checked then col:='学历' else
    if jotime.Checked then col:='入会时间'
    else begin
     showmessage('请选择要排序的内容');
     exit;
     end;
 q_member.Close;
 q_member.SQL.Clear;
 q_member.SQL.Add('select * from member order by '+col+' desc');
 try
  q_member.Open;
  except
  q_member.Close;
 end;
end;

procedure Tfrm_registermember.idClick(Sender: TObject);
var s:string;
begin
 if inc.Checked then s:=' asc' else
   if desc.Checked then s:=' desc' else
    begin
      showmessage('请选择要排序的方法');
      exit;
    end;
  q_member.Close;
  q_member.SQL.Clear;
  q_member.SQL.Add('select * from member order by 会员姓名'+s);
  try
   q_member.Open;
   except
   q_member.ExecSQL;
  end;
end;

procedure Tfrm_registermember.nameClick(Sender: TObject);
var s:string;
begin
 if inc.Checked then s:=' asc' else
   if desc.Checked then s:=' desc' else
    begin
      showmessage('请选择要排序的方法');
      exit;
    end;
  q_member.Close;
  q_member.SQL.Clear;
  q_member.SQL.Add('select * from member order by 会员姓名'+s);
  try
   q_member.Open;
   except
   q_member.ExecSQL;
  end;

end;

procedure Tfrm_registermember.eduClick(Sender: TObject);
var s:string;
begin
 if inc.Checked then s:=' asc' else
   if desc.Checked then s:=' desc' else
    begin
      showmessage('请选择要排序的方法');
      exit;
    end;
  q_member.Close;
  q_member.SQL.Clear;
  q_member.SQL.Add('select * from member order by 学历'+s);
  try
   q_member.Open;
   except
   q_member.ExecSQL;
  end;

end;

procedure Tfrm_registermember.jotimeClick(Sender: TObject);
var s:string;
begin
 if inc.Checked then s:=' asc' else
   if desc.Checked then s:=' desc' else
    begin
      showmessage('请选择要排序的方法');
      exit;
    end;
  q_member.Close;
  q_member.SQL.Clear;
  q_member.SQL.Add('select * from member order by 入会时间'+s);
  try
   q_member.Open;
   except
   q_member.ExecSQL;
  end;

end;

procedure Tfrm_registermember.FormShow(Sender: TObject);
begin
q_member.Close;
try
q_member.open;
except
q_member.ExecSQL;
 end;
end;

end.

⌨️ 快捷键说明

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