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

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

?? unit1.pas

?? 本程序旨在講解如何用Delphi創建一個可以在易語言中執行的支持庫
?? PAS
字號:
unit Unit1;

////////////////////////////////////////////////////////////////////////////////
//
// 要增加一個全局命令,請:
//   1.編寫命令的實現函數,原形為pFN_EXECUTE_CMD;
//   2.設置常量CommandsCount值加一;
//   3.在InitImpCommands函數中,初始化數組成員InitImpCommands[CommandsCount-1];
//   4.在InitArgumentsInfo函數中,增加一個CASE(即初始化數組成員ArgumentsInfo[CommandsCount-1][]);
//   5.在InitCommandsInfo函數中,增加一個CASE(即初始化數組成員CommandsInfo[CommandsCount-1]);
//   6.在InitLibInfo函數中,修改庫的版本號(本步可省略)。
//
// 要增加一個常量,請:
//   1.在InitConstInfo函數中,增加一個CASE(初始化數組成員ConstsInfo[InitConstInfo-1];
//   2.設置常量ConstsCount值加一;
//   3.在InitLibInfo函數中,修改庫的版本號(本步可省略)。
//
////////////////////////////////////////////////////////////////////////////////

interface

uses Windows, elibTypes;

const
  CommandsCount = 2;  //!!! 命令個數
  ConstsCount   = 1;  //!!! 常量個數(如果為0,請把常量信息數組ConstsInfo的定義行注釋掉,同時把函數InitConstInfo中的代碼清除)

var
  LibInfo      : LIB_INFO;

  CommandsInfo : array[0..CommandsCount-1] of CMD_INFO;          // 命令信息
  ArgumentsInfo: array[0..CommandsCount-1] of array of ARG_INFO; // 參數信息
  ImpCommands  : array[0..CommandsCount-1] of pFN_EXECUTE_CMD;   // 命令實現
  ConstsInfo   : array[0..ConstsCount-1]   of LIB_CONST_INFO;    // 常量信息

  function ProsessNotify (nMsg:Integer; dwParam1:LongWord=0; dwParam2:LongWord=0) :Integer; stdcall;
  function AddInFunction (nAddInFnIndex:Integer) :Integer; stdcall;

  //----------------------------------------------------------------------------
  // 唯一的輸出函數 GetNewInf() 的聲明

  function GetNewInf () : pLIB_INFO; stdcall; export;

  //----------------------------------------------------------------------------
  // 命令實現函數的聲明(所有函數的原形都是相同的,即pFN_EXECUTE_CMD)
  //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  //左移
  procedure usrSHL(pRetData:pMDATA_INF; nArgCount:Integer; pArgInf:pMDATA_INF); cdecl;
  //右移
  procedure usrSHR(pRetData:pMDATA_INF; nArgCount:Integer; pArgInf:pMDATA_INF); cdecl;

  //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  //----------------------------------------------------------------------------
  // 內部初始化函數的聲明
  procedure InitLibInfo;        // 初始化庫信息
  procedure InitCommandsInfo;   // 初始化命令信息
  procedure InitArgumentsInfo;  // 初始化參數信息
  procedure InitImpCommands;    // 初始化命令實現信息
  procedure InitConstInfo;      // 初始化常量信息

////////////////////////////////////////////////////////////////////////////////
implementation

//uses Unit2, Unit5;

// 這是本庫唯一的輸出函數GetNewInf的定義
function GetNewInf () : pLIB_INFO; stdcall; export;
begin
  Result:=@LibInfo;
end;

////////////////////////////////////////////////////////////////////////////////
// 初始化庫信息
procedure InitLibInfo;
begin
  LibInfo.m_dwLibFormatVer:=LIB_FORMAT_VER;
  LibInfo.m_szGuid:=PChar('713B2774F7664D27BDD048AA88900FC1'); //Ctrl+Shift+G
  LibInfo.m_nMajorVersion:=1;   // 主版本號
  LibInfo.m_nMinorVersion:=0;   // 次版本號
  LibInfo.m_nBuildNumber:=0;    // 構建版本號
  LibInfo.m_nRqSysMajorVer:=3;
  LibInfo.m_nRqSysMinorVer:=0;
  LibInfo.m_nRqSysKrnlLibMajorVer:=3;
  LibInfo.m_nRqSysKrnlLibMinorVer:=0;
  LibInfo.m_szName:=PChar('*【移位擴展庫】* Roya Onfly');  // 支持庫名稱
  LibInfo.m_nLanguage:=LT_CHINESE;
  LibInfo.m_szExplain:=PChar('易語言移位擴展支持庫 Build 0414'+#13+#10+
                      '    諾亞鴻飛軟件工作室 吳江濤 '+#13+#10+
                      '------------------------------------------------------------------------------------------------------------------------'+#13+#10);

  LibInfo.m_dwState:=0;

  LibInfo.m_szAuthor:=PChar('吳江濤');        // 作者
  LibInfo.m_szZipCode:=PChar('330034');
  LibInfo.m_szAddress:=PChar('南昌航空工業學院290信箱');
  LibInfo.m_szPhone:=PChar('0791-7066853');
  LibInfo.m_szFax:=nil;
  LibInfo.m_szEmail:=PChar('wujtao@91x.com');
  LibInfo.m_szHomePage:=PChar('Http://wujtao.126.com');
  LibInfo.m_szOther:=PChar('QQ:51273885(私人) 362666286(工作)'+#13+#10+
                      '------------------------------------------------------------------------------------------------------------------------'+#13+#10);


  LibInfo.m_nDataTypeCount:=0;
  LibInfo.m_pDataType:=nil;
  LibInfo.m_nCategoryCount:=1;
  LibInfo.m_szzCategory:=PChar('0024 邏輯移位'+#0);
  LibInfo.m_nCmdCount:=CommandsCount;
  LibInfo.m_pBeginCmdInfo:=@CommandsInfo;
  LibInfo.m_pCmdsFunc:=@ImpCommands;
  LibInfo.m_pfnRunAddInFn:=AddInFunction;
  LibInfo.m_szzAddInFnInfo:=PChar('諾亞鴻飛軟件工作室'+#0);
  LibInfo.m_pfnNotify:=ProsessNotify;
  LibInfo.m_pfnSuperTemplate:=nil;
  LibInfo.m_szzSuperTemplateInfo:=nil;
  LibInfo.m_nLibConstCount:=ConstsCount;
  LibInfo.m_pLibConst:=@ConstsInfo;
  LibInfo.m_szzDependFiles:=nil;
end;

////////////////////////////////////////////////////////////////////////////////
// 初始化命令信息
procedure InitCommandsInfo;
var i:Integer;
begin
  // 采用for+case的結構,可使新增一個命令或常量時,在復制、粘貼之后,盡可能減少修改代碼的次數。下同。
  for i:=0 to High(CommandsInfo) do case i+1 of
  
  1:// 第一個命令的信息---------------------------------------------------------
    with CommandsInfo[i] do begin
      m_szName:=PChar('左移');
      m_szEGName:=PChar('SHL');
      m_szExplain:=PChar('對數進行左移運算.');
      m_shtCategory:=1;
      m_wState:=0;
      m_dtRetType:=SDT_INT;
      m_wReserved:=0;
      m_shtUserLevel:=LVL_HIGH;
      m_shtBitmapIndex:=0;
      m_shtBitmapCount:=0;
      m_nArgCount:=High(ArgumentsInfo[i])+1;
      m_pBeginArgInfo:=pARG_INFO(ArgumentsInfo[i]);
    end;

  2:// 第二個命令的信息---------------------------------------------------------
    with CommandsInfo[i] do begin
      m_szName:=PChar('右移');
      m_szEGName:=PChar('SHR');
      m_szExplain:=PChar('對數進行右移運算.');
      m_shtCategory:=1;
      m_wState:=0;
      m_dtRetType:=SDT_INT;
      m_wReserved:=0;
      m_shtUserLevel:=LVL_HIGH;
      m_shtBitmapIndex:=0;
      m_shtBitmapCount:=0;
      m_nArgCount:=High(ArgumentsInfo[i])+1;
      m_pBeginArgInfo:=pARG_INFO(ArgumentsInfo[i]);
    end;

  end; // end of case and for
end;

////////////////////////////////////////////////////////////////////////////////
// 初始化參數信息
procedure InitArgumentsInfo;
var i,j,count:Integer;
begin
  for i:=0 to High(ArgumentsInfo) do case i+1 of

  1://以下是第一個命令的參數信息================================================
      begin
      count:=2;  //!!! 本命令的參數個數
      SetLength(ArgumentsInfo[i],count);
      for j:=0 to High(ArgumentsInfo[i]) do case j+1 of
      1:  //第一個參數----------------------------------------------------------
          with ArgumentsInfo[i][j] do begin
            m_szName:=PChar('源數字');
            m_szExplain:=PChar('該數是要進行左移運算的源數字(為整數型,最大長度4字節');
            m_shtBitmapIndex:=0;
            m_shtBitmapCount:=0;
            m_dtDataType:=SDT_INT;
            m_nDefault:=0;
            m_dwState:=0;
          end;

      2:  //第二個參數----------------------------------------------------------
          with ArgumentsInfo[i][j] do begin
            m_szName:=PChar('移位數');
            m_szExplain:=PChar('該數是要進行左移運算的移位數,不能超過16');
            m_shtBitmapIndex:=0;
            m_shtBitmapCount:=0;
            m_dtDataType:=SDT_INT;
            m_nDefault:=1;                    //默認參數
            m_dwState:=AS_HAS_DEFAULT_VALUE;  //參數狀態,有默認參數
          end;
      end; // end of case j+1 and for
      end; // end of case i+1

   2://以下是第二個命令的參數信息================================================
      begin
      count:=2;  //!!! 本命令的參數個數
      SetLength(ArgumentsInfo[i],count);
      for j:=0 to High(ArgumentsInfo[i]) do case j+1 of
      1:  //第一個參數----------------------------------------------------------
          with ArgumentsInfo[i][j] do begin
            m_szName:=PChar('源數字');
            m_szExplain:=PChar('該數是要進行右移運算的源數字(為整數型,最大長度4字節');
            m_shtBitmapIndex:=0;
            m_shtBitmapCount:=0;
            m_dtDataType:=SDT_INT;
            m_nDefault:=0;
            m_dwState:=0;
          end;

      2:  //第二個參數----------------------------------------------------------
          with ArgumentsInfo[i][j] do begin
            m_szName:=PChar('移位數');
            m_szExplain:=PChar('該數是要進行右移運算的移位數,不能超過16');
            m_shtBitmapIndex:=0;
            m_shtBitmapCount:=0;
            m_dtDataType:=SDT_INT;
            m_nDefault:=1;                    //默認參數
            m_dwState:=AS_HAS_DEFAULT_VALUE;  //參數狀態,有默認參數
          end;
      end; // end of case j+1 and for
      end; // end of case i+1

  // 在此添加其它命令的參數信息

  end; // end of case i+1 and for
end;

////////////////////////////////////////////////////////////////////////////////
// 初始化命令實現信息
// 在這里編寫用戶自定義的處理函數
procedure InitImpCommands;
begin
  ImpCommands[0]:=usrSHL;   //左移函數
  ImpCommands[1]:=usrSHR;   //右移函數

end;

////////////////////////////////////////////////////////////////////////////////
// 初始化常量信息
procedure InitConstInfo;
var i:Integer;
begin
  for i:=0 to High(ConstsInfo) do case i+1 of

  1://第一個常量----------------------------------------------------------------
      with ConstsInfo[i] do begin
        m_szName:=PChar('諾亞鴻飛');
        m_szEGName:=PChar('Roya');
        m_szExplain:=nil;
        m_shtReserved:=1;
        m_shtType:=CT_TEXT;
        m_szText:=PChar('諾亞鴻飛軟件工作室 吳江濤');
        m_dbValue:=0;
      end;

  //在此添加其它常量信息

  end; // end of case and for
end;

////////////////////////////////////////////////////////////////////////////////
// 接受來自易IDE的通知,目的就是獲得向易IDE反饋信息的函數指針g_fnNotifySys(全局變量)
function ProsessNotify (nMsg:Integer; dwParam1:LongWord=0; dwParam2:LongWord=0) :Integer; stdcall;
var ReturnValue: Integer;
begin
  ReturnValue:=NR_OK;
  case nMsg of
      NL_SYS_NOTIFY_FUNCTION:
      g_fnNotifySys:=pFN_NOTIFY_SYS(dwParam1);
    else ReturnValue:=NR_ERR;
  end;
  Result:=ReturnValue;
end;

////////////////////////////////////////////////////////////////////////////////
// 附加功能實現函數的定義(代碼實現)
function AddInFunction (nAddInFnIndex:Integer) :Integer; stdcall;
begin
(*
  AboutMe(nil,0,nil);
*)
  MessageBox(0,pchar(nAddInFnIndex),'E-IDE Notify',MB_OK);
  Result:=0;


end;

////////////////////////////////////////////////////////////////////////////////
//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
// 命令實現函數的定義(代碼實現)
// 在函數中可通過ArgArray(pArgInf)[i].m_Value讀取易傳過來的第i個參數(i從0開始,0表示第一個參數)
procedure usrSHL (pRetData:pMDATA_INF; nArgCount:Integer; pArgInf:pMDATA_INF); cdecl;
begin
//左移實現過程
  pRetData.m_Value.m_int:=ArgArray(pArgInf)[0].m_Value.m_int SHL ArgArray(pArgInf)[1].m_Value.m_int;
end;


procedure usrSHR (pRetData:pMDATA_INF; nArgCount:Integer; pArgInf:pMDATA_INF); cdecl;
begin
//右移實現過程
  pRetData.m_Value.m_int:=ArgArray(pArgInf)[0].m_Value.m_int SHR ArgArray(pArgInf)[1].m_Value.m_int;

end;

//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
////////////////////////////////////////////////////////////////////////////////
initialization
  //////////////////////////////////////////////////////////////////////////////
  // 初始化支持庫信息,以下函數的調用順序不可輕易變動
  InitArgumentsInfo;
  InitCommandsInfo;
  InitImpCommands;
  InitConstInfo;
  InitLibInfo;
  //////////////////////////////////////////////////////////////////////////////

end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品在线观看| 麻豆极品一区二区三区| 亚洲综合色区另类av| 免费成人美女在线观看| 91丨porny丨户外露出| 欧美成人三级在线| 尤物在线观看一区| 国产激情视频一区二区三区欧美| 欧美性猛片xxxx免费看久爱| 精品国产乱码久久久久久浪潮| 亚洲自拍偷拍网站| 成人激情免费网站| 久久久久久一级片| 奇米在线7777在线精品| 色婷婷久久久亚洲一区二区三区| 久久精品亚洲一区二区三区浴池| 亚洲一区二区三区四区中文字幕| 成人免费毛片高清视频| 久久婷婷成人综合色| 日本午夜一区二区| 欧美日韩亚洲综合一区二区三区| 成人免费一区二区三区在线观看 | 欧美日韩中文字幕一区| 日本一区二区三区四区在线视频| 久久99国产精品久久99果冻传媒| 色先锋资源久久综合| 中文字幕成人在线观看| 国产精品一级片在线观看| 日韩女优电影在线观看| 国产传媒欧美日韩成人| 4438x亚洲最大成人网| 亚洲精品欧美专区| 色就色 综合激情| 一区二区在线观看av| 99久久婷婷国产综合精品电影| 欧美激情中文不卡| 国产成人午夜精品5599| 欧美国产综合色视频| 国产成人av电影| 久久久噜噜噜久噜久久综合| 国产一区二区三区香蕉| 久久综合色播五月| 国产成人啪免费观看软件| 国产三级久久久| 国产91精品一区二区麻豆网站| 久久在线观看免费| 懂色av一区二区三区免费观看| 国产欧美一区二区精品忘忧草| 成人性生交大片免费看中文| 中文在线资源观看网站视频免费不卡| 国产精品996| 国产精品久久久久久久久免费丝袜 | 在线一区二区三区做爰视频网站| 亚洲免费在线视频一区 二区| 在线一区二区三区四区五区 | 亚洲国产精品传媒在线观看| 成人免费高清在线观看| 亚洲欧美日韩国产中文在线| 欧美在线综合视频| 久久99精品久久久久久国产越南 | 欧洲精品中文字幕| 日本va欧美va精品| 国产欧美va欧美不卡在线| 91美女在线看| 日本伊人色综合网| 国产精品美女久久久久aⅴ国产馆| 色综合婷婷久久| 免费看欧美女人艹b| 国产丝袜在线精品| 欧美日韩在线播| 国产呦萝稀缺另类资源| 亚洲女爱视频在线| 欧美成人官网二区| 91首页免费视频| 久久成人麻豆午夜电影| 亚洲乱码一区二区三区在线观看| 在线综合视频播放| 99在线精品免费| 美女在线观看视频一区二区| 中文字幕色av一区二区三区| 在线91免费看| 97久久精品人人做人人爽50路| 日本在线不卡一区| 一区二区在线观看视频| 国产亚洲精品7777| 日韩一级片网站| 欧美午夜视频网站| 91在线播放网址| 国产中文字幕精品| 婷婷中文字幕一区三区| 亚洲三级免费电影| 亚洲mv在线观看| 国产精品入口麻豆九色| 91精品国产综合久久精品图片| 91麻豆免费视频| 国产成人av电影免费在线观看| 日韩高清不卡一区| 亚洲一区在线观看免费| 中文av一区特黄| 久久久噜噜噜久噜久久综合| 欧美一区二区福利视频| 欧美亚洲综合一区| 色狠狠av一区二区三区| 北条麻妃国产九九精品视频| 麻豆专区一区二区三区四区五区| 亚洲美女一区二区三区| 亚洲欧洲国产日韩| 中文字幕高清不卡| 中文字幕av一区二区三区| 久久婷婷色综合| 久久久国产精品麻豆| 久久久蜜桃精品| 久久伊99综合婷婷久久伊| www精品美女久久久tv| 欧美刺激午夜性久久久久久久| 91精品国产麻豆| 欧美一区二区日韩| 精品久久一区二区三区| 337p日本欧洲亚洲大胆精品| 久久影院午夜片一区| 国产偷国产偷精品高清尤物| 国产欧美精品一区aⅴ影院| 国产精品丝袜91| 国产女同互慰高潮91漫画| 国产精品乱码一区二三区小蝌蚪| 欧美国产精品v| 亚洲男人的天堂网| 亚洲图片欧美视频| 日韩精彩视频在线观看| 久久99国产精品麻豆| 国产成人亚洲精品青草天美| 成人视屏免费看| 色久优优欧美色久优优| 在线综合亚洲欧美在线视频| 欧美成人女星排行榜| 国产欧美中文在线| 亚洲精品乱码久久久久久| 五月婷婷另类国产| 国产一区二区三区在线观看免费视频| 国产成人亚洲综合a∨猫咪| 色综合久久久久综合体桃花网| 欧美中文字幕亚洲一区二区va在线 | 欧洲精品视频在线观看| 欧美日韩免费一区二区三区视频| 日韩欧美一区在线| 日本一区二区三区视频视频| 亚洲婷婷国产精品电影人久久| 亚洲午夜久久久久久久久电影网| 日本欧美加勒比视频| 国产成人在线视频网站| 在线免费精品视频| 26uuuu精品一区二区| 18成人在线观看| 日本欧美肥老太交大片| 成人黄色777网| 欧美区一区二区三区| 国产精品天美传媒| 婷婷夜色潮精品综合在线| 国产激情精品久久久第一区二区| 91色视频在线| 久久在线免费观看| 天天色天天操综合| 成人av电影观看| 日韩精品一区二区三区在线| 最近日韩中文字幕| 国产在线精品一区二区| 欧美视频自拍偷拍| 国产精品色噜噜| 美女视频黄久久| 欧美三级一区二区| 国产精品久久久久9999吃药| 美女视频一区在线观看| 日本久久一区二区| 国产精品三级久久久久三级| 美美哒免费高清在线观看视频一区二区 | 日韩一区二区在线看| 亚洲色图色小说| 国产高清不卡一区二区| 91精品国产入口| 亚洲第一狼人社区| 色综合天天天天做夜夜夜夜做| 久久久三级国产网站| 男女男精品视频| 欧美视频在线一区二区三区| 最新国产の精品合集bt伙计| 国产精品一级黄| 精品1区2区在线观看| 奇米色一区二区| 欧美日韩一区在线观看| 亚洲精品自拍动漫在线| youjizz久久| 中文字幕在线一区免费| 国产高清成人在线| 欧美激情一区三区| 国产丶欧美丶日本不卡视频| www国产成人| 激情亚洲综合在线| 精品国产免费视频| 国产一区二区看久久| 欧美精品一区在线观看|