给大家分享使用Lae软件开发工具开发小应用程序的过程,希望大家喜欢!
界面部分我们用lae软件开发工具实现,无需写代码,业务逻辑部分使用Lae软件开发平台自带的LuaIDE编辑器,使用100行lua代码完成简单目录浏览器的制作。
lae软件下载地址:
https://github.com/ouloba/laetool.git
lae软件下载地址(国内):https://pan.baidu.com/s/1ckMy0Q
相关视频:
http://www.tudou.com/listplay/aly7NDWz_sQ/AaqZ81jIt-k.html
教程:
关于lae工具问题单独介绍!
--lua代码
lua编辑器 csdn下载
github下载地址,csdn没有更新版本功能,这里改为git,可实时获得最新的版本下载地址:
--目录浏览器下载地址
https://github.com/ouloba/folder-explorer.git
--辅助接口
LXZDoFile("LXZHelper.lua");
LXZDoFile("serial.lua");
--每帧调用,root窗口status中IsActive设置为true,即可触发OnUpdate事件。local function OnUpdate(window, msg, sender)
UpdateWindow();end
--更新目录子目录或者文件列表local function UpdateDirectry(dir)
local root = HelperGetRoot();
--set current dir.
lfs.chdir(dir);
HelperSetWindowText(root:GetLXZWindow("directry"), dir);
--
local items = root:GetLXZWindow("folders:area:items"); --目录文件容器
local item = root:GetLXZWindow("folders:item"); --目录文件项
local path = lfs.currentdir();
--清除容器中内容
items:ClearChilds();
--遍历该目录下的子目录文件
local cnt = 0;
for file in lfs.dir(lfs.currentdir()) do
local wnd = item:Clone(); --克隆一个目录文件项"folders:item"
wnd:Show(); --显示
HelperSetWindowText(wnd:GetChild("text"), file); --设置目录或者文件名
items:AddChild(wnd); --加入items容器中
local f = path.."\\"..file;
local attr = lfs.attributes(f);
if attr and attr.mode=="directory" then
wnd:GetChild("icon"):SetState(0); --通过0状态设置目录图标
else
wnd:GetChild("icon"):SetState(1);--通过1状态设置文件名图标
end
cnt=cnt+1;
end
--如果无法访问该目录,则添加"."与".."
if cnt==0 then
local wnd = item:Clone();
wnd:Show();
HelperSetWindowText(wnd:GetChild("text"), ".");
items:AddChild(wnd);
local wnd = item:Clone();
wnd:Show();
HelperSetWindowText(wnd:GetChild("text"), "..");
items:AddChild(wnd);
end
--垂直滚动条适应内容大小。
local msg = CLXZMessage:new_local();
local wnd = root:GetLXZWindow("folders:vertical slider");
wnd:ProcMessage("OnReset", msg, wnd);
end
--点击目录或者文件项local function OnClickItem(window, msg, sender)
local file=HelperGetWindowText(sender:GetChild("text"));
local path = lfs.currentdir();
local f = path.."\\"..file;
local attr,err = lfs.attributes (f)
if attr== nil then
LXZMessageBox("error:"..err);
return;
end
-- LXZMessageBox("type(attr)"..type(attr).."f:"..f)
assert (type(attr) == "table");
if attr.mode == "directory" then --如果是目录
UpdateDirectry(f);
end
end
--ui加载时触发该事件local function OnLoad(window, msg, sender)
local root = HelperGetRoot();
--set default.
local default_dir = "c:\\";
HelperSetWindowText(root:GetLXZWindow("directry"), default_dir);
--set folder list.
UpdateDirectry(default_dir);end
--事件与接口绑定local event_callback = {}
event_callback ["OnUpdate"] = OnUpdate;
event_callback ["OnLoad"] = OnLoad;
event_callback ["OnClickItem"] = OnClickItem;
--事件分发器function main_dispacher(window, cmd, msg, sender)--- LXZAPI_OutputDebugStr("cmd 1:"..cmd);
if(event_callback[cmd] ~= nil) then-- LXZAPI_OutputDebugStr("cmd 2:"..cmd);
event_callback[cmd](window, msg, sender);
endend
增加权限、创建时间、修改时间等
--增加lua代码
if attr then
HelperSetWindowText(wnd:GetChild("access time"), os.date("%c", attr.access) );
HelperSetWindowText(wnd:GetChild("modify time"), os.date("%c", attr.modification));
HelperSetWindowText(wnd:GetChild("change time"), os.date("%c", attr.change));
HelperSetWindowText(wnd:GetChild("permissions"), attr.permissions);
end
--界面修改如下
--增加浏览图片的功能
--修改lua代码,增加事件
--获取扩展名 function getextension(filename)
return filename:match(".+%.(%w+)$") end
--鼠标进入local function OnMouseEnterItem(window, msg, sender)
local file=HelperGetWindowText(sender:GetChild("text"));
local path = lfs.currentdir();
local f = path.."\\"..file;
local attr,err = lfs.attributes (f)
if attr== nil then
LXZMessageBox("error:"..err);
return;
end
local root = HelperGetRoot();
assert (type(attr) == "table");
local ext = getextension(file);
LXZAPI_OutputDebugStr("OnMouseEnterItem:"..f.." mode:"..attr.mode);
if attr.mode == "file" and (ext=="png" or ext=="PNG") then --如果是图片文件
LXZAPI_OutputDebugStr("OnMouseEnterItem:"..f.." ext:"..ext.." mode:"..attr.mode);
local wnd = root:GetLXZWindow ("folders:show picture");
HelperSetWindowPictureFile(wnd,f);
wnd:Show();
HelperCoroutine(function(thread)
AddWndUpdateFunc(wnd, EffectFaceOut, {from=255, End=200,step=3, old=255, hide=true}, thread);
coroutine.yield();
local texture = ILXZTexture:GetTexture(f);
if texture then
texture:RemoveTexture();
end
end);
endend
表现如下
相关推荐
【浏览器的制作】这篇文章主要介绍了如何使用VC++6.0快速构建一个简易的浏览器,整个过程只需要很短的时间。浏览器通常是由复杂的代码和组件组成的,但通过利用面向对象的开发工具,尤其是MFC(Microsoft Foundation...
这是一个简单实用的浏览器程序实现例子!上传错啦!打不开不要下啊!对不起啦
Android 简易 web 浏览器制作及代码解析 Android 简易 web 浏览器的制作可以分为三个主要界面:首页界面、主浏览界面和浏览历史界面。每个界面都有其对应的布局文件,分别是 frontpage.xml、activity_main.xml 和 ...
标题中的“VB制作的浏览器,功能强大代码简单”意味着我们讨论的是使用Visual Basic(VB)编程语言开发的一个自定义浏览器项目。VB是一种流行的、基于事件驱动的编程环境,由Microsoft开发,适合创建Windows应用程序...
Python制作简易浏览器是一个有趣的项目,它展示了Python在创建桌面应用程序方面的潜力。这个压缩包中包含了一个用Python编写的简单浏览器程序,可能是一个基于GUI(图形用户界面)的Web浏览工具。下面将详细介绍这个...
**代码实现** 1. **初始化树形视图**: ```csharp private void InitializeTreeView() { string rootPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); TreeNode root = new ...
而对有经验的开发者来说,这可能是一个快速实现简单内嵌浏览器的起点,可以在此基础上添加更多高级特性,如书签、历史记录、前进/后退按钮等功能。 总之,这个"webBrowser浏览器的制作源代码"是一个学习和研究...
本篇将深入探讨如何利用VC++ MFC实现一个简易的FTP(File Transfer Protocol)浏览器,以及该源代码中涉及的关键技术点。 FTP是一种标准的网络协议,用于在计算机之间进行文件传输。在VC++ MFC中实现FTP浏览器,...
综上所述,制作图片浏览器不仅仅是编写代码显示图片那么简单,还需要综合运用图像处理、用户界面设计、文件系统操作、多线程编程、性能优化等多方面的知识。只有充分理解和掌握这些技术,才能构建出高效、易用且功能...
总结,VB制作的简单浏览器主要依赖WebBrowser控件,结合VB的事件驱动编程模型,可以实现基本的网页浏览功能。通过深入学习和理解这些知识点,开发者可以进一步扩展功能,如下载管理、书签同步,甚至实现插件支持,...
**基于MFC简易浏览器制作详解** MFC(Microsoft Foundation Classes)是微软提供的一套C++类库,用于简化Windows应用程序的开发。它封装了Windows API,使得开发者可以通过面向对象的方式来编写Windows程序。本报告...
QT是一个强大的跨平台应用程序开发框架,它允许开发者使用...以上就是制作一个简易浏览器所需的核心QT知识点。通过这个项目,你可以深入理解QT的网络编程、用户界面设计以及事件处理等方面,进一步提升你的QT开发技能。
这个VS2008项目很可能是教你如何从零开始构建一个简单的浏览器,让我们深入探讨一下其中涉及的关键知识点。 1. **基础架构**:浏览器的核心是其引擎,负责解析HTML、CSS和JavaScript。在C#中,我们可以使用.NET框架...
【标题】:基于Java制作简单浏览器的实现原理与关键技术 【描述】:本文将深入探讨如何使用Java编程语言开发一个基础的Web浏览器。这个浏览器能够接收用户在地址栏输入的正确URL,并加载显示对应的网页内容。我们将...
在本项目中,"vc制作文件浏览器visual c++源代码" 是一个使用Microsoft Visual C++开发的简单应用程序,它提供了一个界面,用户可以浏览和操作本地文件系统。这个程序的核心功能可能包括列出目录内容,打开、复制、...
简易浏览器实现(myweb) (二)实验准备: 1、安装Microsoft Visual C++ 6.0在电脑上; 2、掌握MFC编程的基础知识; (三)实验目的: 1、使用ChtmlView类可以实现一个应用程序,使之具有Web浏览器的功能,包括...
而“Python制作简易浏览器”可能是一个包含源代码的Python文件,展示了一个简单的浏览器实现示例。 学习如何用Python制作简易浏览器有助于理解网络请求的工作原理、GUI编程以及如何将两者结合在一起。通过这个项目...
通过本文的学习,我们了解到如何使用简单的CSS代码来隐藏浏览器的滚动条,同时也讨论了不同浏览器之间的兼容性问题。虽然这种方法可以满足大部分情况下的需求,但在实际应用时还需要考虑到用户体验以及浏览器兼容性...
3. 使用CHtmlView制作浏览器的步骤: - 创建一个新的MFC应用程序项目。 - 在资源视图中添加一个新的对话框,并在对话框上放置一个CHtmlView控件。 - 将对话框类派生自CDialogEx,并在头文件中包含CHtmlView的...
【VB图像浏览器】是一种基于Visual Basic(VB)编程语言开发的简单应用程序,它允许用户浏览和查看图片文件。VB作为Microsoft公司推出的事件驱动型编程工具,以其易学易用的特性,非常适合初学者进行图形用户界面...