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

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

?? elibtypes.pas

?? 本程序旨在講解如何用Delphi創建一個可以在易語言中執行的支持庫
?? PAS
?? 第 1 頁 / 共 4 頁
字號:
    m_pDataType              : pLIB_DATA_TYPE_INFO; // 本庫中所有自定義數據類型的定義信息
    m_nCategoryCount         : Integer;             // 全局命令類別數目,必須等同于下面m_szzCategory成員所實際提供的數目
    m_szzCategory            : PChar;               // 全局命令類別說明表,每項為一字符串,前四位數字表示圖象索引號(從1開始,0表示無)。減一后的值為指向支持庫中名為"LIB_BITMAP"的BITMAP資源中某一部分16X13位圖的索引。
    m_nCmdCount              : Integer;             // 本庫中提供的所有命令(全局命令及對象方法)的數目(如無則為0)
    m_pBeginCmdInfo          : pCMD_INFO;           // 指向所有命令及方法的定義信息數組(如m_nCmdCount為0,則為nil)
    m_pCmdsFunc              : ^pFN_EXECUTE_CMD;    // 指向每個命令的實現代碼首地址,(如m_nCmdCount為0,則為nil)
    m_pfnRunAddInFn          : pFN_RUN_ADDIN_FN;    // 用作為易語言IDE提供附加功能,可為nil
    m_szzAddInFnInfo         : PChar;               // 有關AddIn功能的說明,兩個字符串說明一個功能。第一個為功能名稱(限20字符),第二個為功能詳細介紹(限60字符),最后由兩個空串結束。
    m_pfnNotify              : pFN_NOTIFY_LIB;      // 提供接收來自易語言IDE或運行環境通知信息的函數,不能為nil

    m_pfnSuperTemplate       : pFN_SUPER_TEMPLATE;  // 超級模板,暫時保留不用,為nil
    m_szzSuperTemplateInfo   : PChar;               // 為nil

    m_nLibConstCount         : Integer;             // 常量數目
    m_pLibConst              : pLIB_CONST_INFO;     // 指向常量定義數組
    m_szzDependFiles         : PChar;               // 本庫正常運行所需要依賴的其他文件,在制作安裝軟件時將會自動帶上這些文件。可為nil。

    ////////////////////////////////////////////////////////////////////////////
    //
    // 其中,m_nLanguage 可取以下值之一:
    //   LT_CHINESE = 1;  // 中文
    //   LT_ENGLISH = 2;  // 英文
    //
    // 其中,m_dwState 可取 0 或以下值之一:
    //   LBS_FUNC_NO_RUN_CODE = 4;  // 本庫僅為聲明庫,沒有對應功能的支持代碼,因此不能運行
    //   LBS_NO_EDIT_INFO     = 8;  // 本庫內無供編輯用的信息(編輯信息主要為:各種名稱、解釋字符串等),無法被易語言IDE加載
    //
    ////////////////////////////////////////////////////////////////////////////
  end;

const
  //////////////////////////////////////////////////////////////////////////////
  // 以下常量在 LIB_INFO 結構的成員m_nLanguage和m_dwState中使用

  // 支持庫所支持的語言(m_nLanguage)
  LT_CHINESE = 1;  // 中文
  LT_ENGLISH = 2;  // 英文

  // 支持庫狀態值(m_dwState)
  LBS_FUNC_NO_RUN_CODE = 4; {1 shl 2}  // 本庫僅為聲明庫,沒有對應功能的支持代碼,因此不能運行
  LBS_NO_EDIT_INFO     = 8; {1 shl 3}  // 本庫內無供編輯用的信息(編輯信息主要為:各種名稱、解釋字符串等),無法被易語言IDE加載

  ////////////////////////////////////////////////////////////////////////////////


type

  pFN_GET_LIB_INFO = function() : pLIB_INFO; stdcall; // GetNewInf的函數原型
  pFN_ADD_IN_FUNC  = function() : Integer; cdecl;     // m_pfnRunAddInFn的函數原型

  function RGB(r, g, b: Byte): LongWord; // 合成RGB顏色值

const
  ////////////////////////////////////////////////////////////////////////////////
  FUNCNAME_GET_LIB_INFO = 'GetNewInf';   // 取本支持庫的PLIB_INFO指針的輸出函數名稱

  LIB_BMP_RESOURCE = 'LIB_BITMAP';  // 支持庫中提供的圖像資源的名稱
  LIB_BMP_CX       = 16;            // 每一圖像資源的寬度
  LIB_BMP_CY       = 13;            // 每一圖像資源的高度
  LIB_BMP_BKCOLOR  = $FFFFFF;       // 圖像資源的底色(白色): RGB(255, 255, 255)=$FFFFFF=16777215


  
  { 運行時使用 }  WM_APP = $8000;        // 定義于VC中的WinUser.h,含條件編譯參數WINVER>=$0400(即Windows95及以上版本)
  WU_GET_WND_PTR         = (WM_APP + 2); // 用作支持窗口單元事件反饋。
  WU_SIZE_CHANGED        = (WM_APP + 3); // 用作在窗口尺寸改變后通知所有條狀窗口單元。
  WU_PARENT_RELAYOUT_BAR = (WM_APP + 4); // 用作通知頂層窗口重新布局所有的 bar 單元,通常在 bar 單元改變了自身尺寸后使用。

const
  //////////////////////////////////////////////////////////////////////////////
  // 以下常量在函數GetDataTypeType中用到,做為返回值類型

  DTT_IS_NULL_DATA_TYPE  = 0;
  DTT_IS_SYS_DATA_TYPE   = 1;
  DTT_IS_USER_DATA_TYPE  = 2;
  DTT_IS_LIB_DATA_TYPE   = 3;

var
  //============================================================================
  // 定義全局函數和全局變量
  //============================================================================
  
  g_nLastNotifyResult : Integer;
  g_fnNotifySys : PFN_NOTIFY_SYS = nil;

  // 向易IDE系統發送信息
  function NotifySys (nMsg: Integer; dwParam1,dwParam2: Longword): Integer;

  // 使用指定文本數據建立易程序中使用的文本數據。
  function CloneTextData (ps: PChar) : PChar; overload;

  // 使用指定文本數據建立易程序中使用的文本數據。nTextLen用作指定文本部分的長度(不包含結束零),如果為-1,則取ps的全部長度。
  function CloneTextData (ps: PChar; nTextLen: Integer): PChar; overload;

  // 使用指定數據建立易程序中使用的字節集數據。
  function CloneBinData (pData: PByte; nDataSize: Integer): PByte;

  // 向易IDE報告運行時錯誤。
  procedure GReportError (szErrText: PChar);

  // 向易IDE申請內存
  function MMalloc (nSize: Integer): Pointer;

  // 釋放從易IDE申請來的內存
  procedure MFree (p: Pointer);

  // 返回數組的數據部分首地址及成員數目。
  function GetAryElementInf (pAryData: Pointer; var pnElementCount: Integer): PByte;

  // 取回數據類型的類別。
  function GetDataTypeType (dtDataType: DATA_TYPE): Integer;


{$ENDIF} { __LIB_H }

implementation
uses SysUtils;  //SysUtils用于處理PChar字串

// 合成RGB顏色值。本函數的定義和實現代碼拷貝自Delphi中的Windows.pas
function RGB(r, g, b: Byte): LongWord;
begin
  Result:= (r or (g shl 8) or (b shl 16));
end;

{ EVENT_NOTIFY }
procedure EVENT_NOTIFY.EVENT_NOTIFY(dwFormID, dwUnitID: LongWord;
  nEventIndex: Integer);
begin
    m_dwFormID         := dwFormID;
    m_dwUnitID         := dwUnitID;
    m_nEventIndex      := nEventIndex;
    m_nArgCount        := 0;
    m_blHasReturnValue := FALSE;
end;

// 向易IDE系統發送信息。失敗返回0 ;使用之前必須初始化函數指針g_fnNotifySys。
function NotifySys (nMsg: Integer; dwParam1,dwParam2: Longword): Integer;
begin
  if Assigned(g_fnNotifySys) then
    g_nLastNotifyResult:= g_fnNotifySys(nMsg,dwParam1,dwParam2)
  else
    g_nLastNotifyResult:= 0;
  Result:= g_nLastNotifyResult;
end;

// 使用指定文本數據建立易程序中使用的文本數據。
function CloneTextData (ps: PChar) : PChar;
var
  nTextLen: Integer;
  pd: PChar;
begin
  if (ps=nil) or (ps[1]=#0) then begin Result:=nil; exit; end;
  nTextLen:= StrLen(ps);
  pd:= PChar(NotifySys(NRS_MALLOC, LongWord(nTextLen+1),0));
  //SysUtils.StrLCopy(pd, ps, nTextLen);
  System.Move(ps, pd, nTextLen);
  pd[nTextLen] := #0;
  Result:= pd;
end;

// 使用指定文本數據建立易程序中使用的文本數據。nTextLen用作指定文本部分的長度(不包含結束零),如果為-1,則取ps的全部長度。
function CloneTextData (ps: PChar; nTextLen: Integer): PChar;
var pd: PChar;
begin
  if nTextLen <= 0 then begin Result:=nil; exit; end;
  pd:= PChar(NotifySys(NRS_MALLOC,LongWord(nTextLen+1),0));
  //SysUtils.StrLCopy(pd, ps, nTextLen);
  System.Move(ps, pd, nTextLen);
  pd[nTextLen]:= #0;
  Result:= pd;
end;

// 使用指定數據建立易程序中使用的字節集數據。
function CloneBinData (pData: PByte; nDataSize: Integer): PByte;
var pd: PByte;
begin
  if nDataSize=0 then begin Result:=nil; exit; end;
  pd:= PByte(NotifySys(NRS_MALLOC,LongWord(sizeof(Integer)*2+nDataSize),0));
  pd^:= 1;
  //??? Integer(Pointer(Integer(pd)+sizeof(Integer))^) := nDataSize;
  //??? System.Move(pData,Pointer(Integer(@pd)+sizeof(Integer)*2),nDataSize);
  Result:= pd;
end;

// 向易IDE報告運行時錯誤。
procedure GReportError (szErrText: PChar);
begin
  NotifySys(NRS_RUNTIME_ERR,LongWord(szErrText),0);
end;

// 向易IDE申請內存
function MMalloc (nSize: Integer): Pointer;
begin
  Result:= Pointer(NotifySys(NRS_MALLOC,LongWord(nSize),0));
end;

// 釋放從易IDE申請來的內存
procedure MFree (p: Pointer);
begin
  NotifySys(NRS_MFREE,LongWord(p),0);
end;

// 返回數組的數據部分首地址及成員數目。
function GetAryElementInf (pAryData: Pointer; var pnElementCount: Integer): PByte;
var
  pnData : PInteger;
  nArys, nElementCount : Integer;
begin
  pnData:= PInteger(pAryData);
  nArys:= pnData^;  // 取得維數。
  Inc(pnData);
  nElementCount:= 1;  // 計算成員數目。
  while (nArys > 0) do begin
    nElementCount:= nElementCount * pnData^;
    Inc(pnData);
    Dec(nArys);
  end;
  pnElementCount:= nElementCount;
  Result:= PByte(pnData);
end;

// 取回數據類型的類別。
function GetDataTypeType (dtDataType: DATA_TYPE): Integer;
var dw: Longword;
begin
  if dtDataType= _SDT_NULL then begin
    Result:= DTT_IS_NULL_DATA_TYPE;
    exit;
  end;
  dw:= dtDataType and $C0000000;
  if dw=DTM_SYS_DATA_TYPE_MASK then
    Result:= DTT_IS_SYS_DATA_TYPE
  else if dw=DTM_USER_DATA_TYPE_MASK then
    Result:= DTT_IS_USER_DATA_TYPE
  else
    Result:=DTT_IS_LIB_DATA_TYPE;
end;

end.


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
婷婷激情综合网| 图片区小说区国产精品视频| 91精品久久久久久蜜臀| 日本乱人伦aⅴ精品| 色天天综合久久久久综合片| 91小视频免费观看| 色婷婷精品久久二区二区蜜臀av| av成人免费在线| 91蜜桃视频在线| 91欧美一区二区| 欧美婷婷六月丁香综合色| 欧美日韩在线播放三区| 欧美日本精品一区二区三区| 欧美一级免费大片| 欧美激情一区二区在线| 亚洲欧洲无码一区二区三区| 亚洲一区免费在线观看| 一级中文字幕一区二区| 青青国产91久久久久久| 国产精品自产自拍| 91美女视频网站| 欧美日本一区二区| 国产日产欧美一区二区视频| 亚洲欧美日韩一区二区三区在线观看 | 亚洲视频一二区| 亚洲香肠在线观看| 久久成人av少妇免费| 9色porny自拍视频一区二区| 色婷婷一区二区| 欧美一区二区视频网站| 欧美国产综合色视频| 亚洲成人一区在线| 高清不卡在线观看| 欧美日韩国产在线观看| 国产欧美精品国产国产专区| 亚洲一区二区三区视频在线播放 | 欧美在线观看视频在线| 日韩亚洲欧美高清| 亚洲综合在线视频| 国产精品资源站在线| 777奇米四色成人影色区| 欧美韩国日本一区| 免费成人你懂的| 日本精品裸体写真集在线观看| 久久久综合网站| 午夜精品国产更新| 色综合天天综合给合国产| 精品999在线播放| 午夜精品福利一区二区三区av| 成人免费看黄yyy456| 欧美变态凌虐bdsm| 午夜在线成人av| 91福利资源站| 亚洲美女免费视频| 99久久99久久精品国产片果冻| 日韩欧美国产一区二区三区| 午夜成人免费视频| 欧美偷拍一区二区| 亚洲一区免费视频| 在线观看日韩电影| 亚洲免费视频成人| 99精品视频在线播放观看| 国产欧美一区二区三区鸳鸯浴| 免费久久精品视频| 欧美日韩电影在线播放| 玉米视频成人免费看| 一本大道久久a久久综合| 中文字幕在线一区二区三区| 成人午夜又粗又硬又大| 国产日韩欧美麻豆| 国产·精品毛片| 国产精品视频观看| 成人丝袜高跟foot| 国产精品黄色在线观看| av在线一区二区| 亚洲色图在线视频| 在线一区二区视频| 伊人开心综合网| 在线一区二区三区做爰视频网站| 亚洲色图欧洲色图| 欧美主播一区二区三区| 亚洲va中文字幕| 欧美精品一卡二卡| 久久国产麻豆精品| 精品国产污污免费网站入口 | 在线免费观看不卡av| 亚瑟在线精品视频| 久久中文字幕电影| 国产精品自拍三区| 成人欧美一区二区三区1314| 色www精品视频在线观看| 亚洲国产精品欧美一二99| 91精品国产91久久综合桃花| 韩国三级电影一区二区| 国产精品另类一区| 欧美三级欧美一级| 国产另类ts人妖一区二区| 国产精品久久久久久久久久免费看| 91美女在线视频| 奇米综合一区二区三区精品视频| 精品日产卡一卡二卡麻豆| 成人av在线观| 偷拍一区二区三区四区| 久久婷婷色综合| 色综合色综合色综合色综合色综合 | 色综合久久天天| 午夜视频一区在线观看| 久久久久久夜精品精品免费| 99久久久国产精品| 免费人成在线不卡| 亚洲天堂网中文字| 91精品国产免费久久综合| 成人网页在线观看| 免费视频最近日韩| 最新中文字幕一区二区三区| 欧美二区三区91| 99精品欧美一区二区三区小说| 亚洲最快最全在线视频| 久久久久国产精品麻豆ai换脸 | 国产午夜一区二区三区| 欧美日韩在线播放| 不卡的av电影| 经典三级视频一区| 午夜伦理一区二区| √…a在线天堂一区| 久久在线观看免费| 欧美精品久久一区二区三区| av网站一区二区三区| 韩国三级在线一区| 日韩成人一区二区三区在线观看| 国产精品高潮呻吟| 久久综合色一综合色88| 337p亚洲精品色噜噜| 色综合咪咪久久| 粉嫩绯色av一区二区在线观看| 日韩电影免费在线观看网站| 亚洲一二三区不卡| 亚洲欧美视频在线观看| 国产精品传媒入口麻豆| 国产肉丝袜一区二区| 久久综合久色欧美综合狠狠| 3d成人h动漫网站入口| 欧美日韩另类国产亚洲欧美一级| 91在线观看高清| 91在线视频网址| 91影院在线免费观看| 成年人国产精品| 91影视在线播放| 色综合天天综合色综合av| 色综合久久久久久久久久久| 国产激情精品久久久第一区二区| 国产精品香蕉一区二区三区| 国产一区二区0| 成人av集中营| 色综合天天综合网天天狠天天| 成人精品gif动图一区| 成人禁用看黄a在线| 91视频91自| 欧美日韩在线精品一区二区三区激情 | 欧美日韩中字一区| 欧美日韩精品一区二区| 91精品国产色综合久久不卡蜜臀| 欧美美女喷水视频| 精品国产伦理网| 久久久一区二区三区| 国产精品妹子av| 一片黄亚洲嫩模| 男人的天堂久久精品| 国产综合久久久久影院| 国产99久久精品| 91欧美激情一区二区三区成人| 欧美影片第一页| 日韩你懂的电影在线观看| 2021国产精品久久精品| 国产精品国产三级国产普通话三级 | 丰满放荡岳乱妇91ww| 色网站国产精品| 日韩一区二区在线观看视频| 国产女同性恋一区二区| 亚洲永久免费视频| 秋霞午夜鲁丝一区二区老狼| 国产成人aaa| 欧美色手机在线观看| 久久午夜电影网| 亚洲18色成人| 成人av在线一区二区三区| 正在播放亚洲一区| 国产精品高清亚洲| 麻豆精品在线播放| 91丨九色丨蝌蚪富婆spa| 日韩精品一区二区三区在线播放| 亚洲色欲色欲www在线观看| 久久成人免费网站| 91黄色小视频| 国产欧美一区二区精品婷婷| 午夜精品久久久久久| 91网站在线观看视频| 亚洲精品一区二区在线观看| 一区二区三区四区激情| 国产精品一区二区三区四区|