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

📄 begin_goods.pas

📁 delphi的一个开发实例
💻 PAS
📖 第 1 页 / 共 2 页
字号:
                                //frm_data.Client_Stock_States.Close;
                                frm_data.Client_Stock_States.Open;
                                frm_data.Client_Stock_States.Insert;
                                frm_data.Client_Stock_States.FieldByName('Storage_NO').AsString:=Trim(StringGrid1.Cells[1,k]);
                                frm_data.Client_Stock_States.FieldByName('Goods_NO').AsString:=Trim(StringGrid1.Cells[3,k]);
                                frm_data.Client_Stock_States.FieldByName('Costing_price').AsString:=Trim(StringGrid1.Cells[5,k]);
                                frm_data.Client_Stock_States.FieldByName('IN_Amount').AsString:=Trim(StringGrid1.Cells[6,k]);
                                frm_data.Client_Stock_States.FieldByName('Out_Amount').AsFloat:=0; //起初出库为0
                                frm_data.Client_Stock_States.FieldByName('Stock_money').AsString:=Trim(StringGrid1.Cells[7,k]);
                                try
                                    frm_data.Client_Stock_States.Post;
                                    frm_data.Client_Goods.SaveToFile('Client_Stock_States.cds');
                                except
                                    Application.MessageBox('系统错误,在保存【库存状况表】时出错!'+#13#10#13+'请检查数据输入格式是否正确或远程服务器连接是否正常?请确认!'+#13#10#13+'请检查远程服务器连接是否正常?请确认!',Pchar(Application.Title),Mb_IconWarning);
                                    Exit;
                                end;
                             end;
                        end;
                    except
                        Application.MessageBox('系统错误,在打开数据表【库存状况表】时出错!'+#13#10#13+'请检查远程服务器连接是否正常?请确认!',Pchar(Application.Title),Mb_IconWarning);
                        Exit;
                    end;
                end;
            end;
        end;

        with frm_data.Client_Stock_States do
        begin
            try
                frm_data.Client_Stock_States.open;
                frm_data.Client_Stock_States.ApplyUpdates(-1);
                //Application.MessageBox('【库存状况表】,添加成功,请确认!',pchar(application.Title),mb_iconwarning);
                Close;
            except
                if Application.MessageBox('系统错误,系统在提交【库存状况表】数据库更新时出错!确定需要关闭该窗体吗?请确认!',Pchar(Application.Title),MB_OKCancel)=IDOK then
                begin
                    Close;
                end;
            end;
        end;
    end;
    //增加起初和修改起初的操作就不做直接退出
    if Do_Flag=False then
    begin
        Close;
    end;
end;

procedure Tfrm_Begin_Goods.SpeedButton15Click(Sender: TObject);
begin
    Close;
end;

procedure Tfrm_Begin_Goods.SpeedButton5Click(Sender: TObject);
begin
    frm_Goods_Information:=Tfrm_Goods_Information.Create(self);
    frm_Goods_Information.ShowModal;
    frm_Goods_Information.Free;
end;

procedure Tfrm_Begin_Goods.wwDBGrid1DblClick(Sender: TObject);
begin
    frm_Goods_Information:=Tfrm_Goods_Information.Create(self);
    frm_Goods_Information.ShowModal;
    frm_Goods_Information.Free;
end;

procedure Tfrm_Begin_Goods.SpeedButton2Click(Sender: TObject);
begin
    Do_Flag:=false;
end;

procedure Tfrm_Begin_Goods.SpeedButton9Click(Sender: TObject);
begin
    frm_Money_Edit:=Tfrm_Money_Edit.Create(self);
    frm_Money_Edit.showmodal;
    frm_Money_Edit.free;
end;

procedure Tfrm_Begin_Goods.Cmd_AddClick(Sender: TObject);
var
    i:integer;
begin
    StringGrid1.RowCount:=StringGrid1.RowCount+1;

    for i:=1 to StringGrid1.RowCount-1 do
    begin
        StringGrid1.Cells[0,i]:=IntTostr(i); //表示第0列第i行
    end;
end;

procedure Tfrm_Begin_Goods.Cmd_DeleteClick(Sender: TObject);
var
    i:shortint;
begin
    if StringGrid1.col<>0 then
    begin
        StringGrid1.Rows[StringGrid1.Row].Clear; //删除选中行的所有列 ,用右键弹出菜单
        DeleteRow(StringGrid1.Row);
    end;
    for i:=1 to StringGrid1.RowCount do
    StringGrid1.cells[0,i]:=inttostr(i);
end;

procedure Tfrm_Begin_Goods.StringGrid1DrawCell(Sender: TObject; ACol,
  ARow: Integer; Rect: TRect; State: TGridDrawState);
begin
    with sender as TStringGrid do
    begin
        if (GDFocused in state) then
        begin
            Pcol:=Acol;
            Prow:=ARow;
            func.String_Col:=ARow;
        end;
    end;
end;

procedure Tfrm_Begin_Goods.StringGrid1DblClick(Sender: TObject);
begin
    if ((PCol=1) or (PCol=2))then //表示选择的是仓库
    begin
        Check_Storage:='';
        Check_Storage:='begin_build_goods';
        frm_Storage_Select:=Tfrm_Storage_Select.Create(self);
        frm_Storage_Select.ShowModal;
        StringGrid1.Cells[1,String_Col]:=Check_Storage_Result_NO;
        StringGrid1.Cells[2,String_Col]:=Check_Storage_Result;
        frm_Storage_Select.Free;
    end;
    if ((PCol=3) or (PCol=4))then //表示选择的是仓库
    begin
        Goods_Check_str:='';
        Goods_Check_str:='begin_build_goods';
        Goods_No_Str:='';Goods_Name_Str:='';
        frm_Goods_Check:=Tfrm_Goods_Check.Create(self);
        frm_Goods_Check.ShowModal;
        StringGrid1.Cells[3,String_Col]:=Goods_No_Str;
        StringGrid1.Cells[4,String_Col]:=Goods_Name_Str;
        frm_Goods_Check.Free;
    end;
end;

procedure Tfrm_Begin_Goods.StringGrid1SetEditText(Sender: TObject; ACol,
  ARow: Integer; const Value: String);
var
    tempstr:string;
    i:integer;
begin
    if ((StringGrid1.Cells[5,ARow]<>'') and  (StringGrid1.Cells[6,ARow]<>'' ))then
    StringGrid1.Cells[7,ARow]:=FloatTostr(StrToFloat(StringGrid1.Cells[5,ARow])*StrToFloat(StringGrid1.Cells[6,ARow]));
end;

procedure Tfrm_Begin_Goods.RadioButton1Click(Sender: TObject);
begin
    if RadioButton1.Checked=true then
    begin
        Do_Flag:=True;
    end;
end;

procedure Tfrm_Begin_Goods.RadioButton2Click(Sender: TObject);
var
    k:integer;
begin
    if RadioButton2.Checked=true then
    begin
        Do_Flag:=True;
        with frm_data.Client_Stock_States do
        begin
            Close;
            CommandText:='';
            CommandText:='Select Storage_NO,Storage_Name,Goods_NO,Goods_Name,Costing_price,IN_Amount,Stock_money from [V_Stock_States_View]';
            Open;
            if frm_data.Client_Stock_States.RecordCount>0 then
            begin
                StringGrid1.RowCount:=frm_data.Client_Stock_States.RecordCount+1;
                k:=StringGrid1.RowCount;
                //自动加载STRINGGRID的行数
                {for K:=1 to StringGrid1.RowCount do
                begin
                    StringGrid1.Cells[0,K]:=IntTostr(k); //表示第0列第i行的名称
                end;}
                for k:=1 to k  do
                begin
                    StringGrid1.Cells[1,k]:=frm_data.Client_Stock_States.FieldValues['Storage_NO'];//商品编号
                    StringGrid1.Cells[2,k]:=frm_data.Client_Stock_States.FieldValues['Storage_Name'];//商品名称
                    StringGrid1.Cells[3,k]:=frm_data.Client_Stock_States.FieldValues['Goods_NO'];//数量
                    StringGrid1.Cells[4,k]:=frm_data.Client_Stock_States.FieldValues['Goods_Name'];//单价
                    StringGrid1.Cells[5,k]:=frm_data.Client_Stock_States.FieldValues['Costing_price'];//金额
                    StringGrid1.Cells[6,k]:=frm_data.Client_Stock_States.FieldValues['IN_Amount']; //类别名称
                    StringGrid1.Cells[7,k]:=frm_data.Client_Stock_States.FieldValues['Stock_money']; //品牌名称
                end;
            end;
        end;
    end;
end;

procedure Tfrm_Begin_Goods.SpeedButton1Click(Sender: TObject);
begin
    RadioButton1.Checked:=False;
    RadioButton2.Checked:=False;
    Do_Flag:=False;
end;

end.

⌨️ 快捷键说明

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