亚洲欧美第一页_禁久久精品乱码_粉嫩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色综合久久免费分享| 国产精品家庭影院| 日韩视频免费直播| www.欧美色图| 福利一区福利二区| 欧美视频一区二区三区在线观看| 国产99久久久久| 国产99精品在线观看| 福利91精品一区二区三区| 91福利在线导航| 精品欧美乱码久久久久久| 欧美精品一区二区在线观看| 欧美激情艳妇裸体舞| 亚洲在线免费播放| 国模一区二区三区白浆| 欧美三级在线看| 国产精品久久精品日日| 国产真实乱对白精彩久久| 色婷婷av一区二区三区gif| 日韩欧美久久久| 亚洲欧美日韩国产成人精品影院| 激情综合网天天干| 日韩一区二区免费高清| 亚洲一区二区美女| www.性欧美| 亚洲日本乱码在线观看| 成人免费视频caoporn| 正在播放一区二区| 视频一区二区三区在线| 欧美巨大另类极品videosbest | 亚洲mv在线观看| 久久嫩草精品久久久精品| 久久精品免视看| 国产精品三级电影| 中文字幕一区二区三| 亚洲午夜免费福利视频| 狠狠色综合播放一区二区| 99视频一区二区| 欧美一区二区三区小说| 国产精品灌醉下药二区| 亚洲国产aⅴ成人精品无吗| 国产又黄又大久久| 在线观看亚洲a| 欧美国产日韩在线观看| 天天影视涩香欲综合网| heyzo一本久久综合| 欧美一区二区三区系列电影| 国产亲近乱来精品视频| 免费观看91视频大全| 99riav久久精品riav| 精品动漫一区二区三区在线观看| 亚洲另类春色国产| 成人一区二区视频| 欧美成人猛片aaaaaaa| 一区二区三区四区av| 岛国精品一区二区| 日韩免费视频一区| 午夜视频在线观看一区| 一本到不卡精品视频在线观看| 久久精品人人做人人综合| 麻豆极品一区二区三区| 欧美视频在线不卡| 亚洲中国最大av网站| 99久久精品国产一区| 国产精品久久久久久久蜜臀| 国产在线看一区| 欧美成人伊人久久综合网| 午夜精品久久一牛影视| 欧美午夜宅男影院| 亚洲一区二区三区激情| 色就色 综合激情| 成人免费一区二区三区视频 | 午夜成人免费视频| 欧美视频日韩视频在线观看| 亚洲丝袜另类动漫二区| 色哟哟精品一区| 樱花草国产18久久久久| 色婷婷久久久久swag精品| 亚洲精品乱码久久久久久久久| 99精品久久99久久久久| 中文字幕亚洲在| 91年精品国产| 午夜欧美电影在线观看| 777久久久精品| 久久精品国产澳门| 久久视频一区二区| 国产成人综合网| 国产精品国产三级国产aⅴ无密码| 国产宾馆实践打屁股91| 最近中文字幕一区二区三区| 色偷偷成人一区二区三区91| 亚洲综合小说图片| 欧美一区二区三区视频免费| 国产精品综合二区| 国产精品乱人伦中文| 欧美在线不卡一区| 男人的天堂亚洲一区| 日本一区二区三区在线不卡| 91黄色在线观看| 日韩电影免费在线观看网站| 欧美精品一区二区久久久| 国产99久久久久| 亚洲国产视频一区| 欧美xxx久久| 在线亚洲一区二区| 日韩国产在线观看一区| 日本一区二区三区国色天香| 99久久综合色| 捆绑调教一区二区三区| 国产精品欧美一级免费| 欧美一级日韩免费不卡| 成人av在线一区二区| 日韩在线一二三区| 亚洲国产激情av| 欧美一区二区成人6969| 成人深夜在线观看| 视频一区视频二区中文字幕| 久久蜜桃av一区二区天堂 | 日韩三级精品电影久久久| 国产成人免费网站| 日韩成人一级片| 亚洲三级视频在线观看| 久久综合一区二区| 在线成人av网站| 99久久99久久久精品齐齐| 极品少妇xxxx偷拍精品少妇| 一区二区三区中文字幕精品精品| 久久综合色8888| 欧美精品在线视频| 97精品电影院| 国产一区二区在线电影| 五月婷婷色综合| 亚洲精品一二三区| 欧美日韩一卡二卡| 99r精品视频| 成人动漫一区二区在线| 国产毛片精品视频| 久久精品二区亚洲w码| 天天综合天天做天天综合| 亚洲一二三四区| 亚洲九九爱视频| 1区2区3区欧美| 亚洲嫩草精品久久| 国产精品午夜在线| 国产精品乱码人人做人人爱| 欧美精品一区男女天堂| 2017欧美狠狠色| 久久综合色8888| 久久一夜天堂av一区二区三区| 欧美大胆一级视频| 精品卡一卡二卡三卡四在线| 精品乱人伦一区二区三区| 欧美一区二区久久久| 欧美一级xxx| 欧美mv和日韩mv的网站| 日韩久久久久久| 日韩欧美国产综合| 精品成人一区二区三区四区| 久久嫩草精品久久久精品一| 久久亚洲私人国产精品va媚药| 久久久亚洲午夜电影| 国产精品久久久久天堂| 亚洲另类在线视频| 一区二区理论电影在线观看| 亚洲一区二区五区| 日韩成人一区二区| 激情文学综合网| 成人av电影在线播放| 91国在线观看| 7777精品伊人久久久大香线蕉| 欧美成人一区二区三区片免费 | 亚洲精品日日夜夜| 亚洲成人你懂的| 国产一区二区三区四| 成人自拍视频在线| 欧美亚洲综合一区| 久久综合久久综合亚洲| 亚洲色大成网站www久久九九| 亚洲影视在线播放| 久久97超碰国产精品超碰| 成人黄色一级视频| 欧美日韩亚洲综合| 久久久久久久久99精品| 亚洲免费在线视频一区 二区| 免费在线视频一区| hitomi一区二区三区精品| 91精品国产麻豆国产自产在线| 精品国产一二三区| 一区二区三区精品在线| 久久97超碰国产精品超碰| 91在线视频在线| 欧美tk丨vk视频| 亚洲精品国产精华液| 精品一区二区三区欧美| 91麻豆国产自产在线观看| 5月丁香婷婷综合| 成人免费在线视频| 国产精品一二三区| 欧美日本一道本在线视频| 中文字幕成人av|