WEB开发网
开发学院软件开发VC 将Lua嵌入到自己的程序中 阅读

将Lua嵌入到自己的程序中

 2009-02-05 20:00:45 来源:WEB开发网   
核心提示:本文示例源代码或素材下载 原文:http://www.codeproject.com/KB/cpp/lua.aspx介绍本文介绍将Lua嵌入到自己程序中的方法, 什么是LuaLua是具有简单数据描述的扩展编程语言(动态解析语言),将Lua嵌入到自己的程序中,它提供了非常好的面向对象编程, 函数式编程(funct

本文示例源代码或素材下载

原文:http://www.codeproject.com/KB/cpp/lua.aspx

介绍

本文介绍将Lua嵌入到自己程序中的方法。

将Lua嵌入到自己的程序中

什么是Lua

Lua是具有简单数据描述的扩展编程语言(动态解析语言)。它提供了非常好的面向对象编程, 函数式编程(functional programming),数据驱动式编程(data-driven programming), 它可以作为一个强大、轻量的脚本语言,供任何需要的程序使用。 Lua 以一个用 clean C 写成的库形式提供。(所谓 Clean C ,指的 ANSI C 和 C++ 中共通的一个子集)

Lua例子(FOR 循环)

for i=1,10 do
  -- the first program in every language
  io.write("Hello world, from ",_VERSION,"!n")
end

详细描述可以参考Lua网站http://www.lua.org/about.html

背景

本例子是WTL程序(简单的HTML帮助系统),结合Lua脚本作为参数和内容的定制。

定义的Lua函数如下:

-- # MessageBox
--------------------------------------------------------
-- int MessageBox(
-- string msg, |= Message to display
-- string capition |= Capition of Box
-- );
-- Return Value:
-- if 1 the user click in OK or user close the box
-- # ShowContentPainel
-----------------------------------------------------------------
-- void ShowContentPainel(
-- bool bShow |= If true, the painel start opened, if false not.
-- );
-- # SetWindowStartSize
-----------------------------------------------------------------
-- void SetWindowStartSize(
-- number w, |= Start W size of window
-- number h, |= Start H size of window
-- );
-- Remarks:
-- if this function is not called, the default size is 800 x 600
-- # SetMinWindowSize
-----------------------------------------------------------------
-- void SetMinWindowSize(
-- number w, |= Minimum W size of window
-- number h, |= Minimum H size of window
-- );
-- # SetTitle
-----------------------------------------------------------------
-- void SetTitle(
-- string title |= Text that be title of window.
-- );
-- # Navigate
-----------------------------------------------------------------
-- void Navigate(
-- string url |= Url
-- );
-- # InsertItemInPainel
-----------------------------------------------------------------
-- void InsertItemInPainel(
-- string title, |= Text displayed in tree
-- string url, |= Url
-- number icon, |= Icon of item, the possible values
              ---are: 0 = BOOK, 1 = FILE, 2 = NETFILE
-- number id, |= Id of item, this has to be unique and start in 1
-- number idp |= Parent item, this is a ID of a item that is
                ---the parent or '0' for root item.
-- );
-- sample:
-- ICON BOOK / ID 1 / In ROOT
-- InsertItemInPainel("Trinity Systems",
      "http://www.novaamerica.net/trinitysystems/", 0, 1, 0);
-- ICON NETFILE / ID 2 / In ID1 (Trinity Systems)
-- InsertItemInPainel("Orion",
    "http://www.novaamerica.net/trinitysystems/Orion", 2, 2, 1);
-- # ExpandItemInPainel
------------------------------------------------------------------
-- void ExpandItemInPainel(
-- string id |= Id of item
-- );
-- Remarks:
-- This function need to be called after InsertItemInPainel's

现在我将展示如何使用Lua/C++创建这些函数。

1 2  下一页

Tags:Lua 嵌入 自己

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接