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

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

?? vs_resource.pas

?? KSDev.VirtualSream.v1.01.rar 虛擬文件系統(tǒng),
?? PAS
字號:
{==============================================================================

  Virtual Stream
  Copyright (C) 2004-2006 by Eugene Kryukov
  All rights reserved

  See License.txt for licence information

  $Id: vs_resource.pas,v 1.1.1.1 2006/09/26 09:49:37 eugene Exp $

===============================================================================}

unit vs_resource;

{$H+}
{$I vs_define.inc}

interface

uses
  Classes, SysUtils, TypInfo;

{$IFNDEF FPC}
{$DEFINE FPC_LITTLE_ENDIAN}
{$ENDIF}

const
   cMaxArray = (MaxInt shr 4);

type
   PlongwordArray = ^TLongwordArray;
   TLongwordArray = array[0..cMaxArray] of longword;

   PWord = ^Word;

   PWordArray = ^TWordArray;
   TWordArray = array[0..cMaxArray] of Word;

procedure ReverseBytes(p: Pointer; Count: integer);
procedure ReverseByteOrderInWords(p: PWord; Count: integer);

function ReadBuf(s: TStream; Buf: Pointer; Size: longword): longword;
function ReadLongwordBuf(s: TStream; Buf: PLongwordArray; Count: longword): longword;
function ReadWordBuf(s: TStream; Buf: PWordArray; Count: longword): longword;
function ReadByte(s: TStream): byte;
function ReadWord(s: TStream): word;
function ReadInteger(s: TStream): integer;
function Readlongword(s: TStream): longword;
function ReadInt64(s: TStream): int64;
function ReadSingle(s: TStream): Single;
function ReadDouble(s: TStream): Double;
function ReadCurrency(s: TStream): Currency;
function ReadWideString(s: TStream): WideString;
function ReadString(S: TStream): string;

procedure WriteBuf(s: TStream; Buf: Pointer; Size: longword);
procedure WriteLongwordBuf(s: TStream; Buf: PLongwordArray; Count: longword);
procedure WriteWordBuf(s: TStream; Buf: PWordArray; Count: longword);
procedure WriteByte(s: TStream; const b: byte);
procedure WriteWord(s: TStream; const w: word);
procedure WriteInteger(s: TStream; const i: integer);
procedure Writelongword(s: TStream; const c: longword);
procedure WriteSingle(s: TStream; const si: Single);
procedure WriteDouble(s: TStream; const d: Double);
procedure WriteInt64(s: TStream; const i: int64);
procedure WriteCurrency(s: TStream; const c: Currency);
procedure WriteWideStringContent(s: TStream; const w: WideString);
procedure WriteString(S: TStream; Value: string);

procedure WriteReversedWord(s: TStream; w: word);
procedure Write4BytesReversed(s: TStream; p: Pointer);
procedure Write8BytesReversed(s: TStream; p: Pointer);
procedure Write10BytesReversed(s: TStream; p: Pointer);
procedure WriteNull(s: TStream; Count: integer);
procedure WriteReversedWords(s: TStream; p: Pointer; Count: integer);

implementation {===============================================================}

{ LRS format converter functions }

procedure ReverseBytes(p: Pointer; Count: integer);
var
  p1: PChar;
  p2: PChar;
  c: Char;
begin
  p1:=PChar(p);
  p2:=PChar(p)+Count-1;
  while p1<p2 do begin
    c:=p1^;
    p1^:=p2^;
    p2^:=c;
    System.inc(p1);
    System.dec(p2);
  end;
end;

procedure ReverseByteOrderInWords(p: PWord; Count: integer);
var
  i: Integer;
  w: Word;
begin
  for i:=0 to Count-1 do
  begin
    w:=PWordArray(p)[i];
    w:=(w shr 8) or ((w and $ff) shl 8);
    PWordArray(p)[i]:=w;
  end;
end;

function ReadBuf(s: TStream; Buf: Pointer; Size: longword): longword;
begin
  Result := s.Read(Buf^, Size);
end;

function ReadLongwordBuf(s: TStream; Buf: PLongwordArray; Count: longword): longword;
{$IFDEF FPC_BIG_ENDIAN}
var i: integer;
{$ENDIF}
begin
  Result := s.Read(Buf[0], Count * 4);
  {$IFDEF FPC_BIG_ENDIAN}
  for i := 0 to Count - 1 do
    ReverseBytes(@Buf[i], 4);
  {$ENDIF}
end;

function ReadWordBuf(s: TStream; Buf: PWordArray; Count: longword): longword;
{$IFDEF FPC_BIG_ENDIAN}
var i: integer;
{$ENDIF}
begin
  Result := s.Read(Buf[0], Count * 2);
  {$IFDEF FPC_BIG_ENDIAN}
  for i := 0 to Count - 1 do
    ReverseBytes(@Buf[i], 2);
  {$ENDIF}
end;

function ReadByte(s: TStream): byte;
begin
  Result:=0;
  s.Read(Result, 1);
end;

function ReadWord(s: TStream): word;
begin
  Result:=0;
  s.Read(Result,2);
  {$IFDEF FPC_BIG_ENDIAN}
  Result:=((Result and $ff) shl 8) or (Result shr 8);
  {$ENDIF}
end;

function ReadInteger(s: TStream): integer;
begin
  Result:=0;
  s.Read(Result,4);
  {$IFDEF FPC_BIG_ENDIAN}
  ReverseBytes(@Result,4);
  {$ENDIF}
end;

function Readlongword(s: TStream): longword;
begin
  Result:=0;
  s.Read(Result,4);
  {$IFDEF FPC_BIG_ENDIAN}
  ReverseBytes(@Result,4);
  {$ENDIF}
end;

function ReadInt64(s: TStream): int64;
begin
  Result:=0;
  s.Read(Result,8);
  {$IFDEF FPC_BIG_ENDIAN}
  ReverseBytes(@Result,8);
  {$ENDIF}
end;

function ReadSingle(s: TStream): Single;
begin
  Result:=0;
  s.Read(Result,4);
  {$IFDEF FPC_BIG_ENDIAN}
  ReverseBytes(@Result,4);
  {$ENDIF}
end;

function ReadDouble(s: TStream): Double;
begin
  Result:=0;
  s.Read(Result,8);
  {$IFDEF FPC_BIG_ENDIAN}
  ReverseBytes(@Result,8);
  {$ENDIF}
end;

function ReadCurrency(s: TStream): Currency;
begin
  Result:=0;
  s.Read(Result,8);
  {$IFDEF FPC_BIG_ENDIAN}
  ReverseBytes(@Result,8);
  {$ENDIF}
end;

function ReadString(S: TStream): string;
var
  L: Integer;
begin
  L := 0;
  S.Read(L, SizeOf(L));
  SetLength(Result, L);
  S.Read(Pointer(Result)^, L);
end;

function ReadWideString(s: TStream): WideString;
var
  Len: LongInt;
begin
  Len:=ReadInteger(s);
  SetLength(Result,Len);
  if Len>0 then begin
    s.Read(Result[1],Len*2);
    {$IFDEF FPC_BIG_ENDIAN}
    ReverseByteOrderInWords(PWord(@Result[1]),Len);
    {$ENDIF}
  end;
end;

procedure WriteReversedWord(s: TStream; w: word);
begin
  w:=(w shr 8) or ((w and $ff) shl 8);
  s.Write(w,2);
end;

procedure Write4BytesReversed(s: TStream; p: Pointer);
var
  a: array[0..3] of char;
  i: Integer;
begin
  for i:=0 to 3 do
    a[i]:=PChar(p)[3-i];
  s.Write(a[0],4);
end;

procedure Write8BytesReversed(s: TStream; p: Pointer);
var
  a: array[0..7] of char;
  i: Integer;
begin
  for i:=0 to 7 do
    a[i]:=PChar(p)[7-i];
  s.Write(a[0],8);
end;

procedure Write10BytesReversed(s: TStream; p: Pointer);
var
  a: array[0..9] of char;
  i: Integer;
begin
  for i:=0 to 9 do
    a[i]:=PChar(p)[9-i];
  s.Write(a[0],10);
end;

procedure WriteReversedWords(s: TStream; p: Pointer; Count: integer);
var
  w: Word;
  i: Integer;
begin
  for i:=0 to Count-1 do begin
    w:=PWordArray(P)[i];
    w:=(w shr 8) or ((w and $ff) shl 8);
    s.Write(w,2);
  end;
end;

procedure WriteNull(s: TStream; Count: integer);
var
  c: char;
  i: Integer;
begin
  c:=#0;
  for i:=0 to Count-1 do
    s.Write(c,1);
end;

procedure WriteBuf(s: TStream; Buf: Pointer; Size: longword);
begin
  s.Write(Buf^, Size);
end;

procedure WriteLongwordBuf(s: TStream; Buf: PLongwordArray; Count: longword);
{$IFDEF FPC_BIG_ENDIAN}
var i: integer;
{$ENDIF}
begin
  {$IFDEF FPC_BIG_ENDIAN}
  for i := 0 to Count - 1 do
    ReverseBytes(@Buf[i], 4);
  {$ENDIF}
  s.Write(Buf[0], Count * 4);
  {$IFDEF FPC_BIG_ENDIAN}
  for i := 0 to Count - 1 do
    ReverseBytes(@Buf[i], 4);
  {$ENDIF}
end;

procedure WriteWordBuf(s: TStream; Buf: PWordArray; Count: longword);
{$IFDEF FPC_BIG_ENDIAN}
var i: integer;
{$ENDIF}
begin
  {$IFDEF FPC_BIG_ENDIAN}
  for i := 0 to Count - 1 do
    ReverseBytes(@Buf[i], 2);
  {$ENDIF}
  s.Write(Buf[0], Count * 2);
  {$IFDEF FPC_BIG_ENDIAN}
  for i := 0 to Count - 1 do
    ReverseBytes(@Buf[i], 2);
  {$ENDIF}
end;

procedure WriteWord(s: TStream; const w: word);
begin
  {$IFDEF FPC_LITTLE_ENDIAN}
  s.Write(w,2);
  {$ELSE}
  WriteReversedWord(s,w);
  {$ENDIF}
end;

procedure WriteByte(s: TStream; const b: byte);
begin
  s.Write(b,1);
end;

procedure WriteInteger(s: TStream; const i: integer);
begin
  {$IFDEF FPC_LITTLE_ENDIAN}
  s.Write(i,4);
  {$ELSE}
  Write4BytesReversed(s,@i);
  {$ENDIF}
end;

procedure Writelongword(s: TStream; const c: longword);
begin
  {$IFDEF FPC_LITTLE_ENDIAN}
  s.Write(c,4);
  {$ELSE}
  Write4BytesReversed(s,@c);
  {$ENDIF}
end;

procedure WriteSingle(s: TStream; const si: Single);
begin
  {$IFDEF FPC_LITTLE_ENDIAN}
  s.Write(si,4);
  {$ELSE}
  Write4BytesReversed(s,@si);
  {$ENDIF}
end;

procedure WriteDouble(s: TStream; const d: Double);
begin
  {$IFDEF FPC_LITTLE_ENDIAN}
  s.Write(d,8);
  {$ELSE}
  Write8BytesReversed(s,@d);
  {$ENDIF}
end;

procedure WriteInt64(s: TStream; const i: int64);
begin
  {$IFDEF FPC_LITTLE_ENDIAN}
  s.Write(i,8);
  {$ELSE}
  Write8BytesReversed(s,@i);
  {$ENDIF}
end;

procedure WriteCurrency(s: TStream; const c: Currency);
begin
  {$IFDEF FPC_LITTLE_ENDIAN}
  s.Write(c,8);
  {$ELSE}
  Write8BytesReversed(s,@c);
  {$ENDIF}
end;

procedure WriteWideStringContent(s: TStream; const w: WideString);
var
  Size: Integer;
begin
  Size:=length(w);
  if Size=0 then exit;
  {$IFDEF FPC_LITTLE_ENDIAN}
  s.Write(w[1], Size * 2);
  {$ELSE}
  WriteReversedWords(s,@w[1],Size);
  {$ENDIF}
end;

procedure WriteString(S: TStream; Value: string);
var
  L: Integer;
begin
  L := Length(Value);
  S.Write(L, SizeOf(L));
  S.Write(Pointer(Value)^, L);
end;

initialization
finalization
end.

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人高清免费在线播放| 久久国产精品99久久久久久老狼| 欧美日韩国产欧美日美国产精品| 日韩—二三区免费观看av| 欧美国产日韩a欧美在线观看| 欧美日韩国产综合草草| 成人高清视频免费观看| 久久成人免费电影| 亚洲国产精品久久久久秋霞影院 | 欧美影院一区二区| 国产精品资源在线观看| 肉肉av福利一精品导航| 亚洲免费在线电影| 欧美激情一区在线观看| 日韩欧美精品在线视频| 欧美日韩一区二区三区视频| 成人黄色小视频在线观看| 精品一区二区三区免费毛片爱| 亚洲主播在线播放| 亚洲三级小视频| 国产喂奶挤奶一区二区三区| 精品处破学生在线二十三| 欧美日韩国产系列| 欧美天堂一区二区三区| 色中色一区二区| 欧美成人精品二区三区99精品| 91网站在线播放| 丁香天五香天堂综合| 久久国产精品99久久人人澡| 日韩福利电影在线| 丝袜脚交一区二区| 亚洲成人你懂的| 亚洲亚洲人成综合网络| 亚洲欧美一区二区三区久本道91 | 国产成人丝袜美腿| 韩国女主播一区二区三区| 麻豆国产欧美一区二区三区| 日韩av网站免费在线| 偷拍与自拍一区| 视频一区中文字幕国产| 亚洲综合在线视频| 亚洲午夜羞羞片| 亚洲高清视频的网址| 亚洲成人在线观看视频| 香蕉久久一区二区不卡无毒影院 | 福利91精品一区二区三区| 日本视频在线一区| 日韩激情在线观看| 日本系列欧美系列| 麻豆国产一区二区| 久久99久久精品| 国产成人自拍网| 波多野洁衣一区| 99久久精品免费观看| 欧洲精品中文字幕| 欧美日韩精品免费观看视频| 欧美一区二区美女| www亚洲一区| 欧美国产日韩精品免费观看| 国产精品的网站| 亚洲激情第一区| 天天综合色天天综合| 九色porny丨国产精品| 风间由美一区二区三区在线观看 | 奇米在线7777在线精品| 久久国产精品99精品国产| 国产一区二区影院| 91香蕉国产在线观看软件| 日本精品一区二区三区四区的功能| 欧美视频一区二区三区在线观看 | 国产在线国偷精品产拍免费yy | 欧美亚一区二区| 欧美一卡二卡三卡| 国产清纯在线一区二区www| 国产一区二区三区免费播放| 国产91精品一区二区麻豆亚洲| 色婷婷综合久久久久中文| 这里只有精品视频在线观看| 国产亚洲综合性久久久影院| 亚洲免费看黄网站| 免费高清在线一区| 成人av在线网站| 91麻豆精品国产91久久久资源速度 | 欧美精品粉嫩高潮一区二区| 国产日产亚洲精品系列| 亚洲一区二区精品久久av| 国产一区二区美女| 欧美自拍偷拍一区| 精品国产一区二区三区不卡| 日韩毛片精品高清免费| 日韩精品成人一区二区在线| 欧美激情综合五月色丁香小说| 国产精品丝袜91| 午夜欧美2019年伦理| 国产精品自拍在线| 欧美日韩免费观看一区二区三区| 久久青草国产手机看片福利盒子 | 综合久久久久久| 另类的小说在线视频另类成人小视频在线 | 亚洲欧美日韩在线| 国产麻豆视频一区| 4438成人网| 国产精品黄色在线观看| 久久99精品国产.久久久久久| 日本久久精品电影| 日本一区二区成人在线| 久久91精品久久久久久秒播| 欧美性生交片4| 中文字幕一区免费在线观看| 激情深爱一区二区| 在线不卡a资源高清| 一区二区三区在线视频观看58| 风流少妇一区二区| av不卡免费在线观看| 在线成人av网站| 亚洲福利视频三区| 色综合一个色综合亚洲| 国产日本欧美一区二区| 国产一区二区在线免费观看| 欧美一区二区三区四区视频| 亚洲成人动漫在线免费观看| 色乱码一区二区三区88| 亚洲欧洲av色图| 成人精品视频一区| 国产女人18毛片水真多成人如厕| 精品中文字幕一区二区| 日韩限制级电影在线观看| 日本免费新一区视频| 欧美狂野另类xxxxoooo| 亚洲一二三区在线观看| 欧美亚洲一区二区在线| 亚洲免费观看高清完整版在线观看熊| av在线不卡免费看| 《视频一区视频二区| av亚洲精华国产精华精华| 亚洲国产成人午夜在线一区| 懂色中文一区二区在线播放| 日本一区二区三区久久久久久久久不| 免费成人av在线| 精品国产一区二区三区不卡| 国内精品视频666| 久久久99久久| 成人黄色小视频在线观看| 国产精品久久网站| 色综合网色综合| 亚洲一卡二卡三卡四卡无卡久久| 欧美私人免费视频| 日本欧美韩国一区三区| 欧美草草影院在线视频| 国产精品911| 中文字幕亚洲精品在线观看| 一本久道久久综合中文字幕| 亚洲午夜三级在线| 91精品国产综合久久久久久久久久| 麻豆精品一区二区av白丝在线| 2023国产精品| 波波电影院一区二区三区| 亚洲精品国产品国语在线app| 欧美另类变人与禽xxxxx| 精品一二三四区| 中文字幕欧美国产| 在线视频观看一区| 在线成人午夜影院| 五月天一区二区三区| 精品国产伦一区二区三区免费| 国产一区久久久| 亚洲精品伦理在线| 日韩一级片网址| 成人久久视频在线观看| 亚洲一区二区中文在线| 亚洲丝袜制服诱惑| 欧美一区二区高清| 成人黄色一级视频| 午夜激情一区二区三区| 久久久精品综合| 在线观看www91| 国产呦精品一区二区三区网站| 综合久久给合久久狠狠狠97色 | 欧美变态口味重另类| 成人午夜精品一区二区三区| 亚洲高清免费视频| 久久婷婷成人综合色| 欧美亚洲图片小说| 国产成人综合视频| 日韩精品福利网| 亚洲视频网在线直播| 欧美v亚洲v综合ⅴ国产v| 91蜜桃在线观看| 韩国欧美国产1区| 亚洲一区二区三区视频在线播放| 欧美精品一区二区三| 欧洲视频一区二区| 国产精品996| 美女视频黄久久| 亚洲一区二区不卡免费| 91精品国产高清一区二区三区蜜臀 | 欧美变态tickle挠乳网站| 99精品一区二区三区| 精品一区二区三区香蕉蜜桃| 一区二区三区在线观看欧美 |