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