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

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

?? fastfilestream.pas.txt

?? 改進版的FileStream
?? TXT
字號:
{-----------------------------------------------------------------------------
 Unit Name: FastFileStream
 Author:    tony  (tonyki@citiz.net)
 Purpose:   an filestream which open the file use MapViewOfFile(), more faster then original one.
 History:   2004.12.09    create
-----------------------------------------------------------------------------}

unit FastFileStream;

interface

uses
  Classes, SysUtils, Windows;

type
  TFastFileStream = class(TStream)
  private
    FFileHandle:LongWord;
    FMappingHandle:LongWord;
    FMemory:Pointer;
    FPosition:LongInt;
    FSize:Int64;
    FUseableStartPos:Int64;
  protected
    function GetSize():Int64;override;
  public
    constructor Create(const AFileName:String);
    destructor Destroy();override;
    function Read(var Buffer; Count: Longint): Longint; override;
    function Write(const Buffer; Count: Longint): Longint; override;
    function Seek(const Offset: Int64; Origin: TSeekOrigin): Int64; override;
    procedure SetUseableMemory(const StartPos:Int64;const Size:Int64);
    property Memory:Pointer read FMemory;
  end;

implementation

type
  FastFileStreamException = Exception;

{ TFastFileStream }

function TFastFileStream.GetSize():Int64;
begin
  result:=FSize;
end;

constructor TFastFileStream.Create(const AFileName:String);
var
  FileSizeHigh:LongWord;
begin
  FFileHandle:=CreateFile(PChar(AFileName),GENERIC_READ,FILE_SHARE_READ,nil,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);
  if FFileHandle=INVALID_HANDLE_VALUE then begin
    raise FastFileStreamException.Create('Error when open file');
  end;
  FSize:=GetFileSize(FFileHandle,@FileSizeHigh);
  if FSize=INVALID_FILE_SIZE then begin
    raise FastFileStreamException.Create('Error when get file size');
  end;
  FMappingHandle:=CreateFileMapping(FFileHandle,nil,PAGE_READONLY,0,0,nil);
  if FMappingHandle=0 then begin
    raise FastFileStreamException.Create('Error when mapping file');
  end;
  FMemory:=MapViewOfFile(FMappingHandle,FILE_MAP_READ,0,0,0);
  if FMemory=nil then begin
    raise FastFileStreamException.Create('Error when map view of file');
  end;

  FUseableStartPos:=0;
end;

destructor TFastFileStream.Destroy();
begin
  if FMemory<>nil then begin
    UnmapViewOfFile(FMemory);
  end;
  if FMappingHandle<>0 then begin
    CloseHandle(FMappingHandle);
  end;
  if FFileHandle<>INVALID_HANDLE_VALUE then begin
    CloseHandle(FFileHandle);
  end;
end;

function TFastFileStream.Read(var Buffer;Count:LongInt):LongInt;
begin
  if (FPosition >= 0) and (Count >= 0) then
  begin
    Result := FSize - FPosition;
    if Result > 0 then
    begin
      if Result > Count then Result := Count;
      //Move(Pointer(Longint(FMemory) + FPosition)^, Buffer, Result);
      CopyMemory(Pointer(@Buffer),Pointer(LongInt(FMemory)+FUseableStartPos+FPosition),Result);
      Inc(FPosition, Result);
      Exit;
    end;
  end;
  Result := 0;
end;

function TFastFileStream.Write(const Buffer; Count: Longint): Longint;
begin
  raise FastFileStreamException.Create('Not support this method');
end;

function TFastFileStream.Seek(const Offset: Int64; Origin: TSeekOrigin): Int64;
begin
  case Ord(Origin) of
    soFromBeginning: FPosition := Offset;
    soFromCurrent: Inc(FPosition, Offset);
    soFromEnd: FPosition := FSize + Offset;
  end;
  Result := FPosition;
end;

procedure TFastFileStream.SetUseableMemory(const StartPos:Int64;const Size:Int64);
begin
  FUseableStartPos:=StartPos;
  FSize:=Size;
end;

end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本一区二区成人在线| 一区二区三区久久久| 国产女主播视频一区二区| 亚洲女女做受ⅹxx高潮| 日韩av二区在线播放| 国产iv一区二区三区| 91精品国产色综合久久| 亚洲精品va在线观看| 国产精品一区在线观看乱码 | 五月天一区二区| 99综合电影在线视频| 日韩精品一区二区三区在线观看| 一区二区久久久久| 94-欧美-setu| 中文字幕一区二区三区四区不卡| 精品一区二区久久| 6080国产精品一区二区| 亚洲影视在线播放| 一本色道久久加勒比精品| 国产免费观看久久| 国产福利视频一区二区三区| 日韩一区二区在线播放| 天堂蜜桃91精品| 欧美精品一二三| 亚洲愉拍自拍另类高清精品| 色哟哟精品一区| 亚洲欧洲成人精品av97| 成人午夜视频在线观看| 国产清纯美女被跳蛋高潮一区二区久久w| 五月天中文字幕一区二区| 在线看国产一区| 亚洲欧美日韩国产综合| 91色乱码一区二区三区| 亚洲狼人国产精品| 91成人看片片| 亚洲国产日韩精品| 欧美日韩国产综合草草| 午夜久久久久久久久久一区二区| 精品视频在线免费看| 午夜影视日本亚洲欧洲精品| 欧美日韩国产高清一区二区三区| 亚洲国产视频一区二区| 6080国产精品一区二区| 精品中文字幕一区二区小辣椒| 精品美女在线观看| 国模冰冰炮一区二区| 欧美国产1区2区| 色噜噜夜夜夜综合网| www.欧美日韩| 欧美成人综合网站| 国产一区不卡在线| 日本视频中文字幕一区二区三区| 欧美日韩三级视频| 看片网站欧美日韩| 中文字幕第一区二区| 91蜜桃免费观看视频| 亚洲国产精品一区二区尤物区| 91.xcao| 国产一区二区三区最好精华液| 国产视频一区不卡| 欧美亚洲动漫精品| 美国十次综合导航| 国产精品免费丝袜| 色狠狠一区二区| 久久精品国产成人一区二区三区| 国产精品久久久久影院色老大| 欧美吻胸吃奶大尺度电影 | 久久久不卡影院| 色综合天天狠狠| 日韩av高清在线观看| 国产精品网站在线| 精品视频123区在线观看| 蜜桃久久久久久| 亚洲欧美综合色| 日韩亚洲欧美高清| 91福利精品视频| 国产成人精品综合在线观看 | 国产精品美女久久久久久久久 | 免费在线一区观看| 最好看的中文字幕久久| 日韩欧美国产一区二区在线播放| 国产成人精品亚洲日本在线桃色| 夜夜亚洲天天久久| 久久亚洲影视婷婷| 欧美视频自拍偷拍| 成人毛片在线观看| 九九热在线视频观看这里只有精品| 亚洲三级在线看| 国产亚洲污的网站| 欧美一级二级在线观看| 一本到三区不卡视频| 国产成人在线色| 美腿丝袜亚洲色图| 香蕉久久一区二区不卡无毒影院| 国产精品理伦片| 久久久精品黄色| 日韩精品综合一本久道在线视频| 欧美日韩视频不卡| 欧美在线free| 在线欧美一区二区| 91在线精品一区二区三区| 国产精品中文字幕日韩精品| 免费观看一级特黄欧美大片| 亚洲国产精品精华液网站| 综合激情成人伊人| 国产精品久久久久久久久久免费看| 日韩欧美一级二级| 日韩亚洲电影在线| 欧美一区二区三区思思人| 欧美日韩中文字幕一区二区| 色一情一伦一子一伦一区| 91视频一区二区| 91在线免费播放| 91浏览器打开| 91麻豆国产福利精品| 91视频.com| 亚洲国产精品t66y| 中国色在线观看另类| 亚洲国产精品99久久久久久久久| 欧美国产一区在线| 欧美高清在线一区| 最新不卡av在线| 一区二区三区产品免费精品久久75| 国产精品久久久久久久第一福利 | 日韩欧美中文字幕制服| 日韩一卡二卡三卡四卡| 精品国产电影一区二区| 久久先锋影音av| 国产精品久久夜| 亚洲免费资源在线播放| 亚洲国产精品一区二区www在线| 亚洲成人免费av| 久久精品999| 成人福利在线看| 91极品美女在线| 制服视频三区第一页精品| www亚洲一区| 亚洲视频在线观看三级| 爽爽淫人综合网网站| 久久精品二区亚洲w码| 成人在线视频一区| 欧美日韩一区成人| 久久综合久久综合亚洲| 一区二区三区资源| 亚洲三级在线免费观看| 日韩美女精品在线| 国产精品沙发午睡系列990531| 欧美电影免费观看高清完整版在线| 777午夜精品免费视频| 欧美精品丝袜久久久中文字幕| 在线观看三级视频欧美| 日本久久一区二区| 色噜噜久久综合| 欧美性大战久久久久久久蜜臀| 欧美性一级生活| 欧美性欧美巨大黑白大战| 国产日韩视频一区二区三区| 久久免费的精品国产v∧| 久久久一区二区三区| 中文字幕二三区不卡| 国产精品污www在线观看| 亚洲视频你懂的| 玉足女爽爽91| 午夜精品久久久久久久久久久| 亚洲不卡av一区二区三区| 水蜜桃久久夜色精品一区的特点| 日韩黄色一级片| 国产在线播放一区三区四| 国产不卡高清在线观看视频| 99久久伊人网影院| 在线观看一区二区精品视频| 欧美日韩国产经典色站一区二区三区| 91.xcao| 国产午夜精品久久| 亚洲人成网站精品片在线观看| 亚洲一卡二卡三卡四卡| 另类小说一区二区三区| 国产成人在线影院| 色婷婷av一区二区三区大白胸| 欧美性受xxxx| 欧美精品一区二区三区在线| 国产精品电影一区二区三区| 亚洲一区二区美女| 狠狠色伊人亚洲综合成人| 成人免费视频视频| 欧美色图免费看| 国产亚洲精品免费| 亚洲第一精品在线| 国产一区二区免费看| 91黄色激情网站| 精品三级在线观看| 一区二区在线观看免费| 久久国产精品区| 色88888久久久久久影院按摩| 欧美一级xxx| 夜夜爽夜夜爽精品视频| 国产成人亚洲综合a∨猫咪| 欧美日韩和欧美的一区二区| 欧美激情综合五月色丁香小说| 偷拍与自拍一区|