分类
图形图像源码

wke 易语言WebUI原创简单登录界面源码

wke 易语言WebUI原创简单登录界面源码

wke 易语言WebUI原创简单登录界面源码.jpg

分类
数据库类源码

易语言全自动安装mysql odbc 3.51驱动例子

通过msi的  静默安装  安装方式,  自己就可以做自动安装驱动的子程序了

相信很多用adodb数据库的朋友,  很多都为此烦恼过吧.      毕竟windows不自带myodbc驱动.

做好的程序  还要单独安装一个驱动.   自用之类的就不用说了,   如果客户是小白,  就把问题指向你的软件问题

我之前是一直用libmysql,  想转用adodb.  就因为这个问题.  不敢用.

只要集成了,  就不用那么麻烦了.   绿色安全,   即下即用

分类
易语言模块源码

剑齿虎的模块 v2.65

# 介绍

这个模块是最初入坑数据库类软件时, 因为老是需要调用许多模块很麻烦  所以整理的自用模块.   

多数东西是在开源模块中拷贝过来使用的.   结合一些自己封装的方便类/命令.  一直是修修补补的



每开发一个项目我基本都会对这个模块进行更新,  虽然也有很多未发现的bug.   但帮助我做了不少项目. 也算是个经验丰富的老司机了



##为什么很多命令/类是英文名称?

因为在php以及其他编程语言中变换,  所以养成了"能英文的英文, 不能英文的拼音, 拼音难听的中文"   为的是统一自己对几个编程语言的规范吧



# 功能/类

- Connection *adodb连接件*
- Recordset *adodb记录集*
- Recordset_ *adodb记录集_离线版*
- DbModel *自用封装的数据库操作模型, 模仿ThinkPHP的 数据模型*
- Regexp *正则*
- FileSystemObject *com文件系统对象*
- Window *窗口操作(废)*
- Drag *拖放对象*
- MemLibrary *内存动态链接库*
- Xml *精易模块的XML类*
- 组合框扩展
- ScriptControl *脚本控制对象*
- KeysGainModel *按键hook*
- LogModel *日志类*
- 以及其他很多方便本人使用的子程序...
分类
易语言例程

易语言批量sql解析为数组, SQL终结符解析

前段时间在写一个服务端程序的时候,  需要用到mysql.

客户端连接服务端执行sql分好几种情况, { 查询SQL, 执行SQL, 执行SQL事务, 批量执行支持, 查询执行混合 } …

其中的"批量执行"就有点让我头疼, 玩过sql的都知道, 批量执行一般以";" 终结符算一条sql语句, 以此分割.

难点就是把批量的sql语句, 分割为单条, 一个一个的执行.    估计有的易友可能想到了"分割文本, 发送文本数组"

首先"发送文本数组", 我不喜欢,  有时候显得麻烦.

其次"分割文本", 你可能会遇到这样以下这样的情况, 也就是sql字符串中出现了";", 你能怎么办? 你也很绝望对吧?

复制代码

[font=微软雅黑]INSERT INTO `User`(name) values('剑''齿;虎');  SELECT LAST_INSERT_ID();[/font]

以上问题还有, 字符串中包含单引号就需要用两个单引号表示….

实在不想屈服于前面两种蛋疼的方式,  试着自己封装子程序解析, 忽略字符串什么的.   有时候脑子是个好东西,  可惜我好像没有似的…   感觉设计起来还挺复杂麻烦的,  我没学过什么脚本设计,  编译设计的.

于是前段时间论坛有几个帖子被顶起来了,  一个叫"无间酱"的大佬制作了好几个练手的脚本语言设计,   

我灵机一动…  脚本也会遇到这样的问题,   就把源码中的解析终结符部分给抠出来了…  总算说到重点了.

刚开始还不能直接用,   改了改还算可以了.   

示例

复制代码

INSERT INTO User (name,pwd) values('剑齿虎;哇', 'aabb');–注释A:插入语句–

SELECT * FROM User; /*注释B:查询*/

UPDATE User SET pwd='ac''c' WHERE uid=1

结果:

数组:3{

    “INSERT INTO User (name,pwd) values('剑齿虎;哇', 'aabb');”,

    “–注释A:插入语句– SELECT * FROM User;”,

    “/*注释B:查询*/ UPDATE User SET pwd='ac''c' WHERE uid=1”

}

分类
网络相关源码

与"XX管理系统"配套的在线更新程序开源

易语言编写的装饰管理系统开源-数据库类源码-三叶资源网 http://www.sanye.cx/?id=13191

介绍

我之前有封装过一个比较完善的在线更新程序.   但是需要带上"迅雷SDK"就显得有点大了

在泡论坛时找到了一个Wininet下载模块,  觉得不错就拿来做一个在线更新程序与"XX装饰管理系统"配套使用

引入模块

剑齿虎de模块 v2.65

Wininet (并没有源码)

文件

\update.exe 在线更新程序

\update.ini 本地更新配置文件

\update.xml 网络更新配置文件

\lib\ 因为我的易语言被改造过,  普通编译的支持库会掉落到lib目录中.  所以保留

update.ini

[更新配置]

当前版本=1.0.1

稍微有点常识的人都可以看出来.这是一个配置文件.

保存了这个软件的"当前版本"号,  如果她被更改.  导致与"网络更新配置文件"中的Info\Version值不匹配. 就会触发更新

update.xml

<?xml version="1.0"?>

<Info>

<SoftName>XX装饰信息平台</SoftName>

<ShortName>Zhuang Shi</ShortName>

<MainExe>Client.exe</MainExe>

<Version>1.0.1</Version>

<Log><![CDATA[更新了很多东西!]]></Log>

<DownloadUrl>http://127.0.0.1/update/1.0.1.zip</DownloadUrl>

</Info>

这个是网络配置文件   update.exe 会访问这个文件获取信息与本地比较.

说明

Info\SoftName 软件名称/标题

Info\ShortName 软件英文名称

Info\MainExe 更新后启动的程序 (主程序)

Info\Version 当前最新版本号 

Info\Log 更新内容说明

Info\DownloadUrl zip更新包下载地址

如何配置环境

编辑好"update.xml"并上传到你的网站

Shift + 鼠标右键  "在此处打开命令窗口"

键入命令"update.exe http://www.edk24.com/update.xml test"   后面的网址是你的 update.xml文件网址

test是无意义的,   只是需要两个参数

分类
数据库类源码

易语言SQL拼装1.1 链式编程, 拼装SQL方法

在用Think.PHP的时候, 发现它的数据库操作非常简单. 直接类似这样的写法就可以了.

于是决定用易语言模仿一个, 这个版本只支持 "生成拼装SQL", 下次准备结合ad0o对象. 允许直接操作数据库

制作这么一个东西的初衷是为了 "更快更高效的开发程序", 我们往往在SQL上耽搁了太多时间. 并不是它难. 而是难以维护 难以修改.

[子文本替换拼装], [字符串拼装]…. 这些都用过. 一旦比较长的sql 改懂就比较麻烦

这个类喜欢你能喜欢. 

——————————————————

这个模块是用之前我写的简单键值对, 是用 数组+自定义数据类型 弄的. 可以替换掉 其实我早就想换了.

相对以前的版本

[增加] Coun t() 

[增加] To p()

[修复] pag e() 分页出现负数

[更新] 抛弃用"类自身" 克0隆, 怕有什么问题.  改用特定方法设置内容

[更新] 简单键值对

2016-12-30:

连夜更新了模块,  已经可以绑定ado对象.   直接操作数据库.  

实现几乎完全一样的操作, 除不是若类型语言, 对数据类型的苛刻要求.  无法直接返回数据.   其他基本上差不多了

这个版本暂时不开源, 想体验的朋友可以加群  178569305

2016-12-30:

[废除] 简单键值对, 改 "自定义数据类型->数组"

[废除] 生成组装SQL

[革命] 增加 "绑定adodb连接件对象", "绑定adodb记录集对象"

[革命] 增加 "调试模式"  用于快速定位错误

[增加] 增加 读写模式,  "插入", "更新", "读取" 用重复的代码, 改下读写模式就OK~

[革命] 改 "SqlModel" 为 "DbModel"

[废除] val_Single  小数型 (可以直接用Val_double 双精度替代)

[废除] val_All 自定义内容,  可以用在  DbModel->data("字段名", "我是内容")  参数2 替代

[增加] RecordCount (取记录数),  FieldCount (取字段数)

分类
易语言例程

易语言字节集数组, 存取字节集/传参数/方便网络传输/DLL交换

写cs程序最讨厌的就是,  分割字节集/   于是希望把字节集数组保存和还原.  用于网络传输.   效果不错.

感谢 小路, kyozy的帮助/     

字节集内存结构: { 成员数量+0, 成员1长度+4, 成员2长度+8, 完整字节集+12 }

02:35  更新一下, 解决数组成员数据为空导致崩溃

分类
图形图像源码

wke例程 易语言拖拽移动更改尺寸透明阴影界面源码

阴影是通过wke GDI透明渲染模式 + 制作一个png透明阴影图片 + border-image样式做的 

 更改窗口尺寸, 就是对元素被鼠标左键按下后做处理, 发送消息 拖拽窗口这个之前已经实现了, 这是最基本的. 不然还怎么愉快的玩wke

wke例程 易语言拖拽移动更改尺寸透明阴影界面源码.png

分类
数据库类源码

让你的HpSocket Pull支持同步(应答式)操作

什么是HPSocket

HP-Socket 是一套通用的高性能 TCP/UDP 通信框架,包含服务端组件、客户端组件和Agent组件,广泛适用于各种不同应用场景的 TCP/UDP 通信系统,提供 C/C++、C#、Delphi、E(易语言)、Java、Python 等编程语言接口。HP-Socket 对通信层实现完全封装,应用程序不必关注通信层的任何细节;HP-Socket 提供基于事件通知模型的 API 接口,能非常简单高效地整合到新旧应用程序中[1]  。

为了让使用者能方便快速地学习和使用 HP-Socket ,迅速掌握框架的设计思想和使用方法,特此精心制作了大量 Demo 示例(如:PUSH 模型示例、PULL 模型示例、性能测试示例以及其它编程语言示例)。HP-Socket 目前运行在 Windows 平台,将来会实现跨平台支持。

— 百度百科

什么是异步, 什么是同步

"HPsocket所有组件都是异步的"  我记得我开始学习HP的时候看见这行字我内心是崩溃的.

我觉得一些聊天室/游戏什么的才用异步,  那么我专门写一些网关中间件什么的.   常用的是"应答式(同步)".  即: 发送<—>响应.  类似http请求, 但不会断开客户端

异步: 专门绑定一个事件, 收到的所有数据都投送给事件处理.    适合聊天室/游戏等等

同步: 发送后等待响应, 获取响应数据后继续向下执行.   不需要绑定事件什么的.  类似post, 不会断开连接就是了

为什么做这个玩意

记得是去年开始学习hp的,   当时在群"怪物乐园"询问如何实现同步.   与某(忘记了)个管理发生了py交易.   他热心的帮助我写了一个"PACK模型"的同步操作例子.

之后应用在一个项目中并不理想,  因为PACK模型是整个包发送,  有大小限制,  还经常出现问题.   

今年一个项目想用HP的PULL模型,  所以自己分析那个大神给的例子.    终于魔改封装出了一个"PULL模型"的同步操作类.

之前有易友希望我开源,  其实我早就想开源了的,  因为需要从项目中分离出来太麻烦了, 而且工作忙(上班),  所以就拖到了今天

分类
数据库类源码

易语言超级列表框绑定组件 (拟表格)

近期因为要使用这类东西, 找到硬盘里以前某论坛大佬开源的 "超级列表框拟表格", 

因为程序集要写很多业务代码, 怕以后阅读起来麻烦并且避免重复造轮子, 于是做了二次修改封装成了类,  程序集写少量事件处理代码即可

可以照例子加入其他组件,  日期框/日历/颜色 等等…

易语言超级列表框绑定组件 (拟表格)