亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? matbalain.~pas

?? 文件包含程序源原文件
?? ~PAS
?? 第 1 頁 / 共 4 頁
字號:
unit MatBalaIn;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, tabFrm, ImgList, ExtCtrls, ComCtrls, StdCtrls, Buttons, Ex2nmedt,
  InvDef, EnhLV, GLLV, ComObj, xlsConst, Math, ClipBrd, InvHistory, dpConst;

type
  TfrmMatBalaIn = class(TTabForm)
    pnlInput: TPanel;
    lblindate: TLabel;
    lblCode: TLabel;
    lblName: TLabel;
    lblRemarks: TLabel;
    lblpaper: TLabel;
    lblUType: TLabel;
    lblInGuage: TLabel;
    lblunitPrice: TLabel;
    lblINQuantity: TLabel;
    lblINAmount: TLabel;
    lblStockID: TLabel;
    edtDate: TEdit;
    edtMatCode: TEdit;
    edtMatName: TEdit;
    edtNote: TEdit;
    edtINPaperNo: TEdit;
    edtPrice: TEx2NumEdit;
    edtWeight: TEx2NumEdit;
    Panel4: TPanel;
    btnNew: TBitBtn;
    Panel9: TPanel;
    cbxStk: TComboBox;
    edtStkID: TEdit;
    edtStkName: TEdit;
    Panel5: TPanel;
    Panel1: TPanel;
    btnDelete: TBitBtn;
    cbxGuage: TComboBox;
    edtGuageID: TEx2NumEdit;
    edtGuageName: TEdit;
    Panel2: TPanel;
    btnSave: TBitBtn;
    lblIsspaper: TLabel;
    edtIssPaperNO: TEdit;
    Panel3: TPanel;
    ckbNew: TCheckBox;
    rdoGroupBy: TRadioGroup;
    tabsGroup: TTabControl;
    Panel11: TPanel;
    Panel7: TPanel;
    btnPaper: TBitBtn;
    ListViewMatIN: TGradLineListView;
    Panel6: TPanel;
    btnGuageDef: TSpeedButton;
    lblTPrice: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);

    procedure TabControlChanging(Sender: TObject; var AllowChange: Boolean);
    procedure ControlChange(Sender: TObject);

    procedure ControlExit(Sender: TObject);
    procedure edtNoteKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
    procedure edtDateKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);

    procedure btnNewClick(Sender: TObject);
    procedure btnSaveClick(Sender: TObject);
    procedure btnDeleteClick(Sender: TObject);
    procedure ckbNewClick(Sender: TObject);
    procedure btnExitClick(Sender: TObject);

    procedure rdoGroupByClick(Sender: TObject);
    procedure tabsGroupChange(Sender: TObject);
    procedure cbxGuageDropDown(Sender: TObject);
    procedure cbxStkChange(Sender: TObject);
    procedure btnPaperClick(Sender: TObject);
    procedure btnMatQryClick(Sender: TObject);

    procedure cbxGuageChange(Sender: TObject);
    procedure btnGuageDefClick(Sender: TObject);
    procedure edtGuageNameExit(Sender: TObject);



  private
    { Private declarations }

    function  ReturnValueToVariable(lcP: PINVENTORY; CtrlList: PCONTROL_LIST; Msg: Boolean): Boolean;
    procedure SetData(Item: Pointer);
    procedure SetNull;
    function  ErrorCheck(Item: PINVENTORY): Integer;
    function  UpdateProc(UpdateListList: TList): Boolean;
    procedure UpdateCheck;
    procedure SetCopy;

    //////////////////////////////////////////////////////
    //////////////////////////////////////////////////////
    //////////////////////////////////////////////////////
    procedure Read_IOChangedList;
    Function  Set_QueryedList(sList: TList): TList;
    procedure CreateTabs_ByGroup(rdoIndex: integer; sList: TList);
    procedure Set_QryList_FromTabs(iTab: integer; FGroupList: TList);
    Function  CheckViewData(lcPA: Pointer; rdoTitleIndex,TabIndex: integer): boolean;
    
    procedure SetListView;
    function  SetListColumn(sListView: TGradLineListView): Integer;
    procedure MakeItemCaption(Item: TListItem);

    procedure SetMultilingual;
  public
    { Public declarations }
    default_suplier: integer;
    default_issuepaper: string;
    FOutSelected: PINVENTORY;

    procedure SetNew(Index: Integer);
    function  RECExists(RecID: LongInt): Boolean;

    Procedure Excel_StockInList(sList: TList);

  protected
    { Protected }
    function  GetTabCaption(Item: Pointer): string; override;
    procedure SetKomoku(Item: Pointer); override;

  end;

var
  frmMatBalaIn: TfrmMatBalaIn;
  FExitSkip: boolean;
  MatRID: LongInt;

  //////////////////////
  FMatIOList,
  FQueryList: TList;
  FListViewClear,
  FOnMakeItemCaption: Boolean;
  FSelectedItem: TListItem;
  FColCnt: Integer;

  /////////////////////
  FGroupValue: array[0..120000] of variant;  //-- TabControl tabs group value
  sFDate,sEDate: TDateTime;

implementation

uses Main, InvDM, QryMaterial, QryOrderDelivery, InSuplier;

{$R *.dfm}

procedure TfrmMatBalaIn.FormCreate(Sender: TObject);
var ix: integer;
    View: TINVENTORY;
begin
  inherited;   
  Top  := 0;
  Left := frmMain.Width;

  /////////////////////////////
  FMatIOList := TList.Create;
  FMatIOList.Clear;

  FQueryList := TList.Create;
  FQueryList.Clear;

  IX := 0;
  InitCtrlList(edtIssPaperNO,  IX, Longint(@View.ISS_PAPERNO)-Longint(@View),    nil,nil);
  Inc(IX);
  InitCtrlList(edtINPaperNo,   IX, Longint(@View.PAPERNO)-Longint(@View),    nil,nil);
  Inc(IX);
  InitCtrlList(edtStkID,       IX, Longint(@View.stk_id)-Longint(@View),   nil,nil);
  Inc(IX);
  InitCtrlList(edtDate,        IX, Longint(@View.date)-Longint(@View),    nil,nil);
  Inc(IX);
  InitCtrlList(edtMatCode,     IX, Longint(@View.MAT_RID)-Longint(@View),    nil,nil);
  Inc(IX);
  InitCtrlList(edtMatName,     IX, Longint(@View.MAT_NM)-Longint(@View),    nil,nil);
  Inc(IX);
  InitCtrlList(edtGuageID,     IX,  Longint(@View.GUAGE_ID)-Longint(@View),    nil,nil);
  Inc(IX);
  InitCtrlList(edtPrice,       IX, Longint(@View.UNT_PRICE)-Longint(@View),    nil,nil);
  Inc(IX);
  InitCtrlList(edtWeight,      IX, Longint(@View.QUANTITY)-Longint(@View),    nil,nil);
  Inc(IX);
  InitCtrlList(edtNote,        99, Longint(@View.NOTE)-Longint(@View),    nil,nil);
  PostCtrlList;

  SetMultilingual;
  SetNull;
end;

procedure TfrmMatBalaIn.FormShow(Sender: TObject);
begin
  Top  := 0;
  Left := frmMain.Width;

  TabControl.Tabs.Clear;
  SetNew(-1);
  if TabControl.Tabs.Count > 0 then SelectTabIndex(0);

  //////////////////////////////////////////////////////
  sFDate := Now;
  sEDate := Now+1;
  dm_Inventory.Read_IOHistory(FMatIOList,trim(edtStkID.Text),4,sFDate,sEDate);
  Set_QueryedList(FQueryList);
  CreateTabs_ByGroup(rdoGroupBy.ItemIndex,FQueryList);
  tabsGroupChange(Self);
end;

procedure TfrmMatBalaIn.FormDestroy(Sender: TObject);
begin
//
end;

procedure TfrmMatBalaIn.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
var UpdateListList, List: TList;
begin
  UpdateListList := GetUpdateListList;
  if (UpdateListList.Count>0)then begin
    List := UpdateListList[0];
    if (List.Count=0) then Exit;
    if ErrorCheck(Selected) <> 0 then begin
      CanClose := False;
      Exit;
    end;
    UpdateProc(UpdateListList);
    TabControl.Tabs.Clear;
  end;
  dm_Inventory.Delete_NullMaterial;
end;

procedure TfrmMatBalaIn.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  //frmInvHistory.ReReadProc(True);
  dm_Inventory.ListFreeMemory(FMatIOList);
  Action := caHide;
end;

procedure TfrmMatBalaIn.ControlChange(Sender: TObject);
var CtrlList: PCONTROL_LIST;
    lcP:  PINVENTORY;
    WRID: LongInt;
    PInputID: string;
    View: TINVENTORY;
begin
  if OnTabChange then Exit;
  if Selected = nil then Exit;
  lcP := Selected;
  try    CtrlList := GetCtrlListTarget(Sender as TWinControl);
  except
    Exit;
  end;

  if CtrlList = nil then Exit;
  if not FOnUndo then SetUndoBuffer(Sender as TWinControl);
  SetUpdateList(lcP^.REC_ID, CtrlList^.Address, CtrlList^.UpdateIndex, 0, lcP);

  //////////////////////////////////
  if Sender = edtStkID then begin
    edtStkName.Text := dm_Inventory.GetStockName(trim(edtStkID.Text));
  end;

  if Sender = edtMatCode then begin
      WRID             := dm_Inventory.GetMaterialRID(TEdit(Sender).Text);
      edtMatName.Text  := dm_Inventory.GetMaterialName(WRID);
      lblUType.Caption := dm_Inventory.GetUnitTypeName(WRID);
      
      //////////////////////////
      lcp^.MAT_RID := WRID;
      edtGuageName.Text := dm_Inventory.Get_GuageName(WRID,Trunc(edtGuageID.Value));
      SetTabCaption(lcP);
  end;

  if Sender = edtGuageID then begin
    edtGuageName.Text := dm_Inventory.Get_GuageName(lcp^.MAT_RID,Trunc(edtGuageID.Value));
    lcp^.GUAGE_ID := trunc(edtGuageID.Value);
    SetUpdateList(lcP^.REC_ID, @lcP^.GUAGE_ID, LongInt(@View.GUAGE_ID)-LongInt(@View), 0, lcP);
  end;

  /////////////////////////////////
  if (Sender = edtPrice)or(Sender = edtWeight) then
  begin
    lblTPrice.Caption := FormatFloat('#,##0.00', (RoundTo(edtPrice.Value,-2) * RoundTo(edtWeight.Value,-2)));
    lcp^.UNT_PRICE := trunc(RoundTo(edtPrice.Value,-2));
    SetUpdateList(lcP^.REC_ID, @lcP^.UNT_PRICE, LongInt(@View.UNT_PRICE)-LongInt(@View), 0, lcP);
    lcp^.TTL_PRICE := trunc(RoundTo(edtWeight.Value,-2));
    SetUpdateList(lcP^.REC_ID, @lcP^.TTL_PRICE, LongInt(@View.TTL_PRICE)-LongInt(@View), 0, lcP);
  end;
  /////////////////////////////////
end;

procedure TfrmMatBalaIn.ControlExit(Sender: TObject);
var CtrlList: PCONTROL_LIST;
    lcP: Pointer;
begin
  if FExitSkip then Exit;
  if Selected = nil then Exit;
  lcP := Selected;
  try
    CtrlList := GetCtrlListTarget(Sender as TWinControl);
  except
    Exit;
  end;

  if (CtrlList = nil)or((CtrlList<>nil)and(CtrlList^.Address=nil)) then Exit;
  if not ReturnValueToVariable(lcP, CtrlList, True) then
  begin
    ReturnValueFromTag(CtrlList);
    try
      CtrlList^.Target.SetFocus;
    except
      Exit;
    end;
  end;
end;

procedure TfrmMatBalaIn.edtDateKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
var WDate: TDateTime;
begin
  if (Key=VK_RETURN)and(ssShift in Shift)then
    if not(dm_Inventory.DateErrorCheck(edtDate.Text, WDate)) then begin
      Key := 0;
      edtNote.SetFocus;
      Exit;
    end;
  ControlKeyDown(Sender, Key, Shift);
end;

procedure TfrmMatBalaIn.edtNoteKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
var WK: Word;
begin
  WK := Key;
  ControlKeyDown(Sender, Key, Shift);
  if (WK=VK_RETURN)and not(ssShift in Shift) then
    if ckbNew.Checked then begin
      FExitSkip := True;
      try
        btnNewClick(Sender);
      finally
        FExitSkip := False;
      end;
    end;
end;

procedure TfrmMatBalaIn.TabControlChanging(Sender: TObject;
  var AllowChange: Boolean);
begin
  inherited;
  AllowChange := True;
  if ErrorCheck(Selected) <> 0 then AllowChange := False
  else UpdateCheck;
end;

{**********************************************************************************}
{**********************************************************************************}
function  TfrmMatBalaIn.ReturnValueToVariable(lcP: PINVENTORY; CtrlList: PCONTROL_LIST; Msg: Boolean): Boolean;
procedure TotalPriceProc;
  var View: TINVENTORY;
  begin
    Double(CtrlList^.Address^):=(CtrlList^.Target as TEx2NumEdit).Value;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品免费在线播放| 91电影在线观看| 国产精品综合在线视频| 秋霞电影网一区二区| 午夜电影一区二区| 五月天网站亚洲| 日本美女视频一区二区| 日韩精品欧美精品| 美女网站色91| 久久电影网电视剧免费观看| 韩国中文字幕2020精品| 国产精品白丝jk白祙喷水网站| 国产一区二区三区精品视频| 国产成人三级在线观看| 粉嫩aⅴ一区二区三区四区| 国产一区二区三区久久悠悠色av| 国产一级精品在线| 成人一二三区视频| 91女神在线视频| 欧美撒尿777hd撒尿| 91麻豆精品国产91久久久资源速度| 欧美日韩色一区| 日韩女优视频免费观看| 久久影音资源网| 中文字幕av一区 二区| 亚洲少妇屁股交4| 亚洲线精品一区二区三区八戒| 五月天视频一区| 国产综合久久久久久久久久久久| 国产成人夜色高潮福利影视| 99久久综合国产精品| 欧美性做爰猛烈叫床潮| 欧美色视频在线观看| 欧美一区国产二区| 中文字幕高清不卡| 亚洲国产欧美日韩另类综合| 美女高潮久久久| 成人精品电影在线观看| 欧美唯美清纯偷拍| 欧美mv日韩mv国产网站| 国产精品久久久久久久久免费樱桃 | 亚洲午夜精品一区二区三区他趣| 午夜国产精品影院在线观看| 国产精品1区2区| 一本一道综合狠狠老| 日韩一区二区三区视频在线观看| 国产欧美精品一区二区色综合| 亚洲美女一区二区三区| 蜜臀久久99精品久久久久久9| www.亚洲色图.com| 777a∨成人精品桃花网| 国产欧美精品区一区二区三区 | 精品久久五月天| 国产精品久久二区二区| 亚洲超碰97人人做人人爱| 国产一区久久久| 欧美亚洲高清一区| 国产欧美日韩亚州综合| 亚洲国产三级在线| 成人小视频在线观看| 91麻豆精品国产91久久久资源速度| 国产精品美女久久久久久久久久久| 亚洲成人一区二区| 成人99免费视频| 日韩视频免费观看高清完整版| 综合色中文字幕| 国产一区二区免费在线| 欧美三级在线看| 中文字幕一区二区三区四区 | 在线电影院国产精品| 国产精品私人自拍| 老司机一区二区| 欧美色手机在线观看| 国产精品久久久久一区二区三区共| 日韩国产精品久久| 91福利视频在线| 欧美国产日本韩| 久久99精品久久久久婷婷| 欧美性欧美巨大黑白大战| 国产日本欧美一区二区| 老司机精品视频一区二区三区| 欧洲中文字幕精品| 国产精品久久国产精麻豆99网站| 激情久久久久久久久久久久久久久久| 欧美特级限制片免费在线观看| 国产精品电影院| 成人av先锋影音| 国产亚洲欧美日韩在线一区| 日韩精品每日更新| 欧美理论电影在线| 亚洲一区二区三区影院| 色呦呦一区二区三区| 欧美国产精品中文字幕| 国产suv一区二区三区88区| 欧美videos中文字幕| 日韩精品色哟哟| 91精品蜜臀在线一区尤物| 亚洲bt欧美bt精品777| 色婷婷狠狠综合| 亚洲欧美一区二区久久| 91在线观看污| 亚洲欧洲日韩在线| 91在线视频在线| 亚洲欧美日韩国产综合| 色综合一区二区| 国产精品国产自产拍高清av| 成人app在线| 亚洲情趣在线观看| 在线观看av一区二区| 亚洲1区2区3区视频| 欧美日韩久久久| 欧美bbbbb| 精品少妇一区二区三区在线播放| 久久国产尿小便嘘嘘尿| 精品福利av导航| 国产精品夜夜爽| 国产精品成人免费在线| 91福利国产成人精品照片| 五月天一区二区三区| 欧美成人aa大片| 国产精品一区不卡| 亚洲视频一区二区在线观看| 91国偷自产一区二区三区观看 | 麻豆国产精品官网| 欧美tickle裸体挠脚心vk| 国产精品白丝jk黑袜喷水| 中文字幕一区二区三区av| 色国产综合视频| 日韩中文字幕不卡| 久久久久久久久久久久电影| 99久免费精品视频在线观看| 亚洲一区二区三区中文字幕| 欧美一区二区三区在线观看| 国产福利精品一区| 一区二区在线免费观看| 777亚洲妇女| 国产传媒欧美日韩成人| 日韩一区在线播放| 欧美日韩精品二区第二页| 另类中文字幕网| 亚洲特黄一级片| 欧美一级二级三级蜜桃| 国产成人综合亚洲网站| 一区二区三区中文在线| 精品国产伦一区二区三区免费| 成人激情电影免费在线观看| 亚洲最色的网站| 精品成人一区二区三区| 91福利在线看| 国产精品一区二区三区99| 一区二区在线观看不卡| 欧美tickle裸体挠脚心vk| 色婷婷av久久久久久久| 美女视频黄 久久| 亚洲欧美福利一区二区| 日韩免费高清电影| 日本高清不卡一区| 国产综合久久久久影院| 一二三区精品福利视频| 久久影院午夜片一区| 欧美三区免费完整视频在线观看| 国产精品香蕉一区二区三区| 午夜精品久久久| 国产精品女同互慰在线看| 91麻豆精品久久久久蜜臀| 9i在线看片成人免费| 麻豆91在线观看| 亚洲激情成人在线| 国产午夜三级一区二区三| 欧美精品自拍偷拍动漫精品| 成人三级伦理片| 美女网站色91| 亚洲成av人片在线观看| 国产精品欧美久久久久无广告| 4438x成人网最大色成网站| 99久久99精品久久久久久 | 日韩午夜在线影院| 欧美一a一片一级一片| 成人中文字幕合集| 极品尤物av久久免费看| 婷婷夜色潮精品综合在线| 专区另类欧美日韩| 国产欧美日韩另类视频免费观看| 欧美一区二区福利视频| 91久久精品一区二区| 东方欧美亚洲色图在线| 精品一区二区久久久| 日韩在线a电影| 亚洲mv在线观看| 一区二区三区精品视频| 综合电影一区二区三区| 欧美国产精品一区二区| 久久综合色天天久久综合图片| 在线综合亚洲欧美在线视频| 欧美日韩一区三区四区| 色欧美片视频在线观看在线视频| 成人黄色av电影| 成人在线综合网| 大陆成人av片| 成人听书哪个软件好|