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

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

?? oilform.pas

?? 詳細(xì)講述如何用delphi進(jìn)行com編程
?? PAS
字號(hào):
unit OilForm;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ComCtrls, StdCtrls, ExtCtrls, ActiveX, AxCtrls, ComObj;

type
  TOilItem = class(TCollectionItem)
  private
    FDate: TDateTime;
    FMileage: Double;
  public
    procedure Assign(Source: TPersistent); override;
  published
    property Date: TDateTime read FDate write FDate;
    property Mileage: Double read FMileage write FMileage;
  end;

  TOilItems = class(TCollection)
  public
    constructor Create;
    function Add: TOilItem;
    function GetItem(Index: Integer): TOilItem;
    procedure SetItem(Index: Integer; Value: TOilItem);
    property Items[Index: Integer]: TOilItem
      read GetItem write SetItem;
  end;

  TfrmOil = class(TForm)
    Panel1: TPanel;
    btnAdd: TButton;
    btnModify: TButton;
    btnDelete: TButton;
    Panel2: TPanel;
    list: TListView;
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormDestroy(Sender: TObject);
    procedure btnAddClick(Sender: TObject);
    procedure btnModifyClick(Sender: TObject);
    procedure btnDeleteClick(Sender: TObject);
  private
    { Private declarations }
    FItems: TOilItems;
    procedure AddListItem(OilItem: TOilItem);
    procedure SetListItem(LI: TListItem; OilItem: TOilItem);
    procedure EnableButtons;
  public
    { Public declarations }
  end;

var
  frmOil: TfrmOil;

implementation

uses MainForm, OilItemForm;

{$R *.DFM}

type
  TDummy = class(TComponent)
  private
    FItems: TOilItems;
  public
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
  published
    property Items: TOilItems read FItems write FItems;
  end;

{ TfrmOil }

procedure TfrmOil.AddListItem(OilItem: TOilItem);
var
  LI: TListItem;
begin
  LI := list.Items.Add;
  LI.Caption := DateToStr(OilItem.Date);
  LI.SubItems.Add(FloatToStrF(OilItem.Mileage, ffFixed, 8, 1));

  list.Selected := LI;
end;

procedure TfrmOil.SetListItem(LI: TListItem; OilItem: TOilItem);
begin
  LI.Caption := DateToStr(OilItem.Date);
  LI.SubItems[0] := FloatToStrF(OilItem.Mileage, ffFixed, 8, 1);
end;

procedure TfrmOil.EnableButtons;
begin
  btnModify.Enabled := list.Selected <> nil;
  btnDelete.Enabled := list.Selected <> nil;
end;

procedure TfrmOil.FormCreate(Sender: TObject);
var
  stm: IStream;
  Dummy: TDummy;
  OS: TOleStream;
  Index: Integer;
  OilItem: TOilItem;
begin
  FItems := TOilItems.Create;

  if SUCCEEDED(frmMain.RootStorage.OpenStream('Oil', nil,
    STGM_READ or STGM_SHARE_EXCLUSIVE, 0, stm)) then begin
    Dummy := TDummy.Create(nil);
    try
      OS := TOleStream.Create(stm);
      try
        OS.ReadComponent(Dummy);
        FItems.Assign(Dummy.FItems);
      finally
        OS.Free;
      end;
    finally
      Dummy.Free;
    end;
  end else begin
    OleCheck(frmMain.RootStorage.CreateStream('Oil',
      STGM_CREATE or STGM_READ or STGM_SHARE_EXCLUSIVE, 0, 0, stm));
  end;

  for Index := 0 to FItems.Count - 1 do begin
    OilItem := FItems.Items[Index];
    AddListItem(OilItem);
  end;
end;

procedure TfrmOil.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Action := caFree;
end;

procedure TfrmOil.FormDestroy(Sender: TObject);
var
  stm: IStream;
  OS: TOleStream;
  Dummy: TDummy;
begin
  OleCheck(frmMain.RootStorage.CreateStream('Oil',
    STGM_CREATE or STGM_WRITE or STGM_SHARE_EXCLUSIVE, 0, 0, stm));

  Dummy := TDummy.Create(nil);
  try
    Dummy.Items.Assign(FItems);
    OS := TOleStream.Create(stm);
    try
      OS.WriteComponent(Dummy);
    finally
      OS.Free;
    end;
  finally
    Dummy.Free;
  end;

  FItems.Free;
end;

procedure TfrmOil.btnAddClick(Sender: TObject);
var
  frmOilItem: TfrmOilItem;
  OilItem: TOilItem;
begin
  frmOilItem := TfrmOilItem.Create(nil);
  try
    if frmOilItem.ShowModal = mrOk then begin
      OilItem := FItems.Add;
      OilItem.Date := frmOilItem.Date;
      OilItem.Mileage := frmOilItem.Mileage;

      AddListItem(OilItem);

      EnableButtons;
    end;
  finally
    frmOilItem.Free;
  end;
end;

procedure TfrmOil.btnModifyClick(Sender: TObject);
var
  frmOilItem: TfrmOilItem;
  OilItem: TOilItem;
begin
  frmOilItem := TfrmOilItem.Create(nil);
  try
    OilItem := FItems.Items[list.Selected.Index];
    frmOilItem.dtDate.Date := OilItem.Date;
    frmOilItem.ecMileage.Text := FloatToStr(OilItem.Mileage);

    if frmOilItem.ShowModal = mrOk then begin
      OilItem.Date := frmOilItem.Date;
      OilItem.Mileage := frmOilItem.Mileage;

      SetListItem(list.Selected, OilItem);
    end;
  finally
    frmOilItem.Free;
  end;
end;

procedure TfrmOil.btnDeleteClick(Sender: TObject);
var
  Index: Integer;
  OilItem: TOilItem;
begin
  Index := list.Selected.Index;
  list.Items.Delete(Index);
  OilItem := FItems.Items[Index];
  OilItem.Free;

  EnableButtons;
end;

{ TOilItem }

procedure TOilItem.Assign(Source: TPersistent);
begin
  if Source is TOilItem then begin
    FDate := TOilItem(Source).FDate;
    FMileage := TOilItem(Source).FMileage;
  end else
    inherited Assign(Source);
end;

{ TOilItems }

function TOilItems.Add: TOilItem;
begin
  Result := inherited Add as TOilItem;
end;

constructor TOilItems.Create;
begin
  inherited Create(TOilItem);
end;

function TOilItems.GetItem(Index: Integer): TOilItem;
begin
  Result := inherited GetItem(Index) as TOilItem;
end;

procedure TOilItems.SetItem(Index: Integer; Value: TOilItem);
begin
  inherited SetItem(Index, Value);
end;

{ TDummy }

constructor TDummy.Create(AOwner: TComponent);
begin
  FItems := TOilItems.Create;
end;

destructor TDummy.Destroy;
begin
  FItems.Free;
end;

end.

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
奇米色一区二区| 樱桃视频在线观看一区| 麻豆专区一区二区三区四区五区| 欧美日韩在线播放一区| 亚洲免费在线观看视频| 欧美亚洲国产一卡| 亚洲1区2区3区视频| 欧美疯狂做受xxxx富婆| 免费观看久久久4p| 久久一日本道色综合| 处破女av一区二区| 一区二区三区不卡在线观看| 91精品免费观看| 国产尤物一区二区在线| 国产精品成人一区二区三区夜夜夜| 色婷婷国产精品| 蜜桃av噜噜一区| 国产精品沙发午睡系列990531| 色94色欧美sute亚洲线路一久| 粉嫩绯色av一区二区在线观看| 亚洲少妇屁股交4| 欧美一区日本一区韩国一区| 福利电影一区二区三区| 亚洲一二三区视频在线观看| 欧美一卡二卡三卡四卡| 成人黄色一级视频| 日韩1区2区日韩1区2区| 国产欧美一区二区精品性色超碰| 日本韩国欧美国产| 国产揄拍国内精品对白| 亚洲精品国产无天堂网2021| 欧美大片在线观看一区二区| 暴力调教一区二区三区| 日本亚洲一区二区| 自拍偷拍国产精品| 精品国一区二区三区| 日本乱人伦一区| 国产一区二区美女诱惑| 亚洲在线观看免费视频| 国产欧美日韩在线| 欧美日韩国产不卡| 99热这里都是精品| 精久久久久久久久久久| 亚洲成人动漫在线观看| 国产亚洲女人久久久久毛片| 欧美日韩中文另类| 国产成人超碰人人澡人人澡| 五月婷婷久久丁香| 最新国产成人在线观看| 欧美成人国产一区二区| 欧美综合一区二区三区| 成人午夜看片网址| 久久97超碰国产精品超碰| 亚洲福利一区二区三区| ...xxx性欧美| 国产视频一区在线观看| 欧美一区二区三区影视| 欧美色图12p| 色综合色综合色综合| 国产精品一区二区久激情瑜伽| 日本成人在线网站| 亚洲一级二级在线| 亚洲人成7777| 国产女同性恋一区二区| 久久久噜噜噜久噜久久综合| 日韩欧美激情在线| 911国产精品| 欧美日韩成人一区二区| 欧美亚洲综合久久| 欧美少妇xxx| 一本久道久久综合中文字幕| eeuss国产一区二区三区| 成人午夜免费视频| 国产成人自拍高清视频在线免费播放| 日日嗨av一区二区三区四区| 亚洲国产裸拍裸体视频在线观看乱了 | 97se亚洲国产综合自在线| 国产福利精品导航| 国产成人综合在线观看| 国产风韵犹存在线视精品| 国产最新精品免费| 国产一区91精品张津瑜| 国产激情一区二区三区桃花岛亚洲| 久久se精品一区二区| 久久精品久久精品| 国产一区在线观看视频| 国产乱妇无码大片在线观看| 国产一区二区三区在线观看免费| 黄色精品一二区| 国产精品538一区二区在线| 国产麻豆成人传媒免费观看| 丁香桃色午夜亚洲一区二区三区| 成人综合在线视频| 91老司机福利 在线| 色偷偷成人一区二区三区91| 欧美日韩免费电影| 欧美一区二区福利在线| 久久亚洲捆绑美女| 国产精品护士白丝一区av| 国产精品福利一区| 亚洲在线免费播放| 七七婷婷婷婷精品国产| 国产剧情一区在线| 国产成人av资源| 91农村精品一区二区在线| 欧美日韩在线不卡| 久久这里只有精品视频网| 国产精品第五页| 亚洲国产美女搞黄色| 国产揄拍国内精品对白| 91一区二区三区在线播放| 欧美精品日韩一本| 国产偷v国产偷v亚洲高清| 一区二区三区欧美久久| 日韩精品电影在线观看| 国产成人精品亚洲777人妖| 色综合亚洲欧洲| 欧美一级一级性生活免费录像| 欧美经典一区二区| 午夜亚洲国产au精品一区二区| 国产一区二区三区四区在线观看| 91美女视频网站| 日韩视频永久免费| 亚洲少妇30p| 韩国一区二区三区| 色综合色综合色综合色综合色综合 | 136国产福利精品导航| 日本免费新一区视频| av综合在线播放| 精品国产髙清在线看国产毛片| 中文字幕一区免费在线观看| 美女精品自拍一二三四| 成人sese在线| 欧美r级在线观看| 亚洲风情在线资源站| 国产成人一区在线| 欧美一区二区网站| 亚洲一区二区美女| 波多野结衣在线aⅴ中文字幕不卡 波多野结衣在线一区 | 日韩欧美成人激情| 一区二区三区波多野结衣在线观看| 国内精品伊人久久久久影院对白| 欧美无乱码久久久免费午夜一区| 亚洲国产高清不卡| 美日韩一区二区| 欧美老年两性高潮| 有码一区二区三区| 成人激情av网| 国产亚洲女人久久久久毛片| 日韩成人一区二区三区在线观看| 色噜噜夜夜夜综合网| 欧美极品xxx| 国产精品亚洲第一区在线暖暖韩国| 69av一区二区三区| 亚洲一区二区三区美女| 色琪琪一区二区三区亚洲区| 国产精品久久久久久福利一牛影视| 国产在线精品视频| 日韩欧美电影一区| 免费在线一区观看| 欧美日本一道本| 午夜天堂影视香蕉久久| 欧美午夜免费电影| 亚洲韩国精品一区| 欧美性欧美巨大黑白大战| 亚洲欧美一区二区三区孕妇| 成人91在线观看| 中文字幕中文字幕一区| 99久久夜色精品国产网站| 国产农村妇女精品| 成人黄色免费短视频| 国产精品电影一区二区三区| 99精品久久99久久久久| 国产精品成人免费| 色域天天综合网| 亚洲午夜一二三区视频| 欧美色手机在线观看| 石原莉奈在线亚洲二区| 欧美一区二区免费视频| 免费在线观看精品| 久久综合久久综合九色| 国产精品一区二区在线看| 国产精品区一区二区三| 91在线视频免费91| 亚洲精品国产无天堂网2021 | 成人国产亚洲欧美成人综合网| 国产精品成人在线观看| 欧美在线观看视频一区二区三区| 亚洲成a天堂v人片| 欧美成人一区二区三区片免费| 久久99精品国产麻豆婷婷| 国产亚洲一区二区在线观看| 成人av午夜影院| 亚洲香肠在线观看| 精品美女一区二区| 成人午夜免费电影| 亚洲国产综合色| 亚洲精品在线观看视频| 成人app在线观看| 天天综合网天天综合色|