📄 sale.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 + -