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

📄 shopping.pas

📁 星光药店进销存管理系统源代码
💻 PAS
字号:
unit Shopping;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, StdCtrls, DBCtrls, Grids, DBGrids, dbisamct, Mask,
  Buttons, Menus;

type
  TFrm_Shopping = class(TForm)
    Label1: TLabel;
    DBCSupply: TDBComboBox;
    Label2: TLabel;
    DateTimejh: TDateTimePicker;
    Label3: TLabel;
    DBNo: TDBEdit;
    DBdate: TDBEdit;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    DBADD: TDBEdit;
    DBJHdate: TDBEdit;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    PopupMenu1: TPopupMenu;
    A1: TMenuItem;
    D1: TMenuItem;
    SpeedButton1: TSpeedButton;
    SpeedButton2: TSpeedButton;
    ListView1: TListView;
    procedure FormShow(Sender: TObject);
    procedure DateTimejhCloseUp(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure A1Click(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure D1Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
  private
    procedure ListView;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Frm_Shopping: TFrm_Shopping;

implementation
uses DMCG, DMKC, ShNew;
{$R *.dfm}

procedure TFrm_Shopping.FormShow(Sender: TObject);
var
  aPath:String;
  Item: TListItem;
begin
{数据导入下拉列表框}
  aPath:=ExtractFilePath(Application.ExeName)+'txt\';
  DBCSupply.items.LoadFromFile(aPath+'Supply.txt');
{清除ListView1中数据}
  ListView1.Items.Clear;
end;

procedure TFrm_Shopping.DateTimejhCloseUp(Sender: TObject);
begin
  DMC.CGATable1.Edit;
  DMC.CGATable1.fieldbyname('交货日期').Asstring:=FormatDateTime('yyyy-MM-DD',DateTimejh.date);
end;

procedure TFrm_Shopping.BitBtn2Click(Sender: TObject);
begin
  DMC.CGATable1.Cancel;
  Close;
end;

procedure TFrm_Shopping.BitBtn1Click(Sender: TObject);
begin
  DMC.CGATable1.Post;
  Close;
end;
procedure TFrm_Shopping.A1Click(Sender: TObject);
var
  str:string;
begin
{定位数据指针在当前记录}
  if listview1.Selected<>nil then
  begin
    str:=listview1.Selected.Caption;
    DMC.CGTable1.Locate('单号',str,[]);
  end;
{新建记录}
  DMC.CGTable1.Append;
  DMC.CGTable1.FieldByName('单号').AsInteger:=DMC.CGATable1.fieldbyname('单号').AsInteger;
  DMC.CGTable1.FieldByName('开单日期').AsString:=DMC.CGATable1.fieldbyname('开单日期').AsString;
  Frm_New.ShowModal;
end;

procedure TFrm_Shopping.SpeedButton1Click(Sender: TObject);
begin
  DMC.CGATable1.Prior;
{清除ListView1中数据}
  ListView1.Items.Clear;
{数据导入Listview}
  ListView;
end;

procedure TFrm_Shopping.SpeedButton2Click(Sender: TObject);
begin
  DMC.CGATable1.Next;
{清除ListView1中数据}
  ListView1.Items.Clear;
{数据导入Listview}
  ListView;
end;

procedure TFrm_Shopping.FormCreate(Sender: TObject);
begin
{选择整行}
  ListView1.RowSelect:=true;
end;

{查找从表与主表相同的单号,数据导入Listview1中}
procedure TFrm_Shopping.ListView;
Var
  Item: TListItem;
begin
  with DMC.CGQuery1 do
    begin
      close;
      sql.Clear;
      sql.Add('select b.购货单位,b.编号,b.品名,b.规格,b.单位,b.数量,b.单价,b.金额,b.生产企业,b.批号,b.有效期,b.备注 from CG b');
      sql.Add('where b.单号 = '+DMC.CGATable1.fieldbyname('单号').Asstring);
//     open;
      ExecSQL;
  first;
  while not Eof do
  begin
//    ListView1.Items.Clear;
    Item := ListView1.Items.Add;
    Item.Caption := FieldByName('编号').AsString;
    Item.SubItems.Add(FieldByName('品名').AsString);
    Item.SubItems.Add(FieldByName('规格').AsString);
    Item.SubItems.Add(FieldByName('单位').AsString);
    Item.SubItems.Add(inttostr(FieldByName('数量').AsInteger));
    Item.SubItems.Add(inttostr(FieldByName('单价').AsInteger));
    Item.SubItems.Add(inttostr(FieldByName('金额').AsInteger));
    Item.SubItems.Add(FieldByName('生产企业').AsString);
    Item.SubItems.Add(FieldByName('批号').AsString);
    Item.SubItems.Add(FieldByName('有效期').AsString);
    Item.SubItems.Add(FieldByName('备注').AsString);
    Next;
    end;
    end;
end;


procedure TFrm_Shopping.D1Click(Sender: TObject);
var
  ln: Integer;
  str : string;
begin
{确定记录位置}
  if listview1.Selected<>nil then
    begin
      str:=listview1.Selected.Caption;
      DMC.CGTable1.Locate('编号',str,[]);
    end;
{删除Listview行和数据库里相应的记录}
  if not Assigned(listView1.Selected) then Exit;
    ln := listView1.Selected.Index;
  If Application.Messagebox('确定删除此记录吗?','提示',Mb_YesNo+Mb_IconQuestion)=Mryes Then
    listView1.DeleteSelected;
    DMC.CGTable1.Delete;
  if ln >= listView1.Items.Count - 1 then
    ln := listView1.Items.Count - 1;
  if ln < 0 then Exit;
    listView1.Selected := listView1.Items.Item[ln];
    listView1.Selected.MakeVisible(True);
end;


procedure TFrm_Shopping.BitBtn3Click(Sender: TObject);
begin
  DMC.CGATable1.Post;
  DMC.CGATable1.Append;
end;

end.

⌨️ 快捷键说明

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