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

📄 registerarticleunit.pas

📁 Delphi 编写的"会员销售管理系统",源码全,数据库全,未经测试,请有兴趣的朋友自己测试!
💻 PAS
字号:
unit registerarticleunit;

interface

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

type
  Tfrm_registerarticle = class(TForm)
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    articleid: TEdit;
    articlename: TEdit;
    articletype: TEdit;
    num: TEdit;
    birthplace: TEdit;
    use: TEdit;
    price: TEdit;
    Label9: TLabel;
    Label10: TLabel;
    b_add: TButton;
    b_cancel: TButton;
    Label17: TLabel;
    DBGrid1: TDBGrid;
    t_article: TADOTable;
    q_article: TADOQuery;
    t_counter: TADOTable;
    ds_article: TDataSource;
    GroupBox2: TGroupBox;
    inc: TRadioButton;
    desc: TRadioButton;
    GroupBox3: TGroupBox;
    id: TRadioButton;
    name: TRadioButton;
    articlelx: TRadioButton;
    dj: TRadioButton;
    units: TComboBox;
    procedure b_cancelClick(Sender: TObject);
    procedure b_addClick(Sender: TObject);
    procedure incClick(Sender: TObject);
    procedure descClick(Sender: TObject);
    procedure idClick(Sender: TObject);
    procedure nameClick(Sender: TObject);
    procedure articlelxClick(Sender: TObject);
    procedure djClick(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_registerarticle: Tfrm_registerarticle;

implementation
   uses datamoduleunit;
{$R *.dfm}
function tfrm_registerarticle.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_registerarticle.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_registerarticle.b_cancelClick(Sender: TObject);
var counter:integer;
begin
  t_counter.Close;
  t_counter.Open;
  counter:=t_counter.FieldValues['counter'];
  counter:=counter+1;
  articleid.Text:=inttostr(counter);
  t_counter.Close;
  articlename.Clear;
  articletype.Clear;
  price.Clear;
  num.Clear;
  units.ItemIndex:=0;
  birthplace.Clear;
  use.Clear;
  activecontrol:=articlename;
  
end;

procedure Tfrm_registerarticle.b_addClick(Sender: TObject);
var rt:integer;
begin
if articlename.Text='' then
 begin
 messagedlg('商品姓名不能为空',mtwarning,[mbok],0);
 activecontrol:=articlename;
 exit;
 end;
 if articletype.Text='' then
 begin
 messagedlg('商品类型不能为空',mtwarning,[mbok],0);
 activecontrol:=articlename;
 exit;
 end;
 if ismoney(price.Text)=false then
 begin
 messagedlg('商品单价输入错误',mtwarning,[mbok],0);
 activecontrol:=price;
 exit;
 end;
 if isint(num.Text)=false then
 begin
 messagedlg('存货输入错误',mtwarning,[mbok],0);
 activecontrol:=num;
 exit;
 end;
 if (units.Text='') or (units.Text='请选择单位') then
 begin
 messagedlg('请选择单位',mtwarning,[mbok],0);
 activecontrol:=units;
 exit;
 end;
 rt:=messagedlg('将有一条记录写入数据库中,你要继续吗?',mtwarning,[mbyes,mbno],0);
 if rt=mrno then  exit;
 t_article.Close;
 t_article.Open;
 t_article.Edit;
 t_article.Append;
 t_article.FieldByName('商品编号').AsInteger:=strtoint(articleid.Text);
 t_article.FieldValues['商品姓名']:=articlename.Text;
 t_article.FieldValues['商品类型']:=articletype.Text;
 t_article.Fieldbyname('单价').AsFloat:=strtofloat(price.Text);
 t_article.Fieldbyname('存货').AsInteger:=strtoint(num.Text);
 t_article.FieldValues['单位']:=units.Text;
 t_article.FieldValues['产地']:=birthplace.Text;
 t_article.FieldValues['用途']:=use.Text;
  t_article.Post;
 t_article.Close;
 showmessage('一条记录添加成功');
 t_counter.Open;
 t_counter.Edit;
 t_counter.FieldValues['counter']:=t_counter.FieldValues['counter']+1;
 t_counter.Post;
 t_counter.Close;
 frm_registerarticle.FormShow(nil);
end;

procedure Tfrm_registerarticle.incClick(Sender: TObject);
var col:string;
begin
  if id.Checked then col:='商品编号' else
   if name.Checked then col:='商品姓名' else
    if articlelx.Checked then col:='商品类型' else
      if dj.Checked then col:='单价'  else
       begin
        showmessage('请选择排序的内容');
        exit;
       end;
   q_article.Close;
   q_article.SQL.Clear;
   q_article.SQL.Add('select * from foods order by  '+col+' asc');
   try
    q_article.Open;
    except
    q_article.ExecSQL;
   end;

end;

procedure Tfrm_registerarticle.descClick(Sender: TObject);
var col:string;
begin
  if id.Checked then col:='商品编号' else
   if name.Checked then col:='商品姓名' else
    if articlelx.Checked then col:='商品类型' else
      if dj.Checked then col:='单价'  else
       begin
        showmessage('请选择排序的内容');
        exit;
       end;
   q_article.Close;
   q_article.SQL.Clear;
   q_article.SQL.Add('select * from foods order by '+col+' desc');
   try
    q_article.Open;
    except
    q_article.ExecSQL;
   end;

end;

procedure Tfrm_registerarticle.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_article.Close;
  q_article.SQL.Clear;
  q_article.SQL.Add('select * from foods order by 商品编号'+s);
  try
    q_article.Open;
  except
    q_article.ExecSQL;
   end;
end;

procedure Tfrm_registerarticle.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_article.Close;
  q_article.SQL.Clear;
  q_article.SQL.Add('select * from foods order by 商品姓名'+s);
  try
    q_article.Open;
  except
    q_article.ExecSQL;
   end;
end;

procedure Tfrm_registerarticle.articlelxClick(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_article.Close;
  q_article.SQL.Clear;
  q_article.SQL.Add('select * from foods order by 商品类型'+s);
  try
    q_article.Open;
  except
    q_article.ExecSQL;
   end;
end;

procedure Tfrm_registerarticle.djClick(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_article.Close;
  q_article.SQL.Clear;
  q_article.SQL.Add('select * from foods order by 单价'+s);
  try
    q_article.Open;
  except
    q_article.ExecSQL;
   end;
end;

procedure Tfrm_registerarticle.FormShow(Sender: TObject);
begin
q_article.Close;
q_article.Open;
frm_registerarticle.b_cancelClick(nil);
end;

end.

⌨️ 快捷键说明

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