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

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

?? mainform.pas

?? 詳細講述如何用delphi進行com編程
?? PAS
字號:
unit MainForm;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Grids, ComObj, ActiveX, Menus, ExtCtrls, OleServer, PartSrv_TLB, StdCtrls;

type
  TfrmMain = class(TForm)
    pnlClient: TPanel;
    StringGrid1: TStringGrid;
    pnlBottom: TPanel;
    PartServer1: TPartServer;
    ecServer: TEdit;
    btnConnect: TButton;
    Label1: TLabel;
    MainMenu1: TMainMenu;
    File1: TMenuItem;
    Edit1: TMenuItem;
    Exit1: TMenuItem;
    UsrPart1: TMenuItem;
    procedure FormCreate(Sender: TObject);
    procedure Exit1Click(Sender: TObject);
    procedure UsePart1Click(Sender: TObject);
    procedure PartServer1Add(Sender: TObject; varFields,
      varValues: OleVariant);
    procedure PartServer1Delete(Sender: TObject;
      var PartNumber: OleVariant);
    procedure PartServer1Modify(Sender: TObject;
      var PartNumber: OleVariant; varFields, varValues: OleVariant);
    procedure btnConnectClick(Sender: TObject);
  private
    { Private declarations }
    FFields: OleVariant;
    procedure LoadPartGrid;
    procedure LoadRow(Row: Integer; varFields, varValues: OleVariant);
  public
    { Public declarations }
  end;

var
  frmMain: TfrmMain;

implementation

{$R *.DFM}

procedure TfrmMain.FormCreate(Sender: TObject);
begin
  FFields := VarArrayCreate([0, 3], varInteger);
  FFields[0] := fnPartNumber;
  FFields[1] := fnDescription;
  FFields[2] := fnUnitPrice;
  FFields[3] := fnOnHand;
end;

procedure TfrmMain.btnConnectClick(Sender: TObject);
begin
  // If no server was entered, we'll use the local machine
  if ecServer.Text <> '' then
    PartServer1.RemoteMachineName := ecServer.Text;

  PartServer1.Connect;

  // Load all parts from the database server
  LoadPartGrid;

  // Enable the edit menu
  Edit1.Enabled := True;
end;

procedure TfrmMain.LoadRow(Row: Integer; varFields, varValues: OleVariant);
var
  ValueIndex: Integer;
  ColIndex: Integer;
begin
  for ValueIndex := VarArrayLowBound(varValues, 1) to VarArrayHighBound(varValues, 1) do
    for ColIndex := VarArrayLowBound(FFields, 1) to VarArrayHighBound(FFields, 1) do
      if FFields[ColIndex] = varFields[ValueIndex] then
        StringGrid1.Cells[ColIndex, Row] := varValues[ValueIndex];
end;

procedure TfrmMain.LoadPartGrid;
var
  varValues: OleVariant;
  Index: Integer;
  FieldNumber: Integer;
  Row: Integer;
begin
  varValues := PartServer1.GetAll(FFields);

  StringGrid1.RowCount := VarArrayHighBound(varValues, 1) -
    VarArrayLowBound(varValues, 1) + 2;

  StringGrid1.ColCount := VarArrayHighBound(FFields, 1) -
    VarArrayLowBound(FFields, 1) + 1;

  for Index := VarArrayLowBound(FFields, 1) to VarArrayHighBound(FFields, 1) do begin
    FieldNumber := FFields[Index];
    case FieldNumber of
      fnPartNumber: StringGrid1.Cells[Index, 0] := 'Part #';
      fnDescription: StringGrid1.Cells[Index, 0] := 'Description';
      fnUnitPrice: StringGrid1.Cells[Index, 0] := 'Unit Price';
      fnOnHand: StringGrid1.Cells[Index, 0] := 'On Hand';
      fnReorder: StringGrid1.Cells[Index, 0] := 'Reorder';
    end;
  end;

  Row := 1;
  for Index := VarArrayLowBound(varValues, 1) to VarArrayHighBound(varValues, 1) do begin
    LoadRow(Row, FFields, varValues[Index]);
    Inc(Row);
  end;
end;

procedure TfrmMain.Exit1Click(Sender: TObject);
begin
  Close;
end;

procedure TfrmMain.UsePart1Click(Sender: TObject);
var
  Value: string;
  PartNumber: string;
begin
  if InputQuery('Use Part', 'How many would you like to relieve from stock?',
    Value) then begin
    PartNumber := StringGrid1.Cells[0, StringGrid1.Row];
    PartServer1.UsePart(PartNumber, StrToInt(Value));
  end;
end;

procedure TfrmMain.PartServer1Add(Sender: TObject; varFields,
  varValues: OleVariant);
begin
  // A new part was added - reload the whole grid
  LoadPartGrid;
end;

procedure TfrmMain.PartServer1Delete(Sender: TObject;
  var PartNumber: OleVariant);
begin
  // A part was deleted - reload the whole grid
  LoadPartGrid;
end;

procedure TfrmMain.PartServer1Modify(Sender: TObject;
  var PartNumber: OleVariant; varFields, varValues: OleVariant);
var
  Index: Integer;
  Found: Boolean;
begin
  Found := False;
  Index := 1;

  // If we can find the original part, just reload the row
  while (not Found) and (Index < StringGrid1.RowCount) do begin
    if StringGrid1.Cells[0, Index] = PartNumber then begin
      LoadRow(Index, varFields, varValues);
      Found := True;
    end else
      Inc(Index);
  end;

  // Couldn't find the part, so reload the whole grid
  if not Found then
    LoadPartGrid;
end;

end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产日产欧美一区| 国产米奇在线777精品观看| 国内精品伊人久久久久av一坑| 国产成人av一区| 欧美日韩高清一区二区三区| 欧美国产精品v| 奇米影视在线99精品| 97久久人人超碰| 久久精品人人做人人综合| 亚洲成av人在线观看| av亚洲精华国产精华| 久久品道一品道久久精品| 日本va欧美va瓶| 欧美精品xxxxbbbb| 亚洲乱码国产乱码精品精98午夜 | 国产白丝网站精品污在线入口| 欧美偷拍一区二区| 亚洲嫩草精品久久| 成人一二三区视频| 国产亚洲精久久久久久| 久久精品av麻豆的观看方式| 欧美美女网站色| 亚洲一区二区欧美| 欧美影院精品一区| 亚洲精品videosex极品| 97精品视频在线观看自产线路二| 国产亚洲美州欧州综合国| 国产呦精品一区二区三区网站| 91精品国产色综合久久不卡蜜臀 | 亚洲大片在线观看| 欧美视频一区在线观看| 亚洲精品菠萝久久久久久久| 99九九99九九九视频精品| 中文字幕第一区二区| 国产精品性做久久久久久| 精品区一区二区| 久久66热re国产| 精品国产a毛片| 国产精品99久久久| 国产精品女同一区二区三区| 国产成人精品亚洲日本在线桃色 | 日本一区免费视频| 国产成人精品免费在线| 一区在线中文字幕| 99这里只有精品| 一区二区三区在线视频免费观看| 91女人视频在线观看| 亚洲一区二区精品3399| 欧美日韩国产高清一区| 另类调教123区| 日本一区二区免费在线观看视频 | 国产成人啪午夜精品网站男同| 欧美国产日韩在线观看| 91视频国产观看| 午夜久久久久久电影| 欧美成人福利视频| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 国产精品69久久久久水密桃| 国产精品免费丝袜| 精品视频在线看| 久久99久久精品| 亚洲欧美自拍偷拍色图| 欧美群妇大交群中文字幕| 国产精品99久久久久久有的能看| 亚洲日本乱码在线观看| 日韩一区二区在线观看视频 | 亚洲天堂2014| 日韩欧美在线123| av电影天堂一区二区在线 | 亚洲精品国产品国语在线app| 欧美天天综合网| 国产高清在线精品| 午夜精品久久久久久久久久久 | 日韩一区国产二区欧美三区| 成人美女在线视频| 日本美女一区二区三区| 国产精品免费看片| 日韩免费性生活视频播放| av网站免费线看精品| 麻豆成人综合网| 亚洲图片你懂的| 久久综合资源网| 欧美日韩夫妻久久| 91色porny| 国产aⅴ精品一区二区三区色成熟| 一区二区三区中文字幕精品精品 | 水野朝阳av一区二区三区| 国产丝袜欧美中文另类| 欧美精品黑人性xxxx| 91亚洲精品久久久蜜桃网站| 国产一区二区三区免费看 | 亚洲裸体在线观看| 2023国产精品自拍| 欧美一级日韩免费不卡| 91福利在线看| av在线这里只有精品| 国产在线一区观看| 日韩福利电影在线观看| 亚洲小说欧美激情另类| 中文字幕一区二| 国产午夜久久久久| 久久看人人爽人人| 精品99999| 日韩欧美国产成人一区二区| 欧美日韩五月天| 欧美无乱码久久久免费午夜一区| 91在线云播放| 日本韩国一区二区| 在线亚洲免费视频| 色婷婷亚洲婷婷| 欧美性色欧美a在线播放| 色婷婷久久综合| 91啦中文在线观看| 色综合久久66| 欧美性感一区二区三区| 91视频免费观看| 欧美亚洲图片小说| 中文字幕不卡在线播放| 久久久久久亚洲综合| 国产亚洲成av人在线观看导航| 精品国产91乱码一区二区三区| 日韩欧美久久一区| 久久综合网色—综合色88| 亚洲精品一线二线三线无人区| 日韩精品最新网址| 久久久久久麻豆| 国产精品卡一卡二卡三| 一区精品在线播放| 亚洲在线免费播放| 日本伊人精品一区二区三区观看方式| 午夜久久久久久久久| 久久99深爱久久99精品| 高清av一区二区| 色综合天天综合色综合av| 欧美亚洲一区三区| 日韩精品一区在线观看| 亚洲国产成人午夜在线一区| 亚洲女同女同女同女同女同69| 天天av天天翘天天综合网色鬼国产| 免费国产亚洲视频| 暴力调教一区二区三区| 欧美日韩一二区| 久久精品一区二区三区不卡 | 日本三级亚洲精品| 国产精品一线二线三线精华| 91在线视频网址| 欧美一区二区三区免费观看视频 | 一本色道久久综合亚洲精品按摩| 欧美最猛性xxxxx直播| 日韩欧美一卡二卡| 国产精品家庭影院| 免费成人深夜小野草| 97aⅴ精品视频一二三区| 91.com视频| 国产精品美女久久久久aⅴ| 五月激情综合婷婷| 97久久超碰精品国产| 日韩视频123| 亚洲美女视频一区| 黄一区二区三区| 欧美日韩国产综合一区二区三区| 久久蜜桃av一区精品变态类天堂 | 亚洲视频在线观看三级| 日韩电影一区二区三区四区| 风流少妇一区二区| 日韩精品一区二区三区三区免费| 亚洲欧美日韩国产成人精品影院| 极品少妇一区二区| 欧美少妇bbb| 中文字幕在线不卡一区二区三区| 日韩精品一卡二卡三卡四卡无卡| 成人av集中营| 国产亚洲制服色| 蜜桃久久久久久久| 欧美片在线播放| 一区二区三区高清不卡| 成人晚上爱看视频| 久久亚洲私人国产精品va媚药| 亚洲丶国产丶欧美一区二区三区| 99国内精品久久| 国产精品久久久久久久蜜臀| 韩国av一区二区三区四区| 欧美日本韩国一区二区三区视频| 综合久久久久综合| 99re66热这里只有精品3直播 | 在线免费精品视频| 中文字幕中文乱码欧美一区二区| 久久精品国产99| 日韩欧美一二区| 免费欧美高清视频| 日韩欧美综合在线| 久久成人综合网| 日韩一本二本av| 久久精品国产亚洲aⅴ| 日韩一区二区三区在线观看| 日韩av一区二区三区四区| 欧美一区二区三区在| 日韩精品欧美精品| 欧美精品三级在线观看| 日本va欧美va精品发布|