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

📄 sale.pas

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

interface

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

type
  TFrm_Sale = class(TForm)
    Label1: TLabel;
    DBCBuy: TDBComboBox;
    Label2: TLabel;
    DateTimejh: TDateTimePicker;
    Label3: TLabel;
    DBNo: TDBEdit;
    DBdate: TDBEdit;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    DBADD: TDBEdit;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    PopupMenu1: TPopupMenu;
    A1: TMenuItem;
    D1: TMenuItem;
    ListView1: TListView;
    DBJH: TDBEdit;
    SpeedButton1: TSpeedButton;
    SpeedButton2: TSpeedButton;
    BitBtn3: TBitBtn;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    DBKB: TDBComboBox;
    DBFH: TDBComboBox;
    DBHH: TDBComboBox;
    DBSK: TDBComboBox;
    Bevel1: TBevel;
    procedure FormShow(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure DateTimejhCloseUp(Sender: TObject);
    procedure A1Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure D1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    procedure ListView;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Frm_Sale: TFrm_Sale;

implementation

uses DMCG, DMKC, DMXS, SaNew, Unit3;

{$R *.dfm}

procedure TFrm_Sale.FormShow(Sender: TObject);
var
  aPath:String;
begin
{导入数据至下拉列表框}
  aPath:=ExtractFilePath(Application.ExeName)+'txt\';
  DBCBuy.items.LoadFromFile(aPath+'Buy.txt');
  aPath:=ExtractFilePath(Application.ExeName)+'txt\';
  DBKB.items.LoadFromFile(aPath+'KB.txt');
  aPath:=ExtractFilePath(Application.ExeName)+'txt\';
  DBFH.items.LoadFromFile(aPath+'FH.txt');
  aPath:=ExtractFilePath(Application.ExeName)+'txt\';
  DBHH.items.LoadFromFile(aPath+'HH.txt');
  aPath:=ExtractFilePath(Application.ExeName)+'txt\';
  DBSK.items.LoadFromFile(aPath+'SK.txt');
{清除ListView1中数据}
  ListView1.Items.Clear;
end;

procedure TFrm_Sale.BitBtn2Click(Sender: TObject);
begin
  DMX.XSATable1.Cancel;
  Close;
end;

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

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

procedure TFrm_Sale.BitBtn3Click(Sender: TObject);
var
  aPath:String;
  Report: TfrReport;
begin

{with DMX.TMPQuery1 do
begin
SQL.Clear;
sql.Add('select 单号 into tmp from XS');
sql.Add('where 单号='+quotedstr(DBno.Text));
ExecSQL;
Close;
end;}

{调出报表}
  aPath:=ExtractFilePath(Application.ExeName)+'reports\';
  DMX.frReport1.LoadFromFile(aPath+'XSB.frf');
//-----------调用自制打印窗体-----------------//
  Report := DMX.frReport1;
  Report.Preview := Form3.frPreview1;
  Report.PrepareReport;
  Report.ShowPreparedReport;
  Form3.ShowModal;
  //  DM.frReport1.ShowReport;
end;
{查找从表与主表相同的单号,数据导入Listview1中}
procedure TFrm_Sale.ListView;
Var
  Item: TListItem;
begin
  with DMX.XSQuery1 do
    begin
      close;
      sql.Clear;
      sql.Add('select b.购货单位,b.编号,b.品名,b.规格,b.单位,b.数量,b.单价,b.金额,b.生产企业,b.批号,b.有效期,b.备注 from XS b');
      sql.Add('where b.单号 = '+DMX.XSATable1.fieldbyname('单号').Asstring);
      ExecSQL;
  first;
  while not Eof do
  begin
    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_Sale.SpeedButton1Click(Sender: TObject);
begin
  DMX.XSATable1.Prior;
{清除ListView1中数据}
  ListView1.Items.Clear;
{数据导入Listview}
  ListView;
end;

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

procedure TFrm_Sale.BitBtn1Click(Sender: TObject);
begin
  DMX.XSATable1.Post;
  Close;
end;

procedure TFrm_Sale.D1Click(Sender: TObject);
var
  ln: Integer;
  str : string;
begin
{确定记录位置}
  if listview1.Selected<>nil then
    begin
      str:=listview1.Selected.Caption;
      DMX.XSTable1.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;
    DMX.XSTable1.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_Sale.FormCreate(Sender: TObject);
begin
{选择整行}
  ListView1.RowSelect:=true;
end;

end.

⌨️ 快捷键说明

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