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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? matguageinfo.pas

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

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, ExtCtrls, StdCtrls, EnhLV, GLLV, Buttons, Ex2nmedt,
  InvDef, dpConst, Math;

type
  TfrmMatGuageInfo = class(TForm)
    tabsGroup: TTabControl;
    LstViewGuage: TGradLineListView;
    Panel2: TPanel;
    Panel3: TPanel;
    Panel4: TPanel;
    Panel5: TPanel;
    Panel6: TPanel;
    edtGuageID: TEx2NumEdit;
    edtMatID: TLabeledEdit;
    edtGuageName: TLabeledEdit;
    btnNew: TSpeedButton;
    btnDelete: TSpeedButton;
    btnUpdate: TSpeedButton;
    btnQuit: TSpeedButton;
    edtMatName: TEdit;
    lblGuageID: TLabel;
    edtSafety: TEx2NumEdit;
    edtMax: TEx2NumEdit;
    edtFixed: TEx2NumEdit;
    lblSafety: TLabel;
    lblMax: TLabel;
    lblFixed: TLabel;
    lblBuyDays: TLabel;
    edtBuyDays: TEx2NumEdit;
    btnSafety: TSpeedButton;
    edtWeightpcs: TEx2NumEdit;
    lblWghPcs: TLabel;
    SpeedButton1: TSpeedButton;
    stsBarCnt: TStatusBar;
    Panel1: TPanel;
    GroupBox1: TGroupBox;
    Image1: TImage;
    edtFMatCode: TLabeledEdit;
    edtEMatCode: TLabeledEdit;
    edtMatClass: TLabeledEdit;
    edtMatClassName: TEdit;
    cbxMatClass: TComboBox;
    Panel7: TPanel;
    GroupBox2: TGroupBox;
    chkMaterial: TCheckBox;
    btnQuery: TSpeedButton;
    rdogrpTitle: TRadioGroup;
    procedure FormCreate(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure tabsGroupChange(Sender: TObject);
    procedure LstViewGuageChange(Sender: TObject; Item: TListItem;
      Change: TItemChange);
    procedure btnNewClick(Sender: TObject);
    procedure btnDeleteClick(Sender: TObject);
    procedure btnUpdateClick(Sender: TObject);
    procedure btnQueryClick(Sender: TObject);
    procedure btnExitClick(Sender: TObject);
    procedure btnQuitClick(Sender: TObject);
    procedure cbxMatClassDropDown(Sender: TObject);
    procedure cbxMatClassChange(Sender: TObject);
    procedure btnSafetyClick(Sender: TObject);
    procedure edtMatClassChange(Sender: TObject);
  private
    { Private declarations }
    //////////////////////////////////////////////////////
    procedure Read_MatGuageInfoList;
    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 SetNull;
    procedure Set_currItem(Item: TListItem);

    Procedure SetMultilingual;
    
  public
    { Public declarations }
  end;

var
  frmMatGuageInfo: TfrmMatGuageInfo;
  //////////////////////
  FMatGuageList,
  FQueryList: TList;
  FListViewClear,
  FOnMakeItemCaption,
  FOnCloseForm: Boolean;
  FSelectedItem: TListItem;
  FColCnt: Integer;
  iShiZaiKubun: integer;

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


implementation

uses Main, InvDM;

{$R *.dfm}

procedure TfrmMatGuageInfo.FormCreate(Sender: TObject);
begin
  Top    := frmMain.Height;
  Left   := 0;
  Width  := Screen.Width;
  Height := Screen.Height-(frmMain.Height+stsBarCnt.Height+8);

  FMatGuageList := TList.Create;
  FMatGuageList.Clear;

  FQueryList := TList.Create;
  FQueryList.Clear;

  SetMultilingual;
end;

procedure TfrmMatGuageInfo.FormShow(Sender: TObject);
begin
  Top    := frmMain.Height;
  Left   := 0;
  Width  := Screen.Width;
  Height := Screen.Height-(frmMain.Height+stsBarCnt.Height+8);

  dm_Inventory.Read_MatGuageInfo(FMatGuageList);
  Set_QueryedList(FQueryList);
  CreateTabs_ByGroup(rdogrpTitle.ItemIndex,FQueryList);
  tabsGroupChange(Self);
end;

procedure TfrmMatGuageInfo.FormCloseQuery(Sender: TObject;
  var CanClose: Boolean);
begin
//
end;

procedure TfrmMatGuageInfo.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  dm_inventory.Read_MatGuageInfo(FGuageList);
  dm_inventory.ListFreeMemory(FQueryList);
  Action := caFree;
end;

////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////
procedure TfrmMatGuageInfo.Read_MatGuageInfoList;
begin
  dm_Inventory.Read_MatGuageInfo(FMatGuageList);
  Set_QueryedList(FQueryList);
  CreateTabs_ByGroup(rdogrpTitle.ItemIndex,FQueryList);
  tabsGroupChange(Self);
end;

Function TfrmMatGuageInfo.Set_QueryedList(sList: TList): TList;
  function SetQryCheck(lcP: PGuageInfo): Boolean;
  var i: Integer;
      WMtlCode: array[0..1] of string;
  begin
    Result := True;
    //--
    if trim(edtFMatCode.Text)='' then WMtlCode[0] := '0000000000'
    else  WMtlCode[0] := trim(edtFMatCode.Text);
    if trim(edtEMatCode.Text)='' then WMtlCode[1] := 'ZZZZZZZZZZ'
    else  WMtlCode[1] := trim(edtEMatCode.Text);
    if ((WMtlCode[0] > dm_inventory.GetMaterialCode(lcp^.mat_rec_id)) or
     (WMtlCode[1] < dm_inventory.GetMaterialCode(lcp^.mat_rec_id))) then begin
    result := false;
    exit;
  end;

  if chkMaterial.Checked then begin
    if not (dm_inventory.Get_KubunIssMode_FromShiZai(lcp^.mat_rec_id) = 1) then begin
      result := false;
      exit;
    end;
  end;

  iShiZaiKubun := dm_inventory.GetShiZaiKubunID(trim(edtMatClass.Text));
  if (trim(edtMatClass.Text)<>'') then
    if not (dm_inventory.Get_KubunRecID_FromShiZai(lcp^.mat_rec_id) = iShiZaiKubun) then begin
      result := false;
      exit;
    end;
  end;
var
  ix: integer;
  lcpA: PGuageInfo;
begin
   sList.Clear;
   for ix := 0 to FMatGuageList.Count - 1 do
   begin
     lcpA := FMatGuageList[ix];
     if not SetQryCheck(lcpA) then continue;
     sList.Add(lcpA);
   end;
   result := sList
end;

procedure TfrmMatGuageInfo.CreateTabs_ByGroup(rdoIndex: integer; sList: TList);
var tmpTabIndex: integer;
    i,j: integer;
    lcp: PGuageInfo;
    tmpGroupTitle: variant;
    iGroupFind: Boolean;
begin
  tmpTabIndex := 0;
  tabsGroup.Tabs.Clear;

  for i := 0 to sList.Count - 1 do
  begin
    lcp := sList[i];
    if lcp = nil then continue;

    case rdoIndex of
      0: tmpGroupTitle := dm_inventory.GetMaterialCode(lcp^.mat_rec_id);
      1: tmpGroupTitle := 'ALL';
      else tmpGroupTitle := dm_inventory.GetMaterialCode(lcp^.mat_rec_id);
    end;

    //-- 判斷是否有找到抬頭信息
    iGroupFind := false;
    for j := 0 to tmpTabIndex - 1 do
    begin
      try
        if tmpGroupTitle = FGroupValue[j] then begin
          iGroupFind := true;
          break;
        end;
      except
      end;
    end;

    if not iGroupFind then begin   //-- 沒找到當(dāng)前資料的抬頭則新增tabs
      FGroupValue[tmpTabIndex] := tmpGroupTitle;
      inc(tmpTabIndex);

      tabsGroup.Tabs.Add(tmpGroupTitle);
    end;

  end;
  //////////////////////////////////////////////
  //-- tabsGroup.TabIndex value
  if tmpTabIndex >0 then tabsGroup.TabIndex := 0
  else tabsGroup.TabIndex := -1;
end;


procedure TfrmMatGuageInfo.Set_QryList_FromTabs(iTab: integer; FGroupList: TList);
  function SetQryCheck(lcP: PGuageInfo): Boolean;
  var i: Integer;
      WMtlCode: array[0..1] of string;
  begin
    Result := True;
    //--
    if trim(edtFMatCode.Text)='' then WMtlCode[0] := '0000000000'
    else  WMtlCode[0] := trim(edtFMatCode.Text);
    if trim(edtEMatCode.Text)='' then WMtlCode[1] := 'ZZZZZZZZZZ'
    else  WMtlCode[1] := trim(edtEMatCode.Text);
    if ((WMtlCode[0] > dm_inventory.GetMaterialCode(lcp^.mat_rec_id)) or
     (WMtlCode[1] < dm_inventory.GetMaterialCode(lcp^.mat_rec_id))) then begin
    result := false;
    exit;
  end;

  if chkMaterial.Checked then begin
    if not (dm_inventory.Get_KubunIssMode_FromShiZai(lcp^.mat_rec_id) = 1) then begin
      result := false;
      exit;
    end;
  end;

  iShiZaiKubun := dm_inventory.GetShiZaiKubunID(trim(edtMatClass.Text));
  if (trim(edtMatClass.Text)<>'') then
    if not (dm_inventory.Get_KubunRecID_FromShiZai(lcp^.mat_rec_id) = iShiZaiKubun) then begin
      result := false;
      exit;
    end;
  end;
var i,j: integer;
    lcP,lcPA: PGuageInfo;
    iView: Boolean;
    iBool: Boolean;
begin
  if FMatGuageList = nil then exit;
  if FMatGuageList.Count = 0 then exit;
  FQueryList.Clear;

  for i := 0 to FMatGuageList.Count-1 do begin
    lcP := FMatGuageList.Items[i];
    if not SetQryCheck(lcp) then continue;
    iView := CheckViewData(lcP, rdogrpTitle.ItemIndex, TabsGroup.TabIndex);
    if not iView then Continue;
    FQueryList.Add(lcP);
  end;
end;

Function  TfrmMatGuageInfo.CheckViewData(lcPA: Pointer; rdoTitleIndex,TabIndex: integer): boolean;
var
  TmpV: Variant;
  lcp: PGuageInfo;
begin

      Result := False;

      if lcPA=Nil then Exit;
      lcp := LcpA;
      if (rdoTitleIndex<0) or (TabIndex<0) then Exit;

    case rdoTitleIndex of
      0:    TmPV := dm_inventory.GetMaterialCode(lcp^.mat_rec_id);
      1:    TmPV := 'ALL';
      else TmPV := dm_inventory.GetMaterialCode(lcp^.mat_rec_id);
    end;
    try
      if TmPV = FGroupValue[TabIndex] then Result:=True;
    except
      Result:=False;
    end;
end;

procedure TfrmMatGuageInfo.SetListView;
var i,j: Integer;
    lcP: PGuageInfo;
    Item: TListItem;
begin
  Screen.Cursor  := crHourGlass;
  with LstViewGuage.Items do begin
    BeginUpdate;
    Clear;
    EndUpdate;
  end;

  SetListColumn(LstViewGuage);
  //--
  LstViewGuage.Items.BeginUpdate;

  //FQueryList.Sort(TListSortCompare(@ListSortCompare));

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美在线免费观看视频| 欧美不卡在线视频| yourporn久久国产精品| 国产美女在线精品| 国产一区视频导航| 国内成人精品2018免费看| 狠狠狠色丁香婷婷综合久久五月| 美洲天堂一区二卡三卡四卡视频| 日本不卡一二三区黄网| 免费观看一级欧美片| 美女国产一区二区三区| 精东粉嫩av免费一区二区三区| 日韩av成人高清| 精品一区二区三区的国产在线播放 | 精品粉嫩超白一线天av| 日韩欧美美女一区二区三区| 精品欧美久久久| 久久综合九色欧美综合狠狠 | 亚洲视频在线一区二区| 亚洲欧美在线高清| 亚洲精品ww久久久久久p站| 一区二区三区在线观看欧美| 亚洲一区二区三区在线看| 亚洲高清视频的网址| 香蕉乱码成人久久天堂爱免费| 视频一区二区三区入口| 精品一二线国产| 国产成人亚洲综合a∨猫咪| k8久久久一区二区三区| 在线观看亚洲专区| 日韩视频永久免费| 欧美国产成人精品| 亚洲激情男女视频| 日韩av二区在线播放| 福利一区二区在线| 日本久久电影网| 日韩精品中午字幕| 国产精品久久久久影院色老大 | 国产成人99久久亚洲综合精品| 成人黄页在线观看| 欧美日韩精品一区二区三区蜜桃 | 欧美亚洲动漫精品| 欧美电影精品一区二区| 综合中文字幕亚洲| 日韩国产在线观看| av不卡免费在线观看| 4hu四虎永久在线影院成人| 久久久三级国产网站| 亚洲激情自拍偷拍| 国产自产v一区二区三区c| 99re视频精品| 日韩欧美国产wwwww| 亚洲色图视频网站| 精品综合久久久久久8888| 91在线国产福利| 日韩欧美国产小视频| 一区二区三区国产豹纹内裤在线| 精品午夜一区二区三区在线观看| 色婷婷av久久久久久久| 久久久蜜臀国产一区二区| 亚洲一区av在线| 国产成人亚洲综合a∨婷婷图片| 欧美丰满高潮xxxx喷水动漫| 国产精品电影一区二区三区| 久久99热狠狠色一区二区| 色999日韩国产欧美一区二区| 国产一区二区网址| 欧美色男人天堂| 中文av一区二区| 久久不见久久见免费视频7 | 欧美激情资源网| 日本中文在线一区| 色视频成人在线观看免| 亚洲国产精华液网站w| 美美哒免费高清在线观看视频一区二区 | 成人在线视频一区| 日韩欧美国产一区二区三区| 亚洲妇熟xx妇色黄| 91美女片黄在线观看91美女| 亚洲国产精华液网站w| 久久成人av少妇免费| 欧美色图一区二区三区| 亚洲视频一二三| 成人黄色av电影| 久久精品亚洲国产奇米99| 美国三级日本三级久久99| 欧美日韩一级片网站| 亚洲精品欧美二区三区中文字幕| 成人精品小蝌蚪| 久久色.com| 黄网站免费久久| 日韩欧美亚洲另类制服综合在线 | 欧美性xxxxx极品少妇| 亚洲视频电影在线| 波多野结衣亚洲| 欧美激情综合在线| 成人av网站大全| 国产精品乱码妇女bbbb| 夫妻av一区二区| 日本一区二区三区久久久久久久久不 | 欧美性猛交xxxx乱大交退制版| 亚洲天堂精品在线观看| 99这里都是精品| 亚洲欧美中日韩| 色综合夜色一区| 亚洲精品美腿丝袜| 欧美在线观看一区二区| 亚洲午夜激情网站| 欧美三级资源在线| 石原莉奈在线亚洲二区| 91麻豆精品国产自产在线观看一区| 日韩在线一区二区三区| 欧美一区二区三区小说| 久久国产麻豆精品| 久久在线免费观看| 成人性色生活片| 亚洲欧美区自拍先锋| 欧美性色综合网| 美女看a上一区| 欧美高清在线精品一区| 一本一本大道香蕉久在线精品 | 午夜久久久久久久久久一区二区| 欧美日韩国产a| 麻豆精品久久久| 久久久久国产精品人| 成人性生交大片免费看中文| 亚洲乱码国产乱码精品精可以看 | 久久天天做天天爱综合色| 国产很黄免费观看久久| 综合电影一区二区三区| 欧美偷拍一区二区| 麻豆久久一区二区| 中文子幕无线码一区tr| 在线观看www91| 激情综合一区二区三区| 国产精品视频看| 欧美偷拍一区二区| 国产一区免费电影| 亚洲精品乱码久久久久久黑人| 欧美日韩国产精品自在自线| 国产精品小仙女| 亚洲资源中文字幕| 精品久久一区二区| 91在线观看高清| 裸体一区二区三区| 成人免费小视频| 日韩欧美中文字幕制服| 不卡视频免费播放| 日韩高清不卡一区二区三区| 国产欧美一区二区三区网站| 欧美探花视频资源| 国产成人一级电影| 日韩av中文字幕一区二区三区| 欧美国产在线观看| 欧美精品自拍偷拍动漫精品| 成人性视频免费网站| 日韩av在线免费观看不卡| 国产精品嫩草影院av蜜臀| 欧美久久婷婷综合色| eeuss国产一区二区三区| 免费一级欧美片在线观看| 亚洲视频一二三| 国产亚洲综合色| 欧美美女bb生活片| 99精品热视频| 国产美女在线精品| 午夜视频一区在线观看| 国产精品久久久久aaaa| 精品日韩欧美一区二区| 在线观看国产日韩| 成人久久久精品乱码一区二区三区| 日本成人在线不卡视频| 亚洲乱码国产乱码精品精的特点| 久久久影视传媒| 精品少妇一区二区三区日产乱码 | 国产美女一区二区三区| 日本欧美一区二区| 夜夜夜精品看看| 亚洲国产精品高清| 久久久久久久综合色一本| 欧美妇女性影城| 在线观看国产精品网站| 91原创在线视频| 99这里都是精品| 成人午夜视频在线观看| 国内一区二区视频| 欧美bbbbb| 午夜精品久久久久久久久| 伊人一区二区三区| 亚洲欧美影音先锋| 中文天堂在线一区| 国产欧美日韩不卡| 久久久久久9999| 久久久久久**毛片大全| 久久综合狠狠综合| 精品国产露脸精彩对白 | 奇米影视在线99精品| 亚洲福利视频三区| 香港成人在线视频| 亚洲成人动漫av|