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

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

?? invioid.pas

?? 文件包含程序源原文件
?? PAS
字號:
unit InvIOID;

interface

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

type
  TfrmIOID = class(TForm)
    tabIOID: TTabControl;
    Panel1: TPanel;
    Panel2: TPanel;
    edtCode: TLabeledEdit;
    edtName: TLabeledEdit;
    edtNote: TLabeledEdit;
    Panel4: TPanel;
    btnNew: TSpeedButton;
    btnDel: TSpeedButton;
    btnUpdate: TSpeedButton;
    Panel3: TPanel;
    Memo1: TMemo;
    ListViewIO: TListView;
    stsBarCnt: TStatusBar;
    Panel5: TPanel;
    Panel6: TPanel;
    Panel7: TPanel;
    procedure FormCreate(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure tabIOIDChange(Sender: TObject);
    procedure ListViewIOChange(Sender: TObject; Item: TListItem; Change: TItemChange);
    procedure ListViewIOClick(Sender: TObject);
    procedure btnNewClick(Sender: TObject);
    procedure btnDelClick(Sender: TObject);
    procedure btnUpdateClick(Sender: TObject);
  private
    { Private declarations }

    Procedure ReadIOIDListView(groupcd: integer);
    function  SetListColumn: Integer;
    function  SetListView: Integer;
    procedure ClearListView;

    procedure MakeItemCaption(Item: TListItem);
    procedure Set_currItem(Item: TListItem);
    procedure SetNull;

    Procedure SetMultilingual;
  public
    { Public declarations }

    procedure Set_NewIOID(LstView: TListView);
    procedure Set_UpdateIOID(LstView: TListView);
    procedure Set_DeleteIOID(LstView: TListView);


  end;

var
  frmIOID: TfrmIOID;

  FIOIDList: TList;
  FSelectedItem: TListItem;
  FOnMakeItemCaption,
  FListViewClear,
  FOnCloseForm: Boolean;
  FColumnCount,
  FGroupCD: integer;



implementation

uses Main, InvDM;

{$R *.dfm}

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

  FIOIDList := TList.Create;
  FIOIDList.Clear;

  SetMultilingual;
end;

procedure TfrmIOID.FormShow(Sender: TObject);
begin
  Top    := frmMain.Height;
  Left   := 0;
  Width  := Screen.Width;
  Height := Screen.Height-(frmMain.Height+stsBarCnt.Height+8);
  
  FOnCloseForm := false;
  FGroupCd := tabIOID.TabIndex+1;
  ReadIOIDListView(FGroupCd);
end;

procedure TfrmIOID.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  dm_inventory.ListFreeMemory(FIOIDList)
end;

procedure TfrmIOID.tabIOIDChange(Sender: TObject);
begin
  FGroupCD := tabIOID.TabIndex+1;
  ReadIOIDListView(FGroupCD);
end;

procedure TfrmIOID.ListViewIOChange(Sender: TObject; Item: TListItem; Change: TItemChange);
begin
  if FOnCloseForm then exit;
  if Item.Data = nil then
  begin
    setNull;
    exit;
  end
  else Set_currItem(ListViewIO.Selected);
end;

procedure TfrmIOID.ListViewIOClick(Sender: TObject);
begin
///
end;

{********************************************************************************}
Procedure TfrmIOID.ReadIOIDListView(groupcd: integer);
var
  i: Integer;
  SaveCursor: TCursor;
begin
  for i := 0 to FIOIDList.Count - 1 do
    Dispose(FIOIDList.Items[i]);
  FIOIDList.Clear;

  SaveCursor := Screen.Cursor;
  Screen.Cursor := crSqlWait;

  try
    dm_Inventory.Read_IOIDInfo(FGroupCD,FIOIDList);

    FListViewClear:=True;

    FColumnCount := SetListColumn; //--

    ListViewIO.Selected := nil;

    if SetListView > 0 then
    begin
      ListViewIO.TopItem.Selected := True;
      ListViewIO.TopItem.Focused := True;
      ListViewIO.SetFocus;
      FSelectedItem := ListViewIO.TopItem;
      Set_currItem(FSelectedItem);
    end;

    FListViewClear := False;

  finally
    stsBarCnt.Panels[0].Text := '符合條件的記錄有:'+ IntToStr(ListViewIO.Items.Count)+' 條';
    Screen.Cursor := SaveCursor;
  end;
end;

function  TfrmIOID.SetListColumn: Integer;
var
  Column: TListColumn;
  Count: Integer;
begin
  ListViewIO.Columns.Clear;
  ListViewIO.Items.BeginUpdate;               //--
  ListViewIO.RowSelect := False;
  Count := 0;
  try
    Column := ListViewIO.Columns.Add;
      Column.Caption := GetMultiLingalMsg(90197, 'Code');
      Column.Width   := ListViewIO.Font.Size * 6;
      Inc(Count);

      Column := ListViewIO.Columns.Add;
      Column.Caption := GetMultiLingalMsg(90198, 'Name');
      Column.Width   := ListViewIO.Font.Size * 16;
      Inc(Count);

      Column := ListViewIO.Columns.Add;
      Column.Caption := GetMultiLingalMsg(90065, 'Remarks');
      Column.Width   := ListViewIO.Font.Size * 18;
      Column.Alignment := taLeftJustify;
      Inc(Count);
  finally
    ListViewIO.RowSelect := True;
    ListViewIO.Items.EndUpdate;               //--
  end;
  Result := Count;
end;

function  TfrmIOID.SetListView: Integer;
var
  i, j, ItemCount: Integer;
  lcP: PClassInfo;
  Item: TListItem;
begin
  ItemCount := 0;
  FListViewClear := True;

  ClearListView;

  FListViewClear := False;
  LockWindowUpdate(ListViewIO.Handle);
  try
    for i := 0 to FIOIDList.Count - 1 do begin
      lcP := FIOIDList[i];

      Item := ListViewIO.Items.Add;
      for j := 0 to FColumnCount - 2 do
        Item.Subitems.Add('');

      lcP^.FCurrItem := Item;
      Item.Data := lcP;

      MakeItemCaption(Item);
      Inc(ItemCount);
   end;
  finally
    LockWindowUpdate(0);
  end;
  Result := ItemCount;
end;

procedure TfrmIOID.ClearListView;
begin
  ListViewIO.Items.BeginUpdate;
  try
    ListViewIO.Items.Clear;
  finally
    ListViewIO.Items.EndUpdate;
  end;
end;

procedure TfrmIOID.MakeItemCaption(Item: TListItem);
var
  lcP: PClassInfo;
begin
  if Item = nil then Exit;

  lcP := Item.Data;
  if lcP = nil then Exit;

  FOnMakeItemCaption := True; //--
  Item.Caption     := lcP^.scode;
  Item.SubItems[0] := lcP^.sname;
  Item.SubItems[1] := lcp^.sMemo;
  FOnMakeItemCaption := False;
end;

procedure TfrmIOID.Set_currItem(Item: TListItem);
var
  lcp: PClassInfo;
begin 
  if (Item = nil) or ((item = nil) and (Item.Data <> nil)) then
  begin
    SetNull;
    exit;
  end    
  else begin
    FSelectedItem := nil;
    FSelectedItem := Item;
    lcp := Item.Data;

    edtCode.Text             := lcp^.sCode;
    edtName.Text             := lcp^.sName;
    edtNote.Text             := lcp^.sMemo;
  end;
end;

procedure TfrmIOID.SetNull;
begin
  FSelectedItem := nil;
  edtCode.Text             := '';
  edtName.Text             := '';
  edtNote.Text             := '';
end;

{*******************************************************************}
procedure TfrmIOID.Set_NewIOID(LstView: TListView);
var
  lcpNew: PClassInfo;
  j: integer;
  Item: TListItem;
begin
  New(lcpNew);
  SetNull;

  lcpNew^.sClassIndex          := FGroupCD;
  lcpNew^.scode              := 'New';
  if not dm_Inventory.isExists_IOID(lcpNew) then
  begin
    lcpNew^.sMainKey  := dm_Inventory.Get_AutoPaperNo('IO Code Information');
    lcpNew^.sname     := '';
    lcpNew^.smemo     := '';


    dm_Inventory.Insert_IOIDInfo(lcpNew);
    with lstView do
    begin
      Item := LstView.Items.Add;
      for j := 0 to FColumnCount - 2 do
        Item.Subitems.Add('');
        lcPNew^.FCurrItem := Item;
        Item.Data := lcPNew;
    end;
    MakeItemCaption(Item);
    Set_currItem(Item);
    Item.Selected := true;
    edtCode.SetFocus;
    edtCode.SelectAll;
  end
  else begin
    MessageDlg('I/O Code is Repeat!',mtError,[mbOK],0);
    Item := LstView.TopItem;
    FSelectedItem := Item;
    Set_currItem(Item);
    Item.Selected := true;    
    Exit;
  end;
end;

procedure TfrmIOID.Set_UpdateIOID(LstView: TListView);
var
  lcpUpd: PClassInfo;
  Item: TListItem;
  stsname: string;
begin
  if FSelectedItem = nil then exit;
  if FSelectedItem.Selected then lcpUpd := FSelectedItem.Data;

  lcpUpd^.scode            := trim(edtCode.Text);
  lcpUpd^.sname            := trim(edtName.Text);
  lcpUpd^.smemo           := trim(edtnote.Text);

  dm_Inventory.Update_IOIDInfo(lcpUpd);

  with lstView do
  begin
    lstView.Selected.Data := lcpUpd;
    Item := lstView.Selected;
    MakeItemCaption(Item);
    Set_currItem(Item);
    Item.Selected := true;
  end;
end;

procedure TfrmIOID.Set_DeleteIOID(LstView: TListView);
var
  lcpDel: PClassInfo;
  Item: TListItem;
begin
  if FSelectedItem = nil then exit;
  if FSelectedItem.Selected then lcpDel := FSelectedItem.Data;

  dm_Inventory.Delete_IOIDInfo(lcpDel);
  
  with lstView do
  begin
    lstView.Selected.Delete;
    IF LstView.Items.Count >0 then
    Item := lstView.TopItem
    else Item := Nil;
    if Item = Nil then exit;
    Item.Selected := true;
    MakeItemCaption(Item);
    Set_currItem(Item);
  end;
end;




procedure TfrmIOID.btnNewClick(Sender: TObject);
begin
  Set_NewIOID(ListViewIO);
end;

procedure TfrmIOID.btnDelClick(Sender: TObject);
begin
  Set_DeleteIOID(ListViewIO);
end;

procedure TfrmIOID.btnUpdateClick(Sender: TObject);
begin
  Set_UpdateIOID(ListViewIO);
end;

procedure TfrmIOID.SetMultilingual;
begin
  self.Caption              := GetMultiLingalMsg(90195, 'I/O Type Define');
  tabIOID.Tabs[0]           := GetMultiLingalMsg(90059, 'In Type');
  tabIOID.Tabs[1]           := GetMultiLingalMsg(90087, 'Out Type');
  tabIOID.Tabs[2]           := GetMultiLingalMsg(90109, 'Return Type');
  tabIOID.Tabs[3]           := GetMultiLingalMsg(90196, 'Tune Type');

  edtCode.EditLabel.Caption := GetMultiLingalMsg(90197, 'Code');
  edtName.EditLabel.Caption := GetMultiLingalMsg(90198, 'Name');
  edtNote.EditLabel.Caption := GetMultiLingalMsg(90065, 'Remarks');

  btnNew.Caption            := GetMultiLingalMsg(90066, 'New');
  btnDel.Caption            := GetMultiLingalMsg(90068, 'Delete');
  btnUpdate.Caption         := GetMultiLingalMsg(90173, 'Update');
end;

end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
26uuu精品一区二区在线观看| 欧美性感一类影片在线播放| 久久嫩草精品久久久精品一| 狠狠色综合日日| 国产亚洲成aⅴ人片在线观看 | 亚洲欧洲精品天堂一级| 99精品视频在线观看免费| 亚洲女同一区二区| 欧美视频一区在线| 久久综合综合久久综合| 久久精品亚洲精品国产欧美kt∨| 高潮精品一区videoshd| 有坂深雪av一区二区精品| 日韩三级免费观看| 国产精品一区二区免费不卡| 中文字幕一区视频| 欧美日韩一级黄| 国内成人自拍视频| 一色桃子久久精品亚洲| 欧美日韩国产综合久久 | 国产精品 欧美精品| 亚洲欧美日韩国产手机在线| 欧美美女黄视频| 国产一区二区精品久久99| 亚洲你懂的在线视频| 欧美一级一区二区| 成人一道本在线| 日本aⅴ免费视频一区二区三区| 久久精品人人做| 欧美探花视频资源| 国产成人一区在线| 亚洲国产乱码最新视频| 久久久www成人免费无遮挡大片| 色呦呦国产精品| 国产一区二区女| 天堂一区二区在线| 国产精品污网站| 欧美一卡2卡三卡4卡5免费| 91美女福利视频| 国产麻豆精品在线观看| 亚洲成在线观看| 综合网在线视频| 久久亚洲欧美国产精品乐播| 欧美专区亚洲专区| 成人免费va视频| 经典三级在线一区| 亚洲国产精品久久久男人的天堂 | 国产一区二区电影| 午夜精品福利一区二区三区蜜桃| 国产免费观看久久| 精品国产免费人成在线观看| 欧美日韩在线一区二区| 91在线小视频| 丁香天五香天堂综合| 精品一区二区综合| 欧美aaaaaa午夜精品| 亚洲第四色夜色| 一区二区久久久久久| 国产精品丝袜久久久久久app| 欧美成人激情免费网| 在线播放91灌醉迷j高跟美女| 色网站国产精品| 91免费小视频| 成人avav影音| 成人免费看视频| 成人一区二区三区视频在线观看| 国产一区二区三区四区五区入口 | 99久久伊人精品| 成人精品国产福利| 成人精品国产福利| 国产69精品久久777的优势| 国产精品自拍av| 国产在线观看一区二区| 久久99精品国产91久久来源| 毛片av一区二区三区| 久久精品国产澳门| 精品一区二区三区日韩| 国产真实乱对白精彩久久| 精品在线你懂的| 国产精品资源网| 成人sese在线| 色综合中文字幕国产 | 亚洲精品国产一区二区精华液| 国产精品伦理在线| 亚洲视频综合在线| 亚洲免费在线看| 亚洲网友自拍偷拍| 午夜激情久久久| 免播放器亚洲一区| 久久99国产精品麻豆| 精品综合久久久久久8888| 国产精品一区二区久久不卡| 成人99免费视频| 色视频欧美一区二区三区| 欧美男人的天堂一二区| 日韩精品一区在线| 欧美国产精品一区二区| 亚洲欧美偷拍卡通变态| 午夜激情一区二区| 国产最新精品精品你懂的| 成人av第一页| 欧美美女视频在线观看| 久久久.com| 亚洲乱码中文字幕| 日韩成人免费电影| 国产不卡在线播放| 在线精品视频一区二区三四| 91精品国产美女浴室洗澡无遮挡| 26uuu另类欧美亚洲曰本| 成人欧美一区二区三区小说| 日本成人超碰在线观看| 成人av免费观看| 欧美一级理论片| 中文字幕人成不卡一区| 免费欧美在线视频| 成人的网站免费观看| 欧美一级xxx| 亚洲欧洲www| 美脚の诱脚舐め脚责91 | 91精品国产免费| 国产欧美精品一区| 亚洲va国产va欧美va观看| 国产精品综合一区二区三区| 欧美日韩精品欧美日韩精品一综合 | 欧美aaa在线| 91视频在线观看| 2024国产精品视频| 五月天久久比比资源色| 成人涩涩免费视频| 日韩欧美黄色影院| 亚洲精品乱码久久久久久| 国产精品影视天天线| 久久久久久99久久久精品网站| 亚洲三级小视频| 国产精品自拍毛片| 日韩西西人体444www| 亚洲一区二区三区四区在线观看| 国产福利一区在线| 日韩欧美综合在线| 亚洲国产成人av| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 日韩 欧美一区二区三区| jiyouzz国产精品久久| 26uuu精品一区二区在线观看| 天堂一区二区在线| 欧美综合在线视频| 国产精品久久久久三级| 国内外成人在线| 日韩美一区二区三区| 日韩中文字幕91| 欧美性生活久久| 亚洲免费看黄网站| 99精品视频一区二区三区| 亚洲国产高清在线观看视频| 国产精品一区二区黑丝| 久久久777精品电影网影网| 精品一区二区三区在线视频| 欧美电影免费观看完整版| 全国精品久久少妇| 日韩欧美专区在线| 麻豆精品一区二区三区| 欧美大片拔萝卜| 麻豆精品一二三| 精品日韩欧美一区二区| 麻豆成人av在线| 精品久久久久香蕉网| 美女国产一区二区三区| 精品国产91乱码一区二区三区| 另类中文字幕网| 久久综合九色综合97婷婷| 激情图片小说一区| 国产亚洲一区字幕| 成人av免费观看| 一区二区三区中文字幕精品精品| 在线国产电影不卡| 亚洲成在人线免费| 精品久久国产老人久久综合| 国产永久精品大片wwwapp| 国产欧美在线观看一区| 成人a免费在线看| 亚洲精品欧美专区| 欧美精品久久久久久久多人混战| 日日夜夜一区二区| 精品欧美久久久| 国产99一区视频免费| 亚洲欧美一区二区三区极速播放| 欧亚洲嫩模精品一区三区| 日韩av中文字幕一区二区 | 日本一区二区综合亚洲| 99久久综合99久久综合网站| 亚洲一二三四区不卡| 欧美二区三区91| 国产乱淫av一区二区三区| 日韩毛片在线免费观看| 欧美色精品在线视频| 国产一区二区主播在线| 1024亚洲合集| 欧美电影一区二区三区| 国产高清不卡一区| 亚洲在线视频一区|