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

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

?? ognetwrk.pas

?? 詳細(xì)的ERP設(shè)計資料
?? PAS
?? 第 1 頁 / 共 2 頁
字號:
{*********************************************************}
{*                  OGNETWRK.PAS 1.13                    *}
{*     Copyright (c) 1996-02 TurboPower Software Co      *}
{*                 All rights reserved.                  *}
{*********************************************************}

{$I ONGUARD.INC}

{$B-} {Complete Boolean Evaluation}
{$I+} {Input/Output-Checking}
{$P+} {Open Parameters}
{$T-} {Typed @ Operator}
{$W-} {Windows Stack Frame}
{$X+} {Extended Syntax}

{$IFNDEF Win32}
{$G+} {286 Instructions}
{$N+} {Numeric Coprocessor}

{$C MOVEABLE,DEMANDLOAD,DISCARDABLE}
{$ENDIF}

unit OgNetWrk;
  {-network file routines}

interface

uses
  {$IFDEF Win32} Windows, {$ELSE} WinTypes, WinProcs, {$ENDIF}
  Classes, SysUtils,
  OgConst,
  OgUtil,
  OnGuard;

type
  TNetAccess = packed record
    Fh         : Integer;
    Key        : TKey;
    CheckValue : Word;
    Index      : Word;
  end;

  TNetAccessInfo = packed record
    Total   : Cardinal;
    Locked  : Cardinal;
    Invalid : Cardinal;
  end;

type
  TGetFileNameEvent =                                                  {!!.02}
    procedure(Sender : TObject; var Value : string)                    {!!.02}
    of object;                                                         {!!.02}

  TOgNetCode = class(TOgCodeBase)
  protected {private}
    {property variables}
    FFileName        : string;

    {event variables}                                                  {!!.02}
    FOnGetFileName   : TGetFileNameEvent;                              {!!.02}

    {internal variables}
    nacNetAccess     : TNetAccess;
    nacNetAccessInfo : TNetAccessInfo;

    {property methods}
    function GetActiveUsers : LongInt;
    function GetInvalidUsers : LongInt;
    function GetMaxUsers : LongInt;

  protected
    procedure Loaded;
      override;

    function DoOnGetFileName : string;                                 {!!.02}
      dynamic;                                                         {!!.02}

  public
    constructor Create(AOwner : TComponent);                           {!!.01}
      override;
    destructor Destroy;
      override;

    function CheckCode(Report : Boolean) : TCodeStatus;
      override;
    function CreateAccessFile : Boolean;
      {-creates the net access file}
    function IsRemoteDrive(const ExePath : string) : Boolean;
      {-returns True if the application is running on a remote drive}
    function ResetAccessFile : Boolean;
      {-rewrites the net access file, returning True if successful}

    property ActiveUsers : LongInt
      read GetActiveUsers;

    property InvalidUsers : LongInt
      read GetInvalidUsers;

    property MaxUsers : LongInt
      read GetMaxUsers;

  published
    {properties}
    property Code
      stored FStoreCode;

    property FileName : string
      read FFileName
      write FFileName;

    property StoreCode
      default DefStoreCode;

    {events}
    property OnGetFileName :  TGetFileNameEvent                        {!!.02}
      read FOnGetFileName                                              {!!.02}
      write FOnGetFileName;                                            {!!.02}
  end;

{network user access/count routines}
function CheckNetAccessFile(const NetAccess : TNetAccess) : Boolean;
  {-verifies that the NetAccess record provides authorized use}
function CreateNetAccessFile(const FileName : string; const Key : TKey; Count : Word) : Boolean;
  {-creates the net access file as FileName using Key for encryption}
function CreateNetAccessFileEx(const FileName : string; const Key : TKey;
         const Code : TCode) : Boolean;
  {-creates the net access file getting the user count from a previously encoded Code block}
function DecodeNAFCountCode(const Key : TKey; const Code : TCode) : LongInt;
  {-returns the user count from a previously encoded Code block}
procedure EncodeNAFCountCode(const Key : TKey; Count : Cardinal;  var Code : TCode);
  {-creates an encoded Code block for Count users}
function GetNetAccessFileInfo(const FileName : string; const Key : TKey;
         var NetAccessInfo : TNetAccessInfo) : Boolean;
  {-fills a TNetAccessInfo structure. returns Fasle on error}
function IsAppOnNetwork(const ExePath : string) : Boolean;
  {-returns True if the application is running on a netword drive}
function LockNetAccessFile(const FileName : string; const Key : TKey; var NetAccess : TNetAccess) : Boolean;
  {-locks a record in FileName and fills NetAccess. returns False on error}
function ResetNetAccessFile(const FileName : string; const Key : TKey) : Boolean;
  {-rewrites the net access file contents}
function UnlockNetAccessFile(var NetAccess : TNetAccess) : Boolean;
  {-unlocks the net access record defined by NetAccess. returns False on error}


implementation

{$IFDEF TRIALRUN} uses OgTrial; {$ENDIF}

{*** TOgNetCode ***}

function TOgNetCode.CheckCode(Report : Boolean) : TCodeStatus;
var
  Key      : TKey;
begin
  Result := ogValidCode;

  DoOnGetKey(Key);
  ApplyModifierToKeyPrim(DoOnGetModifier, Key, SizeOf(Key));         {!!.09}
  if DecodeNAFCountCode(Key, DoOnGetCode) > 0 then begin             {!!.09}
    if (nacNetAccess.Fh = -1) then begin                             {!!.09}
      if (FFileName = '') then                                       {!!.09}
        FFileName := DoOnGetFileName;                                {!!.09}
      LockNetAccessFile(FFileName, Key, nacNetAccess);               {!!.09}
    end;                                                             {!!.09}
    if not CheckNetAccessFile(nacNetAccess) then
      Result := ogNetCountUsed;
  end else
    Result := ogInvalidCode;

  if Report then
    DoOnChecked(Result);
end;

{!!.01}
constructor TOgNetCode.Create(AOwner : TComponent);
begin
  inherited Create(AOwner);

  nacNetAccess.Fh := -1;
{$IFDEF TRIALRUN}
  _CC_;
  _VC_;
{$ENDIF}
end;

function TOgNetCode.CreateAccessFile : Boolean;
var
  Code     : TCode;
  Key      : TKey;
  Modifier : LongInt;
begin
  DoOnGetKey(Key);
  Code := DoOnGetCode;
  Modifier := DoOnGetModifier;
  ApplyModifierToKeyPrim(Modifier, Key, SizeOf(Key));
  Result := CreateNetAccessFileEx(FFileName, Key, Code);
end;

destructor TOgNetCode.Destroy;
begin
  UnlockNetAccessFile(nacNetAccess);

  inherited Destroy;
end;

{!!.02}
function TOgNetCode.DoOnGetFileName : string;
begin
  if not Assigned(FOnGetFileName) then
    raise EOnGuardException.Create(StrRes[SCNoOnGetFileName]);

  FOnGetFileName(Self, Result);
end;

function TOgNetCode.GetActiveUsers : LongInt;
var
  Key           : TKey;
  Modifier      : LongInt;
  NetAccessInfo : TNetAccessInfo;
begin
  DoOnGetKey(Key);
  Modifier := DoOnGetModifier;
  ApplyModifierToKeyPrim(Modifier, Key, SizeOf(Key));
  if GetNetAccessFileInfo(FileName, Key, NetAccessInfo) then
    Result := NetAccessInfo.Locked
  else
    Result := -1;
end;

function TOgNetCode.GetInvalidUsers : LongInt;
var
  Key           : TKey;
  Modifier      : LongInt;
  {NetAccessInfo : TNetAccessInfo;}                                  {!!.08}
begin
  DoOnGetKey(Key);
  Modifier := DoOnGetModifier;
  ApplyModifierToKeyPrim(Modifier, Key, SizeOf(Key));
  if GetNetAccessFileInfo(FFileName, Key, nacNetAccessInfo) then
    Result := nacNetAccessInfo.Invalid                               {!!.08}
  else
    Result := -1;
end;

function TOgNetCode.GetMaxUsers : LongInt;
var
  Key      : TKey;
  Modifier : LongInt;
begin
  DoOnGetKey(Key);
  Modifier := DoOnGetModifier;
  ApplyModifierToKeyPrim(Modifier, Key, SizeOf(Key));
  if GetNetAccessFileInfo(FFileName, Key, nacNetAccessInfo) then
    Result := nacNetAccessInfo.Total
  else
    Result := -1;
end;

function TOgNetCode.IsRemoteDrive(const ExePath : string) : Boolean;
begin
  Result := IsAppOnNetwork(ExePath);
end;

procedure TOgNetCode.Loaded;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
激情文学综合插| 国产精品久久久久久久第一福利 | 亚洲日本一区二区三区| 亚洲欧美国产77777| 亚洲午夜精品17c| 狠狠色狠狠色综合日日91app| 国内精品免费在线观看| 成人蜜臀av电影| 欧美日韩黄色一区二区| 欧美精品一区二区高清在线观看| 久久精品亚洲一区二区三区浴池| 亚洲伦在线观看| 免费观看在线综合| 波多野结衣精品在线| 欧美日本国产视频| 久久久一区二区三区| 亚洲欧美激情视频在线观看一区二区三区 | 亚洲国产成人精品视频| 激情综合色播五月| 91视频观看视频| 欧美成va人片在线观看| 亚洲欧美乱综合| 韩国成人福利片在线播放| 91碰在线视频| 欧美不卡在线视频| 亚洲一区二区中文在线| 国产成人久久精品77777最新版本| 在线观看日韩一区| 国产日产欧产精品推荐色| 婷婷国产v国产偷v亚洲高清| 国产高清亚洲一区| 91精品午夜视频| 亚洲三级在线播放| 国产一区二区三区在线观看精品| 欧美在线不卡视频| 2023国产一二三区日本精品2022| 一区二区三区蜜桃| 国产91精品精华液一区二区三区| 欧美日韩国产综合视频在线观看 | 成人一区二区三区在线观看| 91麻豆精品国产自产在线观看一区| 国产精品女主播av| 老司机一区二区| 欧美色中文字幕| 国产精品久久久一本精品 | 久久久激情视频| 日韩电影网1区2区| 欧美三级欧美一级| 亚洲视频免费看| 国产一区二区三区香蕉| 欧美精品免费视频| 亚洲线精品一区二区三区八戒| 成人av在线资源网站| 欧美精品一区二区三区久久久| 日韩电影免费在线看| 欧美三级电影在线看| 中文字幕一区二| 国产成人精品1024| 久久女同精品一区二区| 毛片av一区二区三区| 欧美三级一区二区| 亚洲综合色自拍一区| 91看片淫黄大片一级在线观看| 久久网这里都是精品| 精品亚洲免费视频| 日韩欧美一级二级| 日韩精品91亚洲二区在线观看 | 日韩激情视频网站| 欧美日韩中文另类| 亚洲午夜精品在线| 欧美亚洲国产一卡| 亚洲一区二区三区四区中文字幕 | 亚洲一区二区欧美| 91久久一区二区| 亚洲综合色区另类av| 91黄色在线观看| 一区二区三区日韩精品| 色综合天天综合| 亚洲综合久久av| 欧美日韩在线播| 日韩电影免费在线看| 91精品国产欧美一区二区18| 三级在线观看一区二区| 91精品在线观看入口| 蜜桃久久av一区| 精品国产免费人成在线观看| 激情小说欧美图片| 国产日产欧美一区| 91色视频在线| 亚洲福利视频三区| 欧美一区二区成人| 精品一区二区三区免费观看| 久久综合色一综合色88| 国产91高潮流白浆在线麻豆| 国产精品国产三级国产普通话99 | 丝袜美腿一区二区三区| 日韩网站在线看片你懂的| 麻豆精品新av中文字幕| 精品国产凹凸成av人导航| 国产盗摄精品一区二区三区在线| 国产精品久久久久久久久久免费看| av电影天堂一区二区在线| 亚洲免费大片在线观看| 欧美老人xxxx18| 久久99精品一区二区三区三区| 久久久噜噜噜久久中文字幕色伊伊| 国产成人精品影院| 亚洲精品高清在线| 欧美一区二区视频免费观看| 精品一区二区国语对白| 成人免费在线观看入口| 欧美日韩免费视频| 国产一区二区三区在线观看免费| 国产精品电影院| 欧美高清www午色夜在线视频| 精品一区二区三区免费毛片爱| 亚洲国产成人一区二区三区| 欧美综合色免费| 国产剧情一区二区三区| 亚洲免费电影在线| 欧美r级在线观看| 91丝袜呻吟高潮美腿白嫩在线观看| 天天操天天色综合| 中文字幕不卡在线观看| 精品视频免费在线| 福利电影一区二区| 亚洲bt欧美bt精品777| 国产精品网站一区| 7777精品伊人久久久大香线蕉的 | 亚洲欧美日韩一区二区三区在线观看| 欧美精品123区| 丁香激情综合五月| 蜜臀av性久久久久蜜臀aⅴ流畅| 国产精品久线观看视频| 欧美xxxxx裸体时装秀| 色综合天天天天做夜夜夜夜做| 日本一区中文字幕| 亚洲色图在线视频| 日韩精品最新网址| 色天天综合久久久久综合片| 美女视频黄 久久| 国产精品少妇自拍| 欧美顶级少妇做爰| 日本丶国产丶欧美色综合| 激情五月播播久久久精品| 亚洲精品视频免费观看| 欧美大胆一级视频| 欧美日韩国产综合视频在线观看| 国产成人av电影在线播放| 亚洲高清免费观看高清完整版在线观看| wwwwxxxxx欧美| 91精品欧美久久久久久动漫 | 欧洲国内综合视频| 国产在线麻豆精品观看| 亚洲综合一二三区| 欧美日韩第一区日日骚| 一本色道a无线码一区v| 国产一二三精品| 丝袜美腿亚洲色图| 亚洲欧美一区二区三区国产精品| 国产精品午夜久久| 日韩欧美国产一二三区| 在线区一区二视频| 成人激情免费视频| 国产成人av影院| 日韩国产在线观看一区| 亚洲人精品午夜| 亚洲天堂免费看| 久久精品亚洲麻豆av一区二区| 91精品一区二区三区久久久久久| 色中色一区二区| 99久久免费精品| 国产精品1区2区| 国内精品嫩模私拍在线| 青青草97国产精品免费观看| 亚洲高清视频在线| 亚洲精品一卡二卡| 中文字幕精品综合| 欧美大片日本大片免费观看| 日韩欧美国产午夜精品| 7777精品伊人久久久大香线蕉经典版下载 | 91国偷自产一区二区开放时间| 国产成人av电影| 免费日本视频一区| 青娱乐精品视频在线| 亚洲第一成人在线| 亚洲一区二区欧美激情| 国产精品福利一区二区三区| 亚洲日本一区二区| 中文字幕一区av| 亚洲视频 欧洲视频| 亚洲综合一区在线| 一区二区三区中文免费| 亚洲欧美激情一区二区| 亚洲人成伊人成综合网小说| 洋洋成人永久网站入口| 一区二区三区不卡视频 | 久久se精品一区精品二区| 另类的小说在线视频另类成人小视频在线| 日韩专区在线视频|