div弹出框定位问题,超级难!

kokyulei 2008-09-27 03:30:01
项目中一个gridview,点击一行弹出一个div层,把该条的信息都显示在层中,然后点击保存,更新gridview。
现在我遇到了一个问题,就是点击一行时,div层就在该层下显示。问题就出来了,我根本不能定位到这个div的top和left。因为我没有办法取得我点击行的top和left值。在winform里面好做,可是asp.net就不知道了。
1
虽然也可以用这个 this.popUp.Style["top"]设置,但是取不到点击行的Style["top"],没有设置的情况下为null。
2
我找到了onfocus="popShow(this);"这个客户端事件。
document.getElementById('popUp').style.top =e.getBoundingClientRect().top + 20 + document.body.scrollTop;//ttop + h;
document.getElementById('popUp').style.left=e.getBoundingClientRect().left + 20 + document.body.scrollLeft;//tleft + w - moneyMsg.clientWidth;
这个可以取道top和left。但是我还要触发服务器端事件,把数据绑定到div层中显示信息,这样一来div层又回初始位置了。

现在头疼啊,我都找了一天了,请高手赐教啊!分不是问题,不够我补!
...全文
1685 34 打赏 收藏 转发到动态 举报
写回复
用AI写文章
34 条回复
切换为时间正序
请发表友善的回复…
发表回复
ltone 2010-10-08
  • 打赏
  • 举报
回复
详细说下解决办法!!
sxiaohui8709253 2010-08-20
  • 打赏
  • 举报
回复
弹出用JS来定位,数据用AJAX读 编辑完的数据 可以放在hidden里存储
yuji821 2010-03-26
  • 打赏
  • 举报
回复
你详细的说说你是怎么解决的,我也需要呢
wuyongbiao 2009-08-07
  • 打赏
  • 举报
回复
学习看看
kokyulei 2008-10-07
  • 打赏
  • 举报
回复
问题解决了。我用onfocus客户端事件先定位,把点击的位置记录在两个hidden里面,然后执行客户端的事件,因为用到了ajax执行完后在用ScriptManager.RegisterStartupScript执行客户端事件,重新定位,虽然有点麻烦。不过功能是可以完成了。谢谢大家了,谢谢小米
kokyulei 2008-10-06
  • 打赏
  • 举报
回复

这是我在codeproject找到的,但是只有dll,没有说明怎么实现的。我现在做的功能跟他一样,就是我的是datalist,他用的是gridview。请高手们看看div根据点击的行跟随显示这个功能怎么完成,当然还要触发要是在服务器事件。
kokyulei 2008-10-06
  • 打赏
  • 举报
回复
现在谢谢各位,我也知道position:absolute; left:0px; top:5px; z-index:99这些。现在我的问题是怎么能根据我点击的按钮的位置弹出div层。简单的说div不能跟随我点击的按钮来显示。只能固定一个位置显示。你们有什么好的办法吗?
zonghengchb 2008-10-06
  • 打赏
  • 举报
回复
小弟写的是那个效果你看看,但是为了抢分,没来得及写注释
ps:提示框里面的内容我没有做后台,那里用那个ajax很简单的
我只做出来前台的效果
前台代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="AboutTheDiv.aspx.cs" Inherits="pwdPackage_AboutTheDiv" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<style>
*{ margin-left:0px; margin-top:0px;}
</style>
<title>无标题页</title>
<script>
function openTheDiv(){
var rowNum = event.srcElement.parentElement.rowIndex+1;
var rowHight = 25;
hiddenDiv.style.display = "block";
hiddenDiv.style.left = "100px";
hiddenDiv.style.top = outDiv.style.top.split("px","")*1 +rowNum * rowHight*1+1*rowNum+"px";
//alert(event.srcElement.parentNode.clientY);
//alert(outDiv.style.top);
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div id="outDiv" style="top:0px;">
<asp:GridView ID="GridViewA" runat="server" BackColor="White"
BorderColor="#999999" BorderStyle="None" BorderWidth="1px" CellPadding="3"
AutoGenerateColumns="False" OnRowDataBound = "changBind" >
<FooterStyle BackColor="#CCCCCC" ForeColor="Black"/>
<RowStyle BackColor="#EEEEEE" ForeColor="Black"/>
<PagerStyle BackColor="#999999" ForeColor="Black" HorizontalAlign="Center" />
<SelectedRowStyle BackColor="#008A8C" Font-Bold="True" ForeColor="White" />
<HeaderStyle BackColor="#000084" Font-Bold="True" ForeColor="White" />
<AlternatingRowStyle BackColor="#DCDCDC" />
<Columns>
<asp:BoundField DataField="shopName" HeaderText="商店名称" />
<asp:BoundField DataField="shopAddress" HeaderText="商店位置" />
<asp:BoundField DataField="addTime" HeaderText="加盟时间" />
</Columns>
</asp:GridView>
</div>
<div id="hiddenDiv" style="top:30px; display:none; background-color:Silver; position:absolute;">
<table id="tabOne">
<tr><td>XXX:<asp:TextBox ID="tbName" runat="server"></asp:TextBox></td></tr>
<tr><td>XXX:<asp:TextBox ID="tbImg" runat="server" Height="22px"></asp:TextBox></td></tr>
<tr><td>XXX:<asp:TextBox ID="tbTime" runat="server"></asp:TextBox></td></tr>
</table>
</div>
</form>
</body>
</html>

后台代码:
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using COM.LXJ.Database;
public partial class pwdPackage_AboutTheDiv : System.Web.UI.Page
{
ConnDbForAcccess cdfa = new ConnDbForAcccess();
protected void Page_Load(object sender, EventArgs e)
{
doBind();
}
public void doBind()
{
string strSQL = "select * from shopInfo";
DataSet myds = cdfa.ReturnDataSet(strSQL);
GridViewA.DataSource = myds.Tables[0].DefaultView;
GridViewA.DataBind();
}
protected void changBind(object sender, GridViewRowEventArgs e)
{
for (int i = -1; i < GridViewA.Rows.Count; i++)
{
//首先判断是否是数据行
if (e.Row.RowType == DataControlRowType.DataRow)
{
//当鼠标停留时更改背景色
e.Row.Attributes.Add("onmouseover", "c=this.style.backgroundColor;this.style.backgroundColor='#00A9FF'");
//当鼠标移开时还原背景色
e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor=c");
//点击时候的问题
e.Row.Attributes.Add("onclick","openTheDiv()");
}
}
}
}

zero8500 2008-10-06
  • 打赏
  • 举报
回复
有难度

关注
zonghengchb 2008-10-06
  • 打赏
  • 举报
回复
event.clientY
event.clientX
你不是要点一下才出现哪个div么?
点的时候保存下你的鼠标位置不就可以实现么?
虽然没有人家的正规,但应该可以出来效果的
这个效果不错我也做下,做完咱俩交流下啊
qq:328200211
整天没有事干的小菜鸟
neilzaza 2008-10-06
  • 打赏
  • 举报
回复
我写了个例子 时间有限 简单了一点 不过应该对你有点帮助 能实现你的要求
前台:

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
<script type="text/javascript" src="../jquery/jquery.js"></script>
<script type="text/javascript">
$(function(){
$("#GridView1").find("tr").click(function(){
$("#div1").show();
$("#div1").css({ position: "absolute", background: "blue" });
$("#div1").css("left",$("#content").offset().left+$("#GridView1").width()/2-$("#div1").width()/2);//这里的弹出框我用的是GridView1正中
$("#div1").css("top",$("#content").offset().top+$("#GridView1").height()/2-$("#div1").height()/2);
$(this).find("td").each(function(i){
switch(i)
{
case 1:$("#table1").find("#tbName").val($(this).text());break;
case 2:$("#table1").find("#tbImg").val($(this).text());break;
case 3:$("#table1").find("#tbTime").val($(this).text());break;
}
});//遍历选中行cell中的text
});

})
</script>
</head>
<body>
<form id="form1" runat="server">
<div id="content">
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="id" DataSourceID="SqlDataSource1" OnRowDataBound="GridView1_RowDataBound">
<Columns>
<asp:BoundField DataField="id" HeaderText="id" InsertVisible="False" ReadOnly="True"
SortExpression="id" />
<asp:BoundField DataField="name" HeaderText="name" SortExpression="name" />
<asp:BoundField DataField="mapImage" HeaderText="mapImage" SortExpression="mapImage" />
<asp:BoundField DataField="createtime" HeaderText="createtime" SortExpression="createtime" />
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="Data Source=.;Initial Catalog=xxx;Integrated Security=True"
ProviderName="System.Data.SqlClient" SelectCommand="SELECT [id], [name], [mapImage], [createtime] FROM [panoImg]">
</asp:SqlDataSource>

<div id="div1" style="display:none">
<table id="table1">
<tr><td>XXX:<asp:TextBox ID="tbName" runat="server"></asp:TextBox></td></tr>
<tr><td>XXX:<asp:TextBox ID="tbImg" runat="server"></asp:TextBox></td></tr>
<tr><td>XXX:<asp:TextBox ID="tbTime" runat="server"></asp:TextBox></td></tr>
</table></div>
</div>
</form>

</body>
</html>


后台:

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
for (int i = -1; i < GridView1.Rows.Count; i++)
{
//首先判断是否是数据行
if (e.Row.RowType == DataControlRowType.DataRow)
{
//当鼠标停留时更改背景色
e.Row.Attributes.Add("onmouseover", "c=this.style.backgroundColor;this.style.backgroundColor='#00A9FF'");
//当鼠标移开时还原背景色
e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor=c");
}
}
}
weinaxxc 2008-10-06
  • 打赏
  • 举报
回复
你是说加载数据不好搞吗?

用AJAX异步加载
或者在GRID进行BOUND的时候直接传参到JS函数

string title1="姓名";
string title2="编号";
string title3="密码";
string title4="性别";
tr_link.Attributes.Add("onclick", "overlib('" + title1 + "','" + title2 + "','" + title3 + "','" + title4 + "')");

shawn_yang 2008-10-06
  • 打赏
  • 举报
回复
mark
cteddy 2008-10-06
  • 打赏
  • 举报
回复
你给RMB我给你一个一模一样的
GRIDVIEW
源代码 也可以给你
就是国外的一个重写了的GRIDVIEW组件而已
因为这个组件是收费的
kokyulei 2008-10-06
  • 打赏
  • 举报
回复
谢谢楼上的兄弟,在js中我知道该怎么做?可是我现在要先点击一行弹出div。这是本来就是调用了客户端事件,然后在调用服务器端时间的。现在我还要加载数据,这些事情都是在服务器端完成的。所以不好搞啊。我还没有想到好的方法。有兴趣研究的,请看看http://www.codeproject.com/KB/custom-controls/SDXGrid.aspx
weinaxxc 2008-10-06
  • 打赏
  • 举报
回复
这个是我以前改的一个DIV的提示框代码,就是在鼠标悬停的地方弹出DIV来描述信息,我觉得你改改应该可以搞的出来的!

//这里不用多说了,JS代码
<script language="JavaScript">
//----------------------写HTML代码----------------------
var changdi="<table style='margin:0 0 0 0;border:solid 1px #009933;background:#ffffff''><tr><td align='center' vlign='middle'><img src='../website/image/tips.jpg' width=50 height=50></td><td align='center' vlign='middle'><font color='green' size='6'>这里写你需要显示的东西,也重新写这个变量里面所有的HTML</font></td></tr></table>";
//------------------------------------------------------
var isIE = document.all?true:false;
function overlib(tipcontent)
{
customdiv = document.getElementById("overDiv");
customdiv2 = document.getElementById("overDiv2");


customdiv.innerHTML = tipcontent;
var tleft=document.body.scrollLeft+window.event.clientX;
var ttop=document.body.scrollTop+window.event.clientY;
if(document.body.clientWidth < 300)
{
customdiv.style.left = 2;
customdiv2.style.left = 2;

}
else if (tleft > document.body.clientWidth-200)
{
customdiv.style.left = tleft-175;
customdiv2.style.left = tleft-175;

}
else
{
customdiv.style.left = tleft + 10;
customdiv2.style.left = tleft + 10;

}
if(document.body.clientHeight < 100)
{
customdiv.style.top = 25;
customdiv2.style.top = 25;

}
else if(ttop > document.body.clientHeight -55)
{
customdiv.style.top = ttop - 55;
customdiv2.style.top = ttop - 55;

}
else
{
customdiv.style.top = ttop + 10;
customdiv2.style.top = ttop + 10;
}
customdiv2.style.width=customdiv.clientWidth;
customdiv2.style.height=customdiv.clientHeight;

customdiv.style.visibility = 'visible';
customdiv2.style.visibility = 'visible';


}
function nd()
{
customdiv = document.getElementById("overDiv");
customdiv2 = document.getElementById("overDiv2");
customdiv.style.width=0;
customdiv.style.height=0;
customdiv.style.visibility = 'hidden';
customdiv2.style.visibility = 'hidden';
}
function b(v)
{
window.status=v
};

</script>


//这里可以放在网页的任何地方,一个IFRAME,一个DIV,组合起来可以遮挡SELECT
<div id="overDiv" style="position:absolute; visibility:hidden;z-index:100;padding:0 0 0 0;background:#FDFEF9;text-align:left;font-size:12px;">
</div>
<iframe id="overDiv2" src="" scrolling="no" frameborder="no"style="position:absolute; visibility:hidden;z-index:99;filter: Alpha(style=0,opacity=0) "> </iframe>

//鼠标悬停调用
onMouseOver="return overlib(changdi)" onMouseOut="return nd();"
takako_mu 2008-10-06
  • 打赏
  • 举报
回复
臺……難了,LX速度解決!
yytt123622 2008-09-28
  • 打赏
  • 举报
回复
层的定位是靠position属性的!先把弹出层的position属性定义为“绝对定位”,然后在包含这个层的标签的position属性定位为“相对定位”,这样就可以控制住这个层在GridView的上面,然后通过定义弹出层的left和top等属性等位好,此时left代表你层的左边框距离包含这个层的标签的距离,top等属性也是如此
比如:
<table>
<tr>
<td style="height:20px; widht:100px; position:relative">
<div style="position:absolute; left:0px; top:5px; z-index:99;">这个就是能覆盖在你GridView上面的层,而且这个层不会因为你页面的伸缩而位置乱跑</div>
</td>
</tr>
</table>
多学学样式表就好了!
weinaxxc 2008-09-28
  • 打赏
  • 举报
回复
我提个建议,做增删改操作的时候,如果一定要做成LZ这样,最好先做一个z-index=99的div来屏蔽当前窗口,然后在这个DIV上摆一个居中的DIV来显示当前操作的数据,再提交!
kokyulei 2008-09-28
  • 打赏
  • 举报
回复
希望大家把我说的看清楚在说。
加载更多回复(14)
1.本书附源代码共计381个,其运行环境如下: IE 5或更高版本 Mozilla Firefox 1.5.0.3或更高版本 服务器采用IIS5.1 或以上版本 数据库使用MS Access 2000以上 2.本书所附光盘实例代码: 第1章(\第1章) 查看1.2.htm中noscript显示效果的方法如下: 1.将该实例复制到C:\Inetpub\wwwroot下; 2.选择浏览器的“工具”-“安全”-“本地Intranet”-“自定义级别”-“活动脚本”中选用“禁用”单选 3.在浏览器中输入下述地址:http://localhost/1.2.htm • 1.1.htm 多段代码相互调用 • 1.2.htm <script>与超级链接上的事件绑定 • 9.2.htm HTML 事件绑定 • 9.3.htm 非标准事件绑定 • 9.4.htm 简单的JavaScript事件绑定 • 9.5.htm 简单的JavaScript事件绑定 • 9.6.htm 事件处理器的作用域 • 9.7.htm 事件处理器的作用域之二 • 9.8.htm 事件处理器的返回值 • 9.9.htm 自动触发事件 • 9.9.htm 直接在表单上调用事件 • 9.11.htm attachEvent()方法 • 9.12.htm 事件流测试 • 9.13.htm DOM2 事件模型基本语法 • 9.14.htm DOM2 鼠标事件 • 9.15.htm 取消默认动作之一 • 9.16.htm 取消默认动作之二 • 9.17.htm 创建事件 第10章(\第10章) • 10.1.htm 鼠标事件处理 • 10.2.htm 页面预览 • 10.3.htm 图像切换 • 10.4.htm 接收键盘输入 • 10.5.htm 用鼠标点亮文本 • 10.6.htm 图片跟随鼠标 • 10.7.htm 文字跟随鼠标 • 10.8.htm 星星跟随鼠标 • 10.9.htm 鼠标感应 弹出警告 • 10.10.htm 鼠标感应 渐显图片 • 10.11.htm 禁用鼠标右键 第11章(\第11章) • 11.1.htm 省略window的alert()方法 • 11.2.htm 未省略window的alert()方法 • 11.3.htm 未省略window的document.write()方法 • 11.4.htm Document对象部分属性与方法的使用 • 11.5.htm HTML文档属性属性 • 11.6.htm 同时使用name和id • 11.7.htm 事件控制器的例子 • 11.8.htm JavaScript实现事件控制器 • 11.9.htm 元素属性综合应用 • 11.10.htm 动态修改表单元素内容 第12章(\第12章) • 12.1.htm Document树的简单例子 • 12.2.htm getElementById()方法 • 12.3.htm DOM结点属性 • 12.4.htm 文档树检测 • 12.5.htm 结点插入与追加 • 12.6.htm 结点复制 • 12.7.htm 结点删除与替换 • 12.8.htm 处理文本结点的方法 • 12.9.htm 处理属性的方法 • 12.10.htm HTMLElement对象 • 12.11.htm DOM遍历API • 12.12.htm DOM Range API • 12.13.htm 读取HTML元素内容 • 12.14.htm 修改HTML元素内容 • 12.15.htm innerText、outerText、outerHTML属性 • 12.16.htm document.all[] 第13章(\第13章) • 13.1.htm HTML对象模型 • 13.2.htm DHTML对象模型 • 13.3.htm DHTML对象模型方法显示和修改网页文字内容 • 13.4.htm DHTML对象模型方法新增和删除表格行内容 • 13.5.htm W3C对象模型方法显示和修改网页内容 • 13.6.htm W3C对象模型方法显示和修改表格内容 • 13.7.htm “相对位置”定位 • 13.8.htm “绝对位置”定位 • 13.9.htm z-index属性 • 13.10.htm z-index属性之二 • layerlib.js 跨浏览器DHTML库 • 13.12.htm 跨浏览器DHTML库的使用 第14章(\第14章) • 14.1.htm confirm()方法用作判断条件 • 14.2.htm alert()方法与confirm()方法的使用 • 14.3.htm prompt()方法的使用 • 14.4.htm window.open()方法 • 14.5.htm 用链接和按钮实现窗口打开 • 14.6.htm 窗口的打开和关闭 • 14.7.htm 安全关闭窗口 • 14.8.htm 窗口特征属性综合举例 • 14.9.htm 一个窗口写入的简单例子 • 14.10.htm 动态写入HTML代码 • 14.11.htm 窗口写入的应用示例 • 14.12.htm DOM窗口交互 • 14.13.htm 窗口方法测试 • 14.14.htm 用按钮载入页面 • 14.14.htm status属性 • 14.16.htm defaultStatus属性 • 14.17.htm 滚动的状态栏 • 14.18.htm 超时设定 • 14.19.htm onload事件 • 14.20.htm 模式窗口 • 14.21.htm 无模式窗口 • 14.22.htm 窗口应用举例 • 14.23.htm 全屏窗口 第15章(\第15章) 代码说明:本章部分代码使用了第10章、第19章几个文件,如果不能正常显示,则可能这些文件位置已改变。 • 15.1.htm 简单架 • frames.htm 网页架 • moreframes.htm 更多架 • moreframes.htm 架关联显示 • 15.5.htm 简单的架网页 • 15.6.htm 内联架 • 15.7.htm 简单的架嵌套 • 15.8.htm 架嵌套 • 15.9.htm 交叉架通信 • input.htm 交叉架通信的输入部分 • output.htm 交叉架通信的输出部分 • 15.12.htm 嵌套架交叉通信 • top.htm 嵌套架交叉通信的上部架 • bottom.htm 嵌套架交叉通信的底部架 • minput.htm 嵌套架交叉通信的输入部分 • moutput.htm 嵌套架交叉通信的输出部分 • stateframes.htm 状态架集 • stateframe.htm 状态架 • mainframe.htm 主架 • mainframe2.htm 主架之二 第16章(\第16章) • 16.1.htm 文档颜色属性应用 • 16.2.htm lastModified • 16.3.htm lastModified的返回值 • 16.4.htm document.location • 16.6.htm document.location的详细属性 • 16.6.htm 验证document.referrer • 16.7.htm 验证document.referrer • 16.8.htm document.write()与document.writeln() • 16.9.htm 字符串连接输出 • 16.10.htm document.close()和document.open() • 16.11.htm document.links[].href • 16.12.htm elements[] • 16.13.htm images[] • 16.14.htm document.getElementById() • 16.15.htm document.createElement() • 16.16.htm 设置表格属性 • 16.17.htm 显示表格属性 • 16.18.htm 操作表格元素 • 16.19.htm 插入和删除表元 • 16.20.htm 改变<div>的内容 • 16.21.htm 改变页面样式 • blue.css 16.21.htm用到的样式文件 • red.css 16.21.htm用到的样式文件 • green.css 16.21.htm用到的样式文件 第17章(\第17章) • 17.1.htm Form对象测试 • 17.2.htm 基本按钮 • 17.3.htm button按钮 • 17.4.htm 文本域 • 17.5.htm 文本区 • 17.6.htm 限制输入长度的文本区 • 17.7.htm 限制输入长度的文本区之二 • 17.8.htm 复选与单选按钮 • 17.9.htm 验证输入内容是否为空 • 17.10.htm 验证输入内容是否为空 • 17.11.htm 混合表单验证 • 17.12.htm 按键屏蔽 • 17.13.htm 屏蔽表单域 • 17.14.htm 动态表单 第18章(\第18章) • 18.1.htm 复选 • 18.2.htm 单选按钮 • 18.3.htm 复选与单选按钮的组合使用 • 18.4.htm 使用elements[]数组 • 18.5.htm 选择控件 • 18.6.htm 多项选择控件 • 18.7.htm 级联选择控件 第19章(\第19章) • 19.1.htm 友情链接 • 19.2.htm 需要确认的友情链接 • 19.3.htm 渐显效果的下拉菜单 • 19.4.htm 模拟系统菜单 • 19.5.htm 图片显示窗口 • 19.6.htm 远程控制菜单 • 19.7.htm 滑动菜单 • 19.8.htm 左键弹出式菜单 • 19.9.htm 浮动菜单 • 19.10.htm 导航式菜单 第20章(\第20章) • 20.1.htm 显示浏览器名称与版本号 • 20.2.htm 显示浏览器名称(改进章) • 20.3.htm JavaScript支持检测1 • 20.4.htm JavaScript支持检测2 • 20.5.htm JavaScript对象检测 • 20.6.htm Screen对象 • 20.7.htm 获取浏览器窗口大小 • 20.8.htm 字号随浏览器窗口大小而改变 • 20.9.htm 对代码20.8的改写 • 20.10.htm 在网页中有选择地显示图片 • 20.11.htm 客户端性能检测 • 20.12.htm 浏览器按键模拟 • 20.13.htm 修改Mozilla用户主页 • 20.14.htm 修改IE用户主页 第21章(\第21章) • 21.1.htm 编码与解码 • 21.2.htm Cookie值被覆盖 • 21.3.htm Cookie分析 • 21.4.htm 用Cookie保存定制样式 • 21.5.htm DHTML行为 第22章(\第22章) • 22.1.htm 通过单击按钮来改变图像 • 22.2.htm 随机显示不同图像 • 22.3.htm 结构化图形控件 • 22.4.htm 图像定位示例 • 22.5.htm 在IE中拖动图像 • 22.6.htm 按钮翻转示例 • 22.7.htm 跟随屏幕移动的图片 • 22.8.htm 多幅图片滚动显示 • 22.9.htm 图片的左右循环飘动 • 22.10.htm 图片的渐隐渐显 • 22.11.htm 不停闪烁的图片 • 22.12.htm 图片倒映 第23章(\第23章) • 23.1.htm 简单过渡 • layerlib.js JavaScript外部文件 • 23.3.htm 目标翻转 • 23.4.htm 运动图像 • 23.5.htm 随机图像 • 23.6.htm 动画效果 • 23.7.htm Sequencer控件 • 23.8.htm Path控件 • 23.9.htm 永远居中的背景图片 • 23.10.htm 随机显示的背景图片 • 23.11.htm 垂直滚动公告板 • 23.12.htm 类似Flash的字幕效果 • 23.13.htm 地震效果 第24章(\第24章) • MyApplet.txt 简单的Java Applet源程序 • 24.2.htm 在JavaScript中访问Java Applet • 24.3.htm 简单的Flash插件 • 24.4.htm mimeTypes[]数组 • 24.5.htm 使用mimeTypes[]检测支持的媒体类型 • 24.6.htm 使用navigator.plugins[][]列举所有Flash MIME类型 • 24.7.htm 列举plugins[]数组的内容 • 24.8.htm 简单的Flash播放控制器 • 24.9.htm ActiveX控件示例 • 24.10.htm 使代码兼容多种浏览器 • 24.11.htm Flash 播放控制器(ActiveX) 第25章(\第25章) • 25.1.htm 单向通信中的Image • 25.2.htm JavaScript向服务器发送RPC • 25.3.htm 动态内容 • 25.4.htm 中的单词拼写检查 • 25.5.htm 内联架 第26章(\第26章) 1.查看书中图26.9的效果的方法: 用记事本打开26.5.xml,找到第二行,内容如下: 将两端的去掉并保存该文档后,用IE打开,就可看到图26.9所示的效果。 2.查看书中图26.10的效果的方法: 用记事本打开26.5.xml,找到第3行,内容如下: 将两端的去掉并保存该文档后,用IE打开,就可看到图26.9所示的效果。 3.要查看书中图26.11的效果,须连接Internet。 • 26.1.xml XML文档的例子 • 26.2.xml 包含DTD及其实例的XML文档 • 26.3.xml 要转换的XML文档 • test.xsl 转换XML文档的模板文件 • 26.5.xml 更复杂的要转换的XML文档 • staff.xsl XSL样式表 • staff.css CSS样式表 • 26.8.xml 使用了MathML的XML文档 • 26.9.htm 显示XML文档根结点 • 26.10.htm 使用Jscript与DOM直接操作XML • 26.11.xml 使用Mozilla直接操作XML • 26.12.js 使用Mozilla直接操作XML用到的js文件 • 26.13.htm IE XML数据岛应用 • 26.14.htm IE XML数据岛 • 26.15.rss 简单的rss文件 • 26.16.htm 简单的rss阅读器 第28章(\第28章) • 28.1.htm 显示当前时间 • 28.2.htm 显示当前日期和星期 • 28.3.htm 显示日期、时间和星期 • 28.4.htm 分时段问候 • 28.5.htm 以数字图片来显示时间 • 28.6.htm 显示世界不同地区的当前时间 • 28.7.htm 总是悬浮的时钟 • 28.8.htm 简单的加减乘除运算 • 28.9.htm 能进行四则混合运算的计算器 • 28.10.htm 在表单中显示打字效果 • 28.11.htm 随页面刷新更换页面背景 • 28.12.htm 随页面刷新显示不同图片 第29章(\第29章) • 29.1.htm 汉诺塔问题求解 • 29.2.htm 位置固定的对联广告 • 29.3.htm 随页面滚动的对联广告 • 29.4.htm 循环滚动的多幅广告 • css.css 代码29.4用到的样式文件 • 29.6.htm 用JavaScript实现级联选择 • ajax_server.asp 使用ASP访问demo数据表 • ajax.htm 使用ajax实现级联选择 第30章(\第30章) 代码说明:本章实现了一个ASP留言板程序,程序需要在IIS环境下运行。 • index.asp 留言板主程序 • guestbook.mdb 留言板数据库程序 • images\ 留言板使用的图像文件目录
第1章(\第1章) 查看1.2.htm中noscript显示效果的方法如下: 1.将该实例复制到C:\Inetpub\wwwroot下; 2.选择浏览器的“工具”-“安全”-“本地Intranet”-“自定义级别”-“活动脚本”中选用“禁用”单选 3.在浏览器中输入下述地址:http://localhost/1.2.htm • 1.1.htm 多段代码相互调用 • 1.2.htm [removed]与 • 1.3.htm 调用外部JavaScript文件 • 1.3.js 1.3.htm使用的外部JavaScript文件 第2章(\第2章) • 2.1.htm Infinity应用 • 2.2.htm NaN与isNaN()的用法 • 2.3.htm Infinity值的用法 • 2.4.htm 转义字符的使用 • 2.5.htm 引号的转义使用 • 2.6.htm Bolean值的使用 • 2.7.htm undefinded和null的使用 • 2.8.htm 变量的优先级 • 2.9.htm 数值型数据 • 2.10.htm 数组数据类型 • 2.11.htm 字符串型转换为逻辑型数据 • 2.12.htm toLowerCase()方法 • 2.13.htm 通过字符串调用toLowerCase()方法 • 2.14.htm 使用值的数据操作 • 2.15.htm 对数据的引用执行 • 2.16.htm 字符串的比较 第3章(\第3章) • 3.1.htm 表达式示例 • 3.2.htm 加号运算符应用 • 3.3.htm 数值型数据与字符串连接 • 3.4.htm 数值型数据与字符串连接 • 3.5.htm 减号的取反功能 • 3.6.htm 对变量赋常量值 • 3.7.htm 对变量赋常量值 • 3.8.htm “==”与“=”的区别 • 3.9.htm 比较运算符的区别 • 3.10.htm “++”运算符后置应用 • 3.11.htm “++”运算符前置应用 • 3.12.htm 逗号表达式的连接应用 • 3.13.htm 逗号表达式的连接应用 • 3.14.htm typeof运算符的使用 • 3.15.htm new运算符的应用 • 3.16.htm delete运算符的应用 • 3.17.htm 用()改变运算优先级 • 3.18.htm 运算符结合性 第4章(\第4章) • 4.1.htm 条件语句内单行代码的写法 • 4.2.htm 变量赋初值 • 4.3.htm if…else举例 • 4.4.htm 用else进行更多选择 • 4.5.htm if语句的嵌套之一 • 4.6.htm if语句的嵌套之二 • 4.7.htm switch语句 • 4.8.htm while循环语句 • 4.9.htm do-while循环语句 • 4.10.htm for循环语句 • 4.11.htm for循环语句之二 • 4.12.htm continue语句 第5章(\第5章) • 5.1.htm 函数定义 • 5.2.htm 无返回值的函数 • 5.3.htm 有返回值的函数及其调用 • 5.4.htm 直接使用函数返回值 • 5.5.htm 直接使用函数返回值 • 5.6.htm 直接使用函数返回值 • 5.7.htm 参数变量可变的函数 • 5.8.htm 动态函数 • 5.9.htm encodeURI方法 • 5.10.htm decodeURI方法 • 5.11.htm decodeURI方法 • 5.12.htm decodeURI方法 • 5.13.htm isNaN方法 • 5.14.htm escape方法 • 5.15.htm unescape方法 第6章(\第6章) • 6.1.htm 对象创建与属性调用 • 6.4.htm this关键字的使用 • 6.5.htm 数组的length属性 • 6.6.htm 数组元素遍历 • 6.7.htm 数组元素遍历 • 6.8.htm 数组元素遍历之二 • 6.9.htm 用构造函数来创建数组 • 6.10.htm 用构造函数来创建数组之二 • 6.11.htm join方法 • 6.12.htm revrse方法 • 6.13.htm sort方法 • 6.14.htm alice方法 • 6.15.htm splice方法 • 6.16.htm Object对象 • 6.17.htm anchor方法 • 6.18.htm big方法 • 6.19.htm fontcolor方法 • 6.20.htm 字符串搜索 • 6.21.htm link方法 • 6.22.htm 字符串转换与匹配 • 6.23.htm Date对象的方法 • 6.24.htm toString方法 • 6.25.htm with语句 • 6.26.htm for…in语句调用对象属性 • 6.25.htm for…in语句调用属性值 第7章(\第7章) • 7.1.htm 字符串合并 • 7.2.htm 字符串合并 • 7.3.htm 字符串中使用转义字符 • 7.4.htm [removed]()与alert() • 7.5.htm unescape()函数的使用 • 7.6.htm escape()函数的使用 • 7.7.htm 进制转换 • 7.8.htm isNaN() • 7.9.htm 进制转换 • 7.10.htm 产生1~6间的随机数 • 7.11.htm Math对象的with结构 • 7.11.htm toExponential()方法和toFixed()方法 • 7.13.htm toPrecision()方法使用示例 • 7.14.htm toString()方法使用示例 第8章(\第8章) • 8.1.htm 创建正则表达式 • 8.2.htm 转义字符中的“” • 8.3.htm exec()方法应用 • 8.4.htm RegExp对象的使用 • 8.5.htm match方法的使用 • 8.6.htm search方法 • 8.7.htm replace方法的使用 • 8.8.htm split方法 • 8.9.htm 字符匹配 • 8.10.htm 圆点(.章)元字符 • 8.11.htm 行首匹配字符^ • 8.12.htm 行尾匹配字符$ • 8.13.htm 元字符\b • 8.14.htm replace方法的使用 第9章(\第9章) • 9.1.htm 超级链接上的事件绑定 • 9.2.htm HTML 事件绑定 • 9.3.htm 非标准事件绑定 • 9.4.htm 简单的JavaScript事件绑定 • 9.5.htm 简单的JavaScript事件绑定 • 9.6.htm 事件处理器的作用域 • 9.7.htm 事件处理器的作用域之二 • 9.8.htm 事件处理器的返回值 • 9.9.htm 自动触发事件 • 9.9.htm 直接在表单上调用事件 • 9.11.htm attachEvent()方法 • 9.12.htm 事件流测试 • 9.13.htm DOM2 事件模型基本语法 • 9.14.htm DOM2 鼠标事件 • 9.15.htm 取消默认动作之一 • 9.16.htm 取消默认动作之二 • 9.17.htm 创建事件 第10章(\第10章) • 10.1.htm 鼠标事件处理 • 10.2.htm 页面预览 • 10.3.htm 图像切换 • 10.4.htm 接收键盘输入 • 10.5.htm 用鼠标点亮文本 • 10.6.htm 图片跟随鼠标 • 10.7.htm 文字跟随鼠标 • 10.8.htm 星星跟随鼠标 • 10.9.htm 鼠标感应 弹出警告 • 10.10.htm 鼠标感应 渐显图片 • 10.11.htm 禁用鼠标右键 第11章(\第11章) • 11.1.htm 省略window的alert()方法 • 11.2.htm 未省略window的alert()方法 • 11.3.htm 未省略window的[removed]()方法 • 11.4.htm Document对象部分属性与方法的使用 • 11.5.htm HTML文档属性属性 • 11.6.htm 同时使用name和id • 11.7.htm 事件控制器的例子 • 11.8.htm JavaScript实现事件控制器 • 11.9.htm 元素属性综合应用 • 11.10.htm 动态修改表单元素内容 第12章(\第12章) • 12.1.htm Document树的简单例子 • 12.2.htm getElementById()方法 • 12.3.htm DOM结点属性 • 12.4.htm 文档树检测 • 12.5.htm 结点插入与追加 • 12.6.htm 结点复制 • 12.7.htm 结点删除与替换 • 12.8.htm 处理文本结点的方法 • 12.9.htm 处理属性的方法 • 12.10.htm HTMLElement对象 • 12.11.htm DOM遍历API • 12.12.htm DOM Range API • 12.13.htm 读取HTML元素内容 • 12.14.htm 修改HTML元素内容 • 12.15.htm innerText、outerText、outerHTML属性 • 12.16.htm document.all[] 第13章(\第13章) • 13.1.htm HTML对象模型 • 13.2.htm DHTML对象模型 • 13.3.htm DHTML对象模型方法显示和修改网页文字内容 • 13.4.htm DHTML对象模型方法新增和删除表格行内容 • 13.5.htm W3C对象模型方法显示和修改网页内容 • 13.6.htm W3C对象模型方法显示和修改表格内容 • 13.7.htm “相对位置”定位 • 13.8.htm “绝对位置”定位 • 13.9.htm z-index属性 • 13.10.htm z-index属性之二 • layerlib.js 跨浏览器DHTML库 • 13.12.htm 跨浏览器DHTML库的使用 第14章(\第14章) • 14.1.htm confirm()方法用作判断条件 • 14.2.htm alert()方法与confirm()方法的使用 • 14.3.htm prompt()方法的使用 • 14.4.htm window.open()方法 • 14.5.htm 用链接和按钮实现窗口打开 • 14.6.htm 窗口的打开和关闭 • 14.7.htm 安全关闭窗口 • 14.8.htm 窗口特征属性综合举例 • 14.9.htm 一个窗口写入的简单例子 • 14.10.htm 动态写入HTML代码 • 14.11.htm 窗口写入的应用示例 • 14.12.htm DOM窗口交互 • 14.13.htm 窗口方法测试 • 14.14.htm 用按钮载入页面 • 14.14.htm status属性 • 14.16.htm defaultStatus属性 • 14.17.htm 滚动的状态栏 • 14.18.htm 超时设定 • 14.19.htm onload事件 • 14.20.htm 模式窗口 • 14.21.htm 无模式窗口 • 14.22.htm 窗口应用举例 • 14.23.htm 全屏窗口 第15章(\第15章) 代码说明:本章部分代码使用了第10章、第19章几个文件,如果不能正常显示,则可能这些文件位置已改变。 • 15.1.htm 简单架 • frames.htm 网页架 • moreframes.htm 更多架 • moreframes.htm 架关联显示 • 15.5.htm 简单的架网页 • 15.6.htm 内联架 • 15.7.htm 简单的架嵌套 • 15.8.htm 架嵌套 • 15.9.htm 交叉架通信 • input.htm 交叉架通信的输入部分 • output.htm 交叉架通信的输出部分 • 15.12.htm 嵌套架交叉通信 • top.htm 嵌套架交叉通信的上部架 • bottom.htm 嵌套架交叉通信的底部架 • minput.htm 嵌套架交叉通信的输入部分 • moutput.htm 嵌套架交叉通信的输出部分 • stateframes.htm 状态架集 • stateframe.htm 状态架 • mainframe.htm 主架 • mainframe2.htm 主架之二 第16章(\第16章) • 16.1.htm 文档颜色属性应用 • 16.2.htm lastModified • 16.3.htm lastModified的返回值 • 16.4.htm document.location • 16.6.htm document.location的详细属性 • 16.6.htm 验证document.referrer • 16.7.htm 验证document.referrer • 16.8.htm [removed]()与[removed]ln() • 16.9.htm 字符串连接输出 • 16.10.htm document.close()和document.open() • 16.11.htm document.links[].href • 16.12.htm elements[] • 16.13.htm images[] • 16.14.htm document.getElementById() • 16.15.htm document.createElement() • 16.16.htm 设置表格属性 • 16.17.htm 显示表格属性 • 16.18.htm 操作表格元素 • 16.19.htm 插入和删除表元 • 16.20.htm 改变的内容 • 16.21.htm 改变页面样式 • blue.css 16.21.htm用到的样式文件 • red.css 16.21.htm用到的样式文件 • green.css 16.21.htm用到的样式文件 第17章(\第17章) • 17.1.htm Form对象测试 • 17.2.htm 基本按钮 • 17.3.htm button按钮 • 17.4.htm 文本域 • 17.5.htm 文本区 • 17.6.htm 限制输入长度的文本区 • 17.7.htm 限制输入长度的文本区之二 • 17.8.htm 复选与单选按钮 • 17.9.htm 验证输入内容是否为空 • 17.10.htm 验证输入内容是否为空 • 17.11.htm 混合表单验证 • 17.12.htm 按键屏蔽 • 17.13.htm 屏蔽表单域 • 17.14.htm 动态表单 第18章(\第18章) • 18.1.htm 复选 • 18.2.htm 单选按钮 • 18.3.htm 复选与单选按钮的组合使用 • 18.4.htm 使用elements[]数组 • 18.5.htm 选择控件 • 18.6.htm 多项选择控件 • 18.7.htm 级联选择控件 第19章(\第19章) • 19.1.htm 友情链接 • 19.2.htm 需要确认的友情链接 • 19.3.htm 渐显效果的下拉菜单 • 19.4.htm 模拟系统菜单 • 19.5.htm 图片显示窗口 • 19.6.htm 远程控制菜单 • 19.7.htm 滑动菜单 • 19.8.htm 左键弹出式菜单 • 19.9.htm 浮动菜单 • 19.10.htm 导航式菜单 第20章(\第20章) • 20.1.htm 显示浏览器名称与版本号 • 20.2.htm 显示浏览器名称(改进章) • 20.3.htm JavaScript支持检测1 • 20.4.htm JavaScript支持检测2 • 20.5.htm JavaScript对象检测 • 20.6.htm Screen对象 • 20.7.htm 获取浏览器窗口大小 • 20.8.htm 字号随浏览器窗口大小而改变 • 20.9.htm 对代码20.8的改写 • 20.10.htm 在网页中有选择地显示图片 • 20.11.htm 客户端性能检测 • 20.12.htm 浏览器按键模拟 • 20.13.htm 修改Mozilla用户主页 • 20.14.htm 修改IE用户主页 第21章(\第21章) • 21.1.htm 编码与解码 • 21.2.htm Cookie值被覆盖 • 21.3.htm Cookie分析 • 21.4.htm 用Cookie保存定制样式 • 21.5.htm DHTML行为 第22章(\第22章) • 22.1.htm 通过单击按钮来改变图像 • 22.2.htm 随机显示不同图像 • 22.3.htm 结构化图形控件 • 22.4.htm 图像定位示例 • 22.5.htm 在IE中拖动图像 • 22.6.htm 按钮翻转示例 • 22.7.htm 跟随屏幕移动的图片 • 22.8.htm 多幅图片滚动显示 • 22.9.htm 图片的左右循环飘动 • 22.10.htm 图片的渐隐渐显 • 22.11.htm 不停闪烁的图片 • 22.12.htm 图片倒映 第23章(\第23章) • 23.1.htm 简单过渡 • layerlib.js JavaScript外部文件 • 23.3.htm 目标翻转 • 23.4.htm 运动图像 • 23.5.htm 随机图像 • 23.6.htm 动画效果 • 23.7.htm Sequencer控件 • 23.8.htm Path控件 • 23.9.htm 永远居中的背景图片 • 23.10.htm 随机显示的背景图片 • 23.11.htm 垂直滚动公告板 • 23.12.htm 类似Flash的字幕效果 • 23.13.htm 地震效果 第24章(\第24章) • MyApplet.txt 简单的Java Applet源程序 • 24.2.htm 在JavaScript中访问Java Applet • 24.3.htm 简单的Flash插件 • 24.4.htm mimeTypes[]数组 • 24.5.htm 使用mimeTypes[]检测支持的媒体类型 • 24.6.htm 使用navigator.plugins[][]列举所有Flash MIME类型 • 24.7.htm 列举plugins[]数组的内容 • 24.8.htm 简单的Flash播放控制器 • 24.9.htm ActiveX控件示例 • 24.10.htm 使代码兼容多种浏览器 • 24.11.htm Flash 播放控制器(ActiveX) 第25章(\第25章) • 25.1.htm 单向通信中的Image • 25.2.htm JavaScript向服务器发送RPC • 25.3.htm 动态内容 • 25.4.htm <input>中的单词拼写检查 • 25.5.htm 内联
易语言5.1 相对于易语言5.0更新说明:   支持静态链接其它编程语言(如C/C++、汇编等)编译生成的静态库(.LIB或.OBJ),但仅限于COFF格式,支持cdecl和stdcall两种函数调用约定。   使用说明如下:函数声明和调用方法与DLL命令一致;“库文件名”以.lib或.obj为后缀的将被视为静态库,可使用绝对路径或相对路径(相对当前源代码所在目录),如依赖多个静态库请分别列出并以逗号分隔;“在库中的对应命令名”请务必准确填写静态库中公开导出的符号名称(C函数(cdecl)编译后,符号名称通常是在函数名称前加下划线(_));“在库中的对应命令名”以@开头表示以cdecl方式调用,否则表示以默认的stdcall方式调用;各参数声明要与其定义一致。   请参考易语言安装目录内的例程:samples\静态编译\调用LIB和OBJ 1. 静态编译方面的改进和优化。 2. 符号重命名程序(resym.exe)增加对.obj文件的支持,并更新了文档(sdk\static_docs)。 3. 编译生成安装软件时已支持打包静态编译后的程序,但需事先静态编译出该程序。 4. 升级加密狗驱动程序,增加了对 Windows 7, Vista 等操作系统的支持。 5. 操作系统界面功能支持库(shell.fne)中的“执行()”命令增加一个参数“窗口显示方式”,作用与核心库“运行()”命令的同名参数一致。 6. 数据库操作支持库增加读写长整数字段的功能,但受限于系统接口暂不能读写超出整数范围的数值。 7. 修改高级表格支持库,通过鼠标调整行高列宽时不改变当前光标行列号。 8. 修改BUG:在IDE中打开源代码文件(.e)后,高级选择夹组件不能正确切换到“现行子夹”属性设定的子夹。 9. 修改BUG:矢量动画支持库中的“矢量编辑”组件在光标位于组件右下角时按右光标键进入下一行会导致显示错误。 10. 修改BUG:矢量动画支持库中的“矢量编辑”组件在光标位于组件左上角时按左光标键进入前一行可能会导致显示错误或内存申请失败。 11. 修改BUG:网络传送支持库在使用代理下载时可能会导致程序崩溃。 12. 修改BUG:超级列表.置列图片()有时功能不正常或导致随机错误。 13. 修改BUG:Sqlite3数据库支持库中的“Sqlite记录集.绑定参数()”命令不支持汉字/UTF-8。 14. 修改BUG:VCL相关支持库部分组件在修改个别属性或调用个别方法后不可见,并改进了Delphi版本的支持库SDK。 15. 修改BUG:高级表格在列类型为数值型时,添加新行且省略标题的情况下,会导致程序异常。 16. 修改BUG:数值计算支持库“大数.四舍五入()”命令在最高位进位时,会导致程序异常。 17. 修改BUG:办公组件支持库打印进度对话的标题和用户设置的内容不一致。 18. 修改BUG:办公组件静态编译后无法正常销毁。 19. 修改BUG:应用接口支持库“取内存容量信息()”命令不能正常处理大于2G的内存。 20. 修改BUG:超级列表在属性“整行选择”为真时,鼠标单击第一列右面也会导致第一列中的选择被选中或取消选中。 21. 修改BUG:Sqlite3数据库支持库中“Sqlite数据库.取错误文本()”返回的文本是UTF-8编码(应是GB18030编码)。 -------------------------------------------------------------------------------- 易语言5.0 相对于易语言4.x更新说明(2010/02/01):   增加静态编译功能,支持挂接第三方链接器(比如VC6中的link.exe)。   静态编译后的易语言可执行程序(exe)和动态链接库(dll),运行时不再依赖任何支持库文件,文件尺寸更小(相对以前的独立编译),PE结构更合理(取消了“易格式体”),加载速度更快,而且有效解决了“病毒误报”和“易被脱壳”的题。   为实现静态编译,易语言编译器、核心支持库、集成开发环境(IDE)等均有重大更新,支持库开发架有扩展性调整,绝大多数官方支持库都已针对静态编译完成自身改造并提供静态库。   目前绝大多数官方支持库均已支持静态编译,只有极少数不支持静态编译:vclbase.fne, jedi.fne, com.run/cominf.run/ocx.run。   第三方支持库,由源代码作者按照静态编译技术文档(参见sdk\static_docs)完成自身改造并提供静态库后,可支持静态编译。外部OCX组件和COM组件,不支持静态编译。   此次重大版本升级不影响以前的源代码(.e)和模块(.ec)。只要代码或模块中未用到“不支持静态编译”的支持库、COM/OCX等,都可以静态编译。以前编译好的模块(.ec)甚至不需要重新编译即可直接支持静态编译。   支持库开发架调整是扩展性调整,比较好的做到了向前向后兼容。即,新版支持库可被旧版易语言或易程序使用,旧版支持库也可被新版易语言或易程序使用(只是不支持静态编译)。   静态编译后的易语言EXE/DLL之间不能再共享譬如窗口、窗口组件等类似资源,对于已经静态连接到一个EXE/DLL中的支持库,该支持库中的数据或资源将不能再被其它EXE/DLL中所使用的同名支持库访问。这是因为代码被分别静态链接接到各个独立模块(EXE/DLL)中。 版权所有 (C) 2009 - 2010,保留所有权利。 大连大有吴涛易语言软件开发有限公司 http://www.eyuyan.com -------------------------------------------------------------------------------- 易语言5.0测试版3相对于测试版2更新内容: 1. 支持设置程序(EXE)图标 2. 支持设置使用通用组件库6.0 3. 支持“链接后动作(post_link_action)”(参见tools\link.ini中注释) 4. 重新整理所有官方支持库的静态库,有望彻底解决链接时可能出现的符号冲突 5. 全面取消静态编译中的人为功能限制(此前有最多5个支持库同时参与静态链接等功能限制) 6. 公开易语言静态编译技术文档(参见sdk\static_docs),便于第三方支持库作者针对静态编译进行支持库改造 7. 修改以下多个BUG: 1) 修改在静态编译的DLL中调用其它DLL失败的BUG 2) 修改静态编译后“选择列表”在“单选”属性为真时不显示项目内容的BUG 3) 修改核心库中“播放音乐”命令在没有声卡或声卡被禁用时未正确释放资源的BUG 4) 修改静态编译后“读配置项”命令在第三个参数“配置项名称”为空文本时导致程序崩溃的BUG 5) 修改高级选择夹中的组件在窗口载入后强制得到焦点的BUG 6) 修改MYSQL支持库跨静态编译的EXE和DLL传递连接句柄和记录集句柄无效的BUG(改动较大,可能会产生兼容性问题,我们已经仔细测试,也请使用到此库的用户帮助我们多多测试,以便及早发现问题,谢谢) 7) 其它修改 注意:静态编译后的易语言EXE和DLL之间不能再共享“某些”句柄或资源,这一点和原动态连接时的程序行为不能保持一致,使用时请务必设法避免此类用法(MYSQL支持库我们作了特别处理)。 注意:静态编译后常量数据位于PE文件的.rdata段中,只可读不可写,编程时请避免修改它们。譬如以下的代码,静态编译后就可能会出现问题: a = " " GetWindowTextA(hWnd, a, 20) 正确的代码为: a = 取空白文本 (20) GetWindowTextA(hWnd, a, 20) 易语言5.0测试版2相对于测试版1的更新内容: 1. 修改了很多由于符号冲突而导致无法完成静态编译的BUG 易语言5.0测试版1发布于2009/12/28,是易语言5.0静态编译版第一个公开测试版本 ******************************************************************************** ** 以下是易语言4.x及以前版本的升级信息 ******************************************************************************** 易语言4.14版相对于4.13更新说明: 对易语言核心支持库、编译器、开发环境的更新: 1. 修复了打印机对象的自定义纸张尺寸的支持问题 2. 修复了打印机对象的打印份数的支持问题 3. 修复了滑块条的选择长度不能到最大的问题 对其它支持库的更新: 1. 修改XML解析支持库,解决“XML树.取节点值文本()”返回的文本会失效的BUG。 2. 修改高级表格支持库,解决在鼠标按下和抬起之间收到时钟周期事件的情况下,无法收到“被单击”事件的BUG。 3. 修改扩展界面支持库三,解决单击卷帘菜单后导致日期不能弹出下拉窗口的BUG。 4. 修改XP风格支持库,解决GDI资源泄露,以及在使用通用组件库六时组合标题出现重影的BUG。 5. 修改扩展界面支持库一,解决树形项目无法通过鼠标点击进入编辑状态的BUG。 6. 修改高级表格支持库,解决插入行/插入列在未指定行号/列号的情况下插入位置不正确的BUG。 7. 修改文本语音转换支持库,增加“机读文本.重新创建并初始化()”方法。 8. 修改应用接口支持库,增强“取快捷方式目标”命令功能,可以获取目标、参数、启始位置、图标、运行方式、快捷键、备注等信息。 9. 修改扩展界面支持库三,解决高级选择夹会导致所在窗口的收不到“首次激活”事件的BUG,相应地修改了核心库和开发环境。 10. 为所有支持库文件统一添加了版本信息。 -------------------------------------------------------------------------------- 易语言4.13版相对于4.12更新说明(2009/4/13): 对易语言编译器、开发环境、核心支持库的更新: 1. 修改核心支持库,为窗口增加一个“窗口类名”属性。 2. 修改核心支持库,为外部数据库的连接类命令增加参数“不显示ODBC连接对话”。 3. 修改核心支持库,解决用“播放音乐()”播放“音频采样大小为24位”的WAV文件时产生噪音的BUG。 4. 修改编译器,可以为编译出的EXE、DLL添加版本信息(通过“程序配置”设定)。 5. 修改集成开发环境,自动记忆非独立编译时是否写出依赖文件的选项。 6. 大幅提高编译速度。 对其它支持库的更新: 1. 修改高级表格支持库,在双击单元格进入编辑状态后,不能收到第一个“字符输入”事件的BUG。 2. OpenGL支持库中的部分英文名称常量已改为中文,并统一在所有常量名称之前加前缀“GL_”,以减少与其它库的冲突机率。 3. 互联网支持库中的“FTP目录列表”命令返回的文件时间改为FTP服务器返回的原始时间,不做任何时区转换。 4. 互联网支持库中的“置代理服务器”命令增加了参数,用于支持代理服务器用户认证。 5. 修改控制台操作支持库中“控制台对象.取显示区大小”的参数名称及其说明。 6. 修改外部数据库在4.12版中导致的不兼容问题,并增加了对MS SQL Server数据库中image和text字段类型的说明。 7. 修改扩展界面支持库一,禁止透明标签在父窗口刷新时自动刷新,以解决其导致窗口刷新缓冲的问题。 8. 改进应用接口支持库中“设置屏幕分辨率”命令。 9. 修改外部数据库在“表中记录数为零”时可能导致程序崩溃的BUG。 10. 修改扩展界面支持库一,修改“超级列表.取标题()”不能返回长度大于256的包含汉字的文本。 11. 修改扩展界面支持库一,为“超级列表.查找表项()”增加可空参数“列索引”,以指定查找哪一列。 12. 修改扩展界面支持库一,添加“工具条.置标题()”方法。 13. 修改高级表格支持库在表格空白处(所有单元格之外)单击鼠标导致当前光标处单元格自动进入编辑状态的BUG。 14. 修改扩展界面支持库一,为“超级列表”增加“检查状态被改变”事件。 15. 修改扩展界面支持库一,为“树形”增加“是否已加粗()”方法。 16. 修改扩展界面支持库一,为“树形”增加多态检查功能,相应地添加了多个与检查相关的属性、方法和事件。 17. 修改高级表格支持库,允许“复制选定文本()”“剪切选定文本()”在“允许选择块”属性为假时复制剪切当前单元格中的文本。 18. 修改扩展界面支持库三,为“高级选择夹”增加“不点燃选中子夹”属性。 19. 修改XML解析支持库,增加写出CDATA数据功能,解决解析XML时错误的丢弃换行和TAB字符的BUG,解决读取节点值时对CDATA数据进行转义处理的BUG。 20. 修改扩展界面支持库一,超级列表“置列图片()”导致列图片被强行设置到标题左边的BUG。 21. 修改通用对象支持库,“快速字节集对象.倒找字节集()”的一个BUG。 22. 修改扩展界面支持库一,“超级列表.取标题()”在表项标题为空的情况下可能会返回乱码文本的BUG。 23. 修改农历日期支持库,内部农历数据错误(2013年四五月份大小进错位)的BUG。 24. 修改远程服务支持库,“远程服务.启动()”第三个参数的描述与实际不符的BUG。 25. 修改应用接口支持库,“取硬盘信息()”命令,将尽量获取能够获取的信息(有时只能获取部分信息)。 26. 修改文本语音转换支持库,为数据类型“机读文本”的方法“文本到语音()”增加超时等待和事件反馈功能,并增加方法“是否可用()”,并在该对象创建时,自动选择一个“可能”为中文的语音库(通过名称猜测)。 27. 修改MySql支持库,第二次连接失败会导致前一次连接句柄无法使用的BUG。 28. 修改VCLBase支持库,解决VCL组件“对齐”属性和VCL滚动失效的BUG。 其它更新: 1. 修改“树型操作类.e”例程,加入项目时检查索引数组下标越界的BUG -------------------------------------------------------------------------------- 易语言4.12版相对于4.11更新说明: 对易语言编译器、开发环境、核心支持库的更新: 1. 修改“文件是否存在”命令不支持“路径字符大于127的文件”的BUG,感谢易友企达软件。 2. 修改“到全角”命令对“~”转全角字符结果不对的BUG,感谢易友叮咚茶。 3. 修改窗口“位置”属性和“可视”属性在特定情况下相互冲突的BUG,感谢易友牛非牛。 4. 修改核心支持库,窗口的“销毁()”命令,在销毁窗口后,不能再次载入窗口的BUG,感谢易友hsy_jj,上上签。 5. 修改核心支持库,窗口底图方式增加“图片缩放”功能,感谢易友世恒。 6. 修改核心支持库“组合.可有焦点()”命令,在组合获得焦点后,还是返回“假”的BUG,感谢易友lilho_e。 7. 修改核心支持库“销毁”方法增加了一个参数“立即销毁”。 8. 修改核心支持库,画板在调整尺寸后,不能重画的BUG,感谢易友浮云缭绕。   9. 修改编辑在字体变大,编辑高度自动调整后,原来的编辑仍然会留在窗口上的BUG,感谢易友水影。   10. 修改核心支持库“插入字节集”命令的帮助说明,感谢易友低调生存。   11. 修改“变体型”对数值型数组数据支持不完善的BUG,感谢易友神2。   12. 修改核心支持库,“横向滚动条”和“纵向滚动条”位置被改变后,禁止由“真”变为“假”的BUG,感谢易友ming1228。   13. 修改窗口“在任务条中显示”属性和“总在最前”属性在特定情况下相互冲突的BUG,感谢易友ok5168。   14. 修改易语言开发环境,为自定义数据类型时,粘贴代码,数据类型为“”的BUG,感谢易友叮咚茶。   15. 修改核心支持库“组合.禁止=真”,在给“组合.列表项目”属性赋值后,“组合.禁止=真”失效的BUG,感谢易友子涵。 16. 修改易语言编译器,可以指定独立编译的程序运行时的支持库释放目录,感谢易友西风。 17. 修改核心支持库,“其它”类别增加了六个命令(“取组件名称”“寻找组件”等),用作支持窗口组件反查。 18. 修改核心支持库“播放音乐()”命令,个别WAV文件不能播放的BUG,感谢易友破天一箭,流川枫,别康桥,得心应手,一帆风,z284949127,上等兵,yanshi810,xushushun。 19. “特殊功能支持库”中的“置入代码”命令已移入核心库,原有命令已被隐藏。 20. 在开发环境中打开被调用命令的参数引导(Alt+→)后,对每个参数的说明已可体现出是否为数组类型。 21. 修改“取配置节名”在节名个数超过一定数量时可能会导致返回值出错的BUG。 22. 修改“取对象类型”命令取不到FNR支持库中窗口组件类型名称的BUG。 对其它支持库的更新: 1. 修改应用接口支持库“取窗口标题”命令在指定窗口标题为空的情况下返回窗口类名称的BUG,感谢易友叮咚茶。 2. 修改应用接口支持库“取文件版本信息”在失败的情况下返回上次结束的BUG,同时添加逻辑型返回值,感谢易友yhan。 3. 修改应用接口支持库“取窗口类名”命令在指定窗口不存在的情况下取出窗口类名为乱码的BUG。 4. 修改通用对象支持库中“快速文本对象”“快速字节集对象”没有复制构造函数的BUG,感谢易友wentianxin。 5. 修改应用接口支持库“截取屏幕区域”命令未及时释放GDI资源的BUG,感谢易友醉。 6. 修改数值计算支持库“大数.导入文本()”,允许参数文本以一个或多个0开头,感谢易友王军。 7. 修改应用接口支持库“取窗口标题”在窗口标题以汉字开头的情况下可能返回空文本的BUG,感谢易友叮咚茶。 8. 修改数据结构支持库,为数据类型“表”添加方法“删除键值对”“删除所有键值对”,感谢易友.end。 9. 修改VCLBase支持库,因为设置数据类型“键值编辑器”的“可调整列位置”属性时会引发异常“可调整列位置 是不支持的选项”,所以将其删除,感谢易友MMiao79,nfh_china。 10. 修改应用接口支持库“取窗口标题”最多只能返回511个字符的BUG,感谢易友叮咚茶。 11. 修改数据结构支持库中数据类型“表”未及时释放内存的BUG,感谢易友.end。 12. 修改应用接口支持库“取窗口标题”命令取得的标题比实际标题少1到2个字符的BUG,感谢易友叮咚茶,wentianxin。 13. 修改高级表格在表头列类型为非文本的情况下“取数据()”返回结果不对的BUG,感谢易友小熊。 14. 修改应用接口支持库“取窗口标题”命令在取其它进程中的窗口标题时取出的文本不完整的BUG,感谢易友叮咚茶。 15. 修改扩展界面支持库一“工具条.取状态()”命令说明中的笔误。   16. 修改windows媒体播放器“鼠标按键被按下”事件中,第一个参数“鼠标按键”说明中的笔误,感谢易友xyx20021129。   17. 修改热键“功能键”的属性名称,感谢易友mingriver。 18. 修改高级表格支持库,解决在部分打印机中打印不出图片的BUG,感谢易友97998。 19. 修改数据图表支持库,解决“柱状图控件”与“曲线图控件”在第一个X轴标注文字为空文本的情况下,导致X轴其它标注文字显示不完整的BUG,感谢易友wentianxin。 20. 修改高级表格,“回车键功能”属性增加“3.无”,感谢易友hswad。 21. 修改数据库支持库在记录集未置数据库连接的情况下调用“删除(3)”导致程序异常退出的BUG,感谢易友王庆。 22. 修改外部数据库组件不支持MS SQL Server中的nvarchar类型的BUG,感谢易友见易思迁。 23. 修改外部数据库组件无法读取MSSQL中binary类型字段的BUG,感谢易友NightCAT。   24. 修改外数数据库.查询()之后自动定位到首记录,感谢易友见易思迁。 25. 修改远程服务支持库在客户端连接失败的情况下出现socket句柄泄露的BUG,感谢易友readyisme。 26. 修改数据库支持库“记录集.写字段”在字段名称不存在的情况下也返回真的BUG,感谢易友liyunxing。 27. 修改高级表格,置图片多次GDI资源泄露问题,感谢易友borisc。   28. 修改超级菜单,当菜单条不可见时在代码中修改菜单的可视属时,弹出菜单的子菜单标题不可见的BUG,感谢易友搞怪。 29. 修改数值运算支持库大数除法的一处BUG,感谢易友zhen。 30. 修改MySql支持库,添加了“取影响行数” 方法,感谢易友浮云缭绕。 31. 修改高级表格调整行列数时未正确处理现有合并单元格的BUG,感谢易友wentianxin。   32. 修改互联网支持库,“HTTP读文件”命令支持读取HTTPS协议文件,感谢易友季翔。 33. 修改XML解析支持库,在连续两个自结束节点()存在时可能导致导入失败的BUG,感谢易友.end。 34. 修改XML解析支持库,允许XML文件中双引号之间的属性文本中存在任意字符,包括,感谢易友技术支持部、user190。 35. 完善XML解析支持库,增加对CDATA的支持,和XML文本格式化功能,感谢易友goomoo。 36. 完善XML解析支持库,导出到文本或字节集时必要的时候使用自结束节点格式,感谢易友goomoo。 37. 修改应用接口支持库,完善了“是否与互联网连接”和“是否登入网络”的命令说明,并隐藏了后者,感谢易友mijac。   38. 修改数值计算支持库,“曲线拟合.三次样条插值()”的第二个参数“三次样条方程系数”可以直接接受“曲线拟合.三次多项式方程()”的计算结果作为参数,感谢易友搞怪。 39. 修改高级表格支持库,增加“表头被单击”“表头被双击”事件。 40. 修改高级表格支持库,将属性“表头可单击”更名为“响应表头被单击”。 41. 修改扩展界面支持库一,在主窗口刷新时透明标签没有及时刷新的BUG,感谢易友地球销售代表。 42. 修改VCLBase支持库,高级分隔条“高亮渐变起始颜色”属性名称重复的BUG。 其它更新: 1. 更新了易语言知识库(ESDN)(仅在完全安装版中提供)。 2. 增加了“硬件操作精解-精简版”教程(仅在完全安装版中提供) 3. 在“行业控件”类例程中新增“Grid++report报表控件”。 4. 在“行业控件”类例程中新增“滴答报表控件”。 5. 在“行业控件”类例程中新增“skinsharp皮肤控件”。 6. 在“硬件控制”类“加密锁”例程中新增“ET199”。 7. 修改易语言安装制作程序,允许在开始菜单生成多级程序组(目录),感谢易友银戒指、电子商务。 8. 修改远程服务支持库例程“网络数据库中间件.e”中删除意外断开连接客户的BUG,感谢易友雨纷飞。   9. 修改了购买易语言的说明信息,由学习版50元,改为免费,感谢易友majiyunsea。 -------------------------------------------------------------------------------- 易语言4.11版相对于4.10更新说明: 对易语言编译器、开发环境、核心支持库的更新: 1. 修改易语言编译器“‘调用外部DLL命令的程序’执行结束后未释放该DLL”的BUG,感谢易友企达软件。 2. 修改易语言编译器编译动态链接库时提示“寻找指定库命令失败”的BUG。 3. 修改易语言开发环境,在调试状态下允许通过双击设计窗口中的组件跳转到对应的事件处理子程序。 4. 修改易语言开发环境“在窗体设计器中拖动组件导致GDI资源泄漏”的BUG。 5. 修改易语言开发环境,解决了程序集名称过长不显示程序集名称选择夹的BUG。 6. 修改核心支持库,窗口的“销毁()”命令改为通过PostMessage间接实现。 对其他支持库和相关例程的更新: 1. 修改支持库例程“INI手术室.e”,在勾选“是否使用Windows通用组件库6.0版”后编译,工具栏上的图标无法显示的BUG。 2. 修改扩展功能支持库一“当窗口总在最前时,气球提示会被窗口挡在后面”的BUG。 3. 修改扩展功能支持库一“设置文件拖放”的错误,感谢易友叮咚茶。 4. 修改MySql支持库“读字段值”,当参数“字段索引”被传入类型为小数的参数值后,读取失败的BUG。 5. 更新多线程支持库:启动线程() 增加一个可选参数,用于接收线程句柄;并增加以下命令:等待线程,强制结束线程,关闭线程句柄。感谢易友zhe001。 6. 修改保密通讯支持库可能导致程序异常退出的BUG。 7. 修改高级表格预览时表格线不显示的BUG,感谢易友一帆风。 8. 修改高级表格选择块时鼠标回到首选择单元格致使该单元格自动进入编辑状态的BUG,感谢易友民政,wanwan5。 9. 修改农历日期被禁止后文本和按钮不变灰的BUG,感谢易友p_anch;修改农历日期控件默认大小为200*24。 10. 修改XP风格支持库“应用XP风格后令单选文本颜色与选择文本颜色失效”的BUG,感谢易友yulimate。 11. 修改VCLBase支持库中“单一实例”组件,“标识文本”属性为空文本时组件功能失效的BUG。 12. 修改数据操作支持库“记录集.读字节集()”读取失败的BUG,感谢易友rsrs168,xuejsh。 13. 修改DirectX支持库“输入设备.置鼠标边界()”命令说明中的笔误。 14. 修改高级表格累加公式功能可能累加其它列的BUG,并允许结果列小于开始列,感谢易友浮云缭绕。 15. 修改高级表格在粘贴“类CSV”格式文本时错误处理连续分隔符的BUG,感谢易友风精灵。 16. 修改高级表格在列类型为选择型时取不出表头文本的BUG,感谢易友恶人磨。 17. 修改可执行数据转换支持库令转换后的正则表达式支持库无法载入的BUG。 18. 修改高级表格,增加了“可否被编辑”事件,可在此事件中返回假以阻止当前选中单元格进入编辑状态,感谢易友123yizheng123。 19. 增加超级列表状态图片组及其索引的说明,索引不能大于14(Windows的局限),感谢易友企达软件。 20. 优化调整Java支持库中JVM的查找及加载策略。 21. 修改XP风格支持库令分组文本颜色无效的BUG,感谢易友破天一箭。 22. 修改易语言下载快车例程在程序已启动情况下新建下载任务时获取的URL缺少最后一个字符的BUG,感谢易友520zone。 23. 修改数据操作支持库中“记录集.删除(3)”不能删除所有记录的BUG,感谢易友rsrs168。 24. 修改数据库操作支持库有时取不到记录集记录数量的BUG,感谢易友h179635532。 25. 修改树形“图片组被重新赋值后导致之前动态加入的项目丢失”的BUG,感谢易友菜鸟老大。 26. 修改高级表格“修改单元格数值时导致计算列无穷递归计算”的BUG,感谢易友一帆风。 27. 修改数值计算支持库“计算大数相乘时存在递归进位的情况下导致结果出错”的BUG,感谢易友chegjigfg。 28. 修改网络通讯支持库“网络服务器.断开连接()”导致CPU使用率100%的BUG,感谢易友尘土.飞扬,.end。 29. 修改数值计算支持库求实矩阵逆的BUG(注意不再返回矩阵行列式),感谢易友wuestuary。 30. 修改MySql支持库写入空字节集失败的BUG,感谢易友angelye。 31. 修改高级表格最后一行(或行)只显示半行(或列)而没有出现滚动条的BUG,感谢易友cbw,liweiyong和zye7504。 32. 修改高级表格,用鼠标或键盘选中高级表格某单元格时使其尽量完整显示(而不是只显示单元格上边或左边一部分),感谢易友 esir。 33. 修改易语言完整版安装程序“未选中安装多媒体教程的情况下仍然安装了多媒体教程”的BUG,感谢易友秋风下的落叶。 34. 网络通讯支持库网络服务器、网络客户端和网络数据报的“接收”方法均增加一个参数,用于返回是否接收成功。感谢易友.end。 35. 修改WORD2000支持库Word程序的文档即将保存事件的第二个参数修改无效的BUG,感谢易友97998。 36. 修改DirectX支持库“MIDI音乐.播放()”不支持含空格的文件名的BUG,感谢易友张飞,klasp。 37. 修改应用接口支持库“取网卡信息列表()”命令消耗大量内存且不释放的BUG,感谢易友伟业,花无心。 38. 修改农历日期支持库内部取节气的一处数据错误,感谢易友净莲。 39. 修改超级列表不能通过对“现行选中项”属性赋值-1从而取消选中现行选中项的BUG,感谢易友zye7504。 40. 修改超级菜单支持库,在没有菜单条的窗口上放置一个超级菜单组件,运行时在标题栏点右键导致程序异常退出的bug,感谢易友狼性本色。 41. 修改超级列表多次调用“置列图片(-1)”导致程序无故退出的BUG,感谢易友redxblue。 42. 修改应用接口支持库“是否与互联网链接()”未及时关闭网络连接句柄的BUG,感谢易友zzy90。 43. 修改超级列表表项编辑对话删除表项时未同时删除子表项的BUG,感谢易友TLSWR。 44. 修改MySql支持库"取字段属性"方法返回的字段属性值与字段类型常量无法对应的BUG,感谢易友gaoheran。 45. 修改互联网支持库“HTTP读文件”命令不能读取非80端口URL的BUG,感谢易友goomoo。 46. 修改超级列表刷新问题和图标显示问题。 47. 增加超级列表插入表项的帮助说明,“类型”属性为“大图标列表”或“小图标列表”的情况下,将始终在所有表项的最后插入新的表项,感谢易友redsleaf。 48. 修改超文本浏览,补充完善了对事件“已就绪”和“载入完毕”的说明,感谢易友qq136013347。 49. 修改超文本浏览未释放BSTR指针的BUG,感谢易友东灿。 50. 扩展界面支持库二“提取加入图片”命令增加一个参数以提取小图标,感谢易友redxblue。 51. 修改超级编辑“最大允许长度”属性为0时最大允许输入长度仍被限制为64K的BUG,感谢易友红花。 52. 修改扩展界面支持库二“RTF到纯文本”命令无法处理\emdash\lquote\rquote等殊符号的BUG,感谢易友zjc2008。 53. 修改扩展界面支持库二超级编辑设定字符格式为“#禁止更改”后无法取消“禁止更改”的BUG。 54. 修改超文本浏览的逻辑型属性或逻辑型方法返回值可能有误的BUG,感谢易友wincom1。 55. 修改IP编辑无法得到“获得焦点”和“失去焦点”事件的BUG,感谢易友hedogn,poplarshine。 56. 修改IP编辑的默认窗口尺寸为104*20。 57. 为IP编辑增加“地址被改变”事件,感谢易友zjzqs。 58. 修改压缩解压支持库“生成的压缩包内文件日期和解压缩后文件日期与原被压缩文件日期不符”的BUG,感谢易友wanwan5。 59. 修改易语言知识库中办公组件帮助文档中的笔误,感谢易友sxfxx。 60. 修改易语言知识库中“取网卡信息列表”命令例程有重复的程序集名称导致程序无法编译的错误,感谢易友cjdn。 61. 修改VCL相关支持库中在组件事件中销毁窗口可能导致程序非法访问内存的错误,感谢易友redxblue,nfh_china。 62. 修改VclBase支持库中位图按钮类型为“确认”、“是”时修改按钮标题后在运行时不显示按钮图片的BUG,感谢易友redxblue。 63. 扩展功能支持库一增加“拖放树型项目”命令。 其它更新: 1. 在“行业控件”类例程中新增“Grid++report报表控件”。 -------------------------------------------------------------------------------- 易语言4.10版相对于4.06版(修订版1)更新说明: 1. 更新易语言开发环境和核心支持库,提供对VCL控件的更好支持。 2. 增加了易语言支持库开发包(SDK),目前有C++版本和Delphi版本。 3. 增加了两个用Delphi开发的支持库,VCLBase 和 JEDI,含大约20个封装自VCL的易语言窗口组件。 4. 增加了“硬件控制”方面的多个例程。 5. 增加了“网友优秀作品”例程。 6. 修改开发环境主程序,独立编译前提示,修改整体搜索的BUG。 7. 修改了通过右键菜单新建的.e文件不能直接保存的问题。 8. 修改了日期自动跳转日期的问题。 9. 修改了MySQL支持库“执行SQL语句”的问题。 10. 修改了特殊功能支持库中“调用子程序”的问题。 11. 修改了“数据库语言转换器.e”转换出现乱码的错误。 12. 修改了“数据库管理器.e”有密码打开失败的错误。 13. 修改了“MIDI测试.e”音乐文件在桌面不能播放的错误。 14. 修改了多媒体支持库“CD播放.是否有CD”的BUG。 15. 修改了Excel支持库设置字体下划线无效的BUG。 16. 修改了“气球提示”单击鼠标或按键导致提示关闭未发送“提示即将隐藏”事件的BUG。 17. 修改了“shellEx支持库”注册热键的BUG。 18. 修改了“网络通讯支持库”内存泄露的BUG。 19. 修改了小数型数据到文本函数多次执行出错的问题。 20. 修改了正则表达式“搜索全部”时假死的问题,和程序中多次频繁调用正则容易出错的问题。 21. 修改了多个支持库例程。 22. “可执行文件数据转换”支持库的代码打乱功能得到了较大的提升,不同的打乱码将得到差异性很大的结果,因此用户可以尝试使用不同的打乱码来从技术上应对杀毒软件的误报。 关于可执行文件数据转换,说明如下: 1、多次重复转换可能会导致转换后的可执行文件或易语言支持库无法使用,请确保只转换一次; 2、对于非易语言编译的可执行文件或DLL,不保证转换后能够正常使用; 3、如果想转换易语言独立编译可执行文件,应该在易语言的系统设置里面直接设置打乱码后进行编译转换,而不能在独立编译后再使用本命令来转换; 4、尽量在易语言系统设置里面设置打乱码后进行编译转换,在这种情况下,所编译出来的可执行文件将得到最好的打乱效果。 -------------------------------------------------------------------------------- 易语言4.06版(修订版1)相对于4.06版更新说明: 1. 未注册情况下,除不提供编译功能外,不再有其它任何限制,即等同于以前的学习版功能。 2. 核心库中播放音乐功能已支持多个音乐同时播放(混音)。 3. 修改了扩展界面支持库二中动画PNG图片透明的问题。 4. 修改了可执行文件数据转换支持库,在Win98下转换的支持库存在载入失败的问题。 5. 修改了数据库支持库不能正常读写双精度小数的问题。 6. 修改了mysql支持库“读字段值”、“查找记录”、“创建表”、“修改表”的问题。 7. 修改了编码转换支持库部分情况下不能正常进行编码转换的问题。 8. 修改了远程服务支持库不能同时启动两个服务器的问题。 9. 对以往支持库的相关例程做了修正更新。 10. 对安装包中的部分执行文件(.exe)进行了重新编译。 -------------------------------------------------------------------------------- 易语言4.06版相对于4.05版(修订版1)更新说明: 1. 扩展界面支持库二中增加了动画组件 2. 增加了可执行文件数据转换支持库,以应付一些使用落后的特征码查毒技术的杀毒软件,使其不再或很对易语言编译出来的程序和易语言本身支持库误报. 3. "工具->系统配置->目的程序安全"选项中增加了编译结果打乱码设置,设置此选项后将会自动对"编译"、"独立编译"、"编译生成安装软件"菜单功能所产生的结果进行自动打乱。 4. 远程服务支持库修改了服务端和客户端线程句柄泄露的错误. 5. 高级表格支持库,在类型为“选择型”的单元格中按下空格键前后,将分别触发“将被编辑”“结束编辑”事件. -------------------------------------------------------------------------------- 易语言4.05版(修订版1)相对于4.05版更新说明: 1. 编译器,更正了“对全局数组变量和局部变量多次赋值可能无效”的BUG。 2. 核心库,更正了“取时间间隔”命令的BUG。 3. 扩展界面支持库三,更正了高级选择夹“无法删除表头字体”和“‘竖排子夹名称’属性为‘真’时子夹名称显示不完整”的BUG;外加一项改进:编辑“子夹管理”时可预览字体和字体颜色。 -------------------------------------------------------------------------------- 易语言4.05版相对于4.04版更新说明: 1. 对以往支持库和相关例程发现的问题做了修正更新。 2. 开发环境新增了剪辑历史处理和展开全部代码功能 -------------------------------------------------------------------------------- 易语言4.04版相对于4.03版更新说明: 1. 对以往支持库和相关例程发现的问题做了修正更新。 2. 增加了3个支持库: 自定义图形支持库 编码转换支持库 矢量动画支持库 -------------------------------------------------------------------------------- 易语言4.03版相对于4.02版更新说明: 编程环境新增快速跳转夹和书签支持。 系统新增长文本常量支持。 新增“代码编辑”支持库 新增“通用对象支持库”,内含“快速文本对象”“快速字节集对象”等数据类型。 特殊功能支持库:新增“取文本”等三个命令。 Sqlite数据库支持库:“Sqlite表”新增“查找”方法;将Sqlite版本升级至目前最新的3.3.4版。 扩展界面支持库三:改进卷帘式菜单控件,允许修改非选中菜单中的项目属性;改进高级选择夹控件在表头样式为梯形时的外观显示;改进部分属性和方法的说明信息。 扩展界面支持库五:修改气球提示控件在Windows98系统下字体不清晰的BUG;新增对的支持。 扩展界面支持库六:对多功能条控件进行的小的改进。 农历日期支持库:修改农历日期控件调用“增减日期”“置农历日期”“置公历日期”等方法后未及时更新显示文本的BUG。 数据结构支持库:修改"链表.加入节点"方法有时不能按键值正确排序的BUG。 其它一些支持库的改进和修正 -------------------------------------------------------------------------------- 易语言4.02版相对于4.0版更新说明: 1、DLL命令调用功能全面增强,具体请参见核心支持库手册里面的“调用API.e”例程和相关文档。 2、新增位图操作和易LOGO两个支持库。 3. 核心库中的外部数据库组件被修正。 4、以下支持库被修正或增加新功能: 互联网服务支持库 网络传送支持库 mysql支持库 Sqlite数据库支持库:增加了20个命令以直接返回相关数据(而不是写入到参数变量中)。 扩展界面支持库三:增加了提示文本功能,同时更新了卷帘式菜单和高级选择夹的属性编辑对话并增加了相关方法;在卷帘式菜单控件的“项目”属性编辑对话中,如果项目名称为空文本,则显示为“未命名”,以便于用户以鼠标点击选中。 扩展界面支持库五:“汽球提示”更名为“气球提示”并增加“批量关联组件”方法,以方便用户动态指定提示文本;修改其“提示即将弹出”事件的参数“手柄横向坐标”“手柄纵向坐标”,由屏幕坐标改为客户坐标,以方便用户处理。 数据图表支持库:曲线图和柱状图增加了“显示标注”和“提示文本”属性;鼠标指向曲线图和柱状图的相应区域时会有提示弹出并显示当前数据值。 XML解析支持库:增加导入导出字节集功能,另外增加了9个命令以直接返回相关数据(而不是写入到参数变量中)。 -------------------------------------------------------------------------------- 易语言4.0版相对于易语言3.8正式版更新说明: 1、“新建”对话布局改变,将一些新建项目进行了分类,大家可以在Samples和Wizard目录中组织目录,“新建”对话会自动列出。 2、新的“文本代码编辑器”工具。 代码编辑方式是以文本方式编辑,在每一行程序编辑完成后不必回车确认,直接下移光标继续输入。或按[Shift+回车]可代替原单键[回车]形式。 可以将代码以文本方式复制到记事本,或从记事本将文本代码粘贴回来,系统自动恢复为程序代码。 “系统配置”中可以设置改变编辑区字体及字号。 “系统配置”中的“输入新语句后自动检查语法错误”项选中时,当光标在代码行末时回车,就可以编译当前行检查是否有语法错误,并在提示面板中提示出来。默认为选中。 若“系统配置”的“输入新语句后自动检查语法错误”项未勾选,代码编辑时将不会弹出错误提示,代码编辑后的运算符号不会规范整理,而会在调试或编译时给出错误提示,或使用全程提示工具检查,或通过按[Shift+回车]编译当前行进行检查。 3、新的“全程提示”工具,当用户将鼠标移至常量、变量、属性表等名称上停留片刻,会显示当前名称的相关信息。对未事先声明的变量不作任何提示。 4、新的“寻找替换管理器”工具。可以在当前程序集中进行寻找与替换。 5、新的“程序调试管理器”工具。新设计的“调用表”面板与“监视表”面板代替了原调试面板,具体使用与原来的调试方法类似,可用“查看表达式/变量”菜单查看当前子程序变量值。 6、新的“整体搜寻管理器”工具。提示夹中增加“搜寻1”、“搜寻2”两个面板。使用“整体搜寻”菜单命令可将搜寻结果显示在其中,并且可以对比查看。 7、新的“条件断点管理器”工具。新增“条件断点”菜单,可以设置断点时给定一组条件,方便调试,如果断点不是条件公式,就会自动转换为普通断点。 8、新的“组件排列管理器”工具。当没有安装扩展组件、OCX组件或COM组件时,不显示分类,当组件排列拥挤时,自动增加分类。 9、新的“配色方案管理器”工具。编辑代码区与属性表的配色方案已合并,且支持任意颜色自由定制,大家可将自定义的配色方案拷贝到Clr目录中,就可在列表中看到。 请使用菜单“工具”→“系统配置”→“程序显示”→“颜色配置”,在下拉列表中选择本Clr目录中的颜色配置文件。 10、“提示”面板中显示命令帮助内容时,将会显示当前命令所处的上级支持库分类信息,以利于用户查询所在支持库。 11、调试中断后回到代码编译界面,可将鼠标移到变量上查看变量值提示。 12、备注直接使用单引号标注,并兼容打开以前版本的代码自动改为单引号标注形式。 13、热键调整:如原直接使用键盘的方向键可展开命令,现在需要使用[ALT+方向键]才可以展开,“单步跟踪”热键有所改动。 编辑时原[F1]热键插入文件名称路径现改为[F2]热键插入。[F10]可删除一行,[CTRL+K]可屏蔽一行。 14、菜单调整:如“配置”子菜单移至“程序”菜单下,增加“条件断点”菜单,原“易向导”菜单改为“执行易向导”菜单.....具体请自行对比。 15、Samples目录中增加大量的经典例程,供大家学习交流。 16、Ecom易模块目录中新增若干易模块及例程。 17、易向导中增加“通用密码登录管理向导”及“OpenGL向导”。 18、系统配置对话的“编译选项”中新增“是否使用Windows通用组件库6.0版”选项,默认不选中。如果选中,编译后的程序将使用6.0版风格的组件。 19、推出了以下新的支持库: 农历月历支持库中新增“农历月历”组件 拖放支持库 正则表达式支持库 进程通讯支持库 BT下载支持库 网络通讯支持库二 扩展界面支持库三中增加“高级选择夹”组件(本库必须在易语言4.0以上版本中使用) 应用接口支持库 OpenGL支持库 DirectX发支持库 SQLite数据库支持库 控制台操作支持库 扩展界面支持库五 20、办公组件支持库已升级,推荐大家使用该升级后的支持库。 21、新表格组件改名为高级表格以区分基本支持库中的表格,方便大家定义数据类型。 22、网络传送支持库更新及易语言下载快车已更新。 23、基本组件中的打印机组件已支持自定义纸张,“开始打印”方法中当“纸张”参数为-1时,可以自定纸张宽高。 24、“打印机”对象和“打印设置信息”数据类型中的打印纸类型新增了100多种扩展打印纸类型。 25、系统核心支持库中的“寻找字节集”和“倒找字节集”命令各增加一个参数。 26、窗口组件的基本事件中加入了“滚轮被滚动”事件,以支持鼠标滚轮编程。 27、核心库“其它”类别中增加了“DLL命令调用转向”命令,以支持程序中对非固定文件名DLL中的输出命令进行调用。 28、编辑组件的文本型属性时可以编辑多行文本。 29、组件箱右上角增加一个按钮,可以在组件图标排列与组件名列表中切换。 30、“输出调试文本”命令支持通用数据类型。 31、编译使用了易模块的易程序时,由过去仅在易语言安装目录ECOM下寻找所需要的易模块文件改为首先在易程序所处目录下寻找,然后再去ECOM目录下寻找。 32、易模块管理对话中新增了“创建指定易模块文件的接口程序集”按钮。 33、为规范编程,多个易语言打开同一个源代码时,将会提示切换到打开的程序中,否则请另存为新文件名后再打开,以保护程序。但如果你用新建方式打开程序时,不受此保护。 34、修改了用户程序当支持库不存在时弹出的出错信息。 35、所有带图片组属性的组件选索引时支持直接通过选取图片组的方式输入。在索引项目后多了一个按钮,点击按钮后弹出图片组预选窗口,直接选中图片即可。 36、扩展界面库一中的树型增加了“右键单击项目”事件。 37、系统颜色配置里面新增了“窗体设计器背景”项。 38、编译时实施了严格的重复名称检查,编译选项中新增“严格的重复名称检查”选项,为了兼容以前的程序,默认为不选中,建议将其选中。 39、支持库列表中增加排序功能,可按拼音顺序排列支持库。具体是支持库面板的鼠标右键菜单中增加“排序”子菜单。 40、核心支持库中的“窗口”数据类型增加了“置父窗口”方法。 41、核心库中的“数值转换”类中新增了“到字节”、“到短整数”、“到整数”、“到长整数”、“到小数”命令。 42、核心库中的“位运算”类中新增了“左移”、“右移”、“合并整数”、“合并短整数”命令。 43、核心库中的“变体型”数据类型新增“取字节集”方法,并且其“赋值”方法支持置入字节集类型数据。 44、核心库中的“载入”命令被改进,当以对话方式载入不可视窗口时,不再强制显示并等待,而直接返回, 然后可以通过设置该窗口的可视属性为真来显示该对话。此改进后,可以进行以下操作: 载入 (窗口1, , 真) 窗口1.标题 = "演示" 窗口1.可视 = 真 45、核心库中的“从字节集转换”命令更名为“取字节集数据”,并增加一个参数,以支持从字节集中随意取出部分数据。 46、核心库中的“打印机”对象有所改进,并且增加了四个方法用作在Windows2000/NT/XP下设置自定义纸张类型。 47、“支持库配置”对话上方加入了查找功能。 48、“支持库配置”对话下方增加了删除支持库按钮。 49、“系统配置”对话内“颜色配置”部分增加了“导入”按钮。 50、左侧支持库列表中数据类型部分列入了成员事件并加入了全面的提示。 51、属性表下方的事件组合内对已有事件子程序的事件进行了标记,并将自有事件和固定事件分开。 52、鼠标指针属性新增“手型”类型。 53、对列表式组件箱进行了排序。 54、窗口设计器中右键单击组件后所弹出的菜单内新增了“查看数据类型定义”菜单项。 55、组件右键菜单中加入“锁定”和“解除锁定”菜单,锁定组件时只能使用键盘的光标键移动或使用SHIFT的组合改变大小。 56、当前系统正在编辑一份易程序时,双击打开新易程序时,会弹出询问对话,用户可以选择重新启动一份易语言系统打开程序。 57、输入备注时不再有提示出现。 58、单行编辑文字垂直居中。 59、恢复了调试变量表。 60、恢复了在行尾回车时自动询问增加未定义的变量、子程序、常量名(仅当“输入新语句后自动检查语法错误”系统设置被选中时有效)。 61、打印机对象改正了默认纸张的设置问题。 62、核心支持库增加“置错误提示管理”命令,用作支持用户自行提示严重错误信息。 63、核心支持库中的“选择夹”组件增加了“是否填充背景”、“背景颜色”两个属性,用作解决“隐藏自身”属性为真时选择夹内 一些子组件的刷新问题。 64、系统的“程序”菜单中新增“重新名称关联”菜单项。 65、加入了源代码加密功能。 66、核心库中“服务器”组件的“取回客户”方法支持在“数据到达”事件中使用。 67、核心库中“媒体播放”类别中增强了对MP3播放的支持。 68、核心库中“系统处理”类别中增加了“多文件对话 ”命令。 69、编译器所支持语法格式改进,返回值支持直接引用其成员,如“a.方法1 ().a1.方法2 ()”语句格式现在已经可以使用。 70、系统的“工具->系统配置”菜单中新增“目的程序安全”选项夹。 71、系统的“编辑”菜单中新增“到最近修改处”菜单项。 72、改进了各种编程语言对易语言DLL的调用支持。 73、新增扩展界面支持库六、DirectX3D支持库。 74、自定义鼠标指针支持彩色。 75、易模块管理功能被去除,支持新的易模块引入功能,且易模块公开支持项目增多。 76、系统自带易模块中新增3D图形引擎支持易模块。 -------------------------------------------------------------------------------- 易语言3.8正式版(修正第二版)相对于3.8测试版的改动部分: 1、支持开发并使用易语言向导程序,具体例程请见lib\ewizard\samples目录下的“应用程序向导.e”及“API助手.e”文件。 2、源程序编辑窗口右键菜单中新增“收缩屏蔽”功能,可以用作一次性屏蔽大段代码。 3、系统不再默认载入所有支持库,而必须在支持库配置中指定。 4、源程序的载入速度得到提高。 5、推出了以下新的支持库: 易向导支持库 农历日期支持库 远程服务支持库 扩展界面支持库三 互联网服务支持库 邮件接受支持库 多媒体支持库 表格支持库 超级菜单支持库 保密通讯支持库 办公组件支持库 另外,图表支持库和表格支持库现在支持和打印机对象合作打印。 -------------------------------------------------------------------------------- 易语言3.8测试版相对于3.7正式版的改动部分: 1、支持完全的面向对象编程,可以在程序中定义并使用对象。 2、编写DLL时其中的公开子程序可以接受文本数据类型参数,且可以返回文本和字节集型数据。 3、支持源程序代码的收缩和展开(操作方法:选中程序块后单击右键选“收缩”菜单项,在子程序头上可以直接左键单击子程序名左边的减号)。 附,易语言面向对象开发特性简要说明: 1、易语言支持类的构造、析构、继承、虚拟方法、多态、封装特性。 2、对象的构造: 构造顺序为:先构造基类对象,再构造其继承类对象,如果类中具有对象成员,则先于其所处对象构造。 3、对象的析构: 析构顺序为:先析构继承类对象,再析构基类对象,如果类中具有对象成员,则在其所处对象后析构。 4、继承: 任何类均可以指定另外一类作为其基类,继承层数不限。 5、虚拟方法: 在基类中的方法可以被其继承类中的同名方法覆盖,当调用此方法时,系统自动根据所调用的对象 实体去调用对应的方法。 6、多态性: 可以将一个继承类对象赋予到其基类数据类型变量中,此时对此基类对象变量进行操作,将反映出继承类对象的特性。 7、类的封装: A、类的所有成员数据变量只能由该类本身的方法代码所访问,属于私有性质。 B、在继承类中可以以“类名.方法名”的方式指定访问基础类中的方法。 C、只有标记为“公开”的方法才能在类代码外部通过该类的对象实体来访问。 -------------------------------------------------------------------------------- 易语言3.7正式版相对于3.7测试版的改动部分: 1、编辑环境可以打开未安装对应支持库的易语言源程序。 2、“内码转换”支持GBK与日文内码SJIS之间的转换。 3、核心支持库中的“对象”数据类型增加了“取接口”方法。 4、“到字节集”、“到文本”命令被增强。 5、“数值到人民币”改名为“数值到金额”。 6、“取系统语言”命令支持linux,并增加日文类别。 7、“取操作系统类别”命令支持linux。 8、所有COM封装对象的“取子对象”方法更改为“取接口”,并增加一参数以取出指定接口。 9、改进后的packcom工具,用3.7测试版中的packcom生成的npk请使用本版本中的packcom打开后保存,以进行转换。 10、对测试过程中发现的所有问题都已经纠正。 -------------------------------------------------------------------------------- 易语言3.7测试版 相对于 3.6 正式版的新增功能: 1、对微软COM技术的全面支持,包括ActiveX组件、OLE自动机、COM类型库等等,详细说明请见ESDN帮助 2、跨平台的网络通讯支持库 3、跨平台的Mysql数据库支持库,且功能全面加强 4、跨平台的多线程支持库 5、EXCEL2000支持库(直接操作Excel) 6、WORD2000支持库(直接操作Word) 7、PowerPoint2000支持库(直接操作PowerPoint) 8、数据图表支持库(柱形图,饼形图、曲线图) 9、脚本语言支持库(可以运行VB script Jave script等脚本) 10、文本语音支持库(提供对文本转语音输出以及语音识别的支持) 11、易语言支持库在运行时支持动态加载 12、枚举常量的支持(详细说明见ESDN帮助) 13、更新了setup安装程序(即菜单"编译生成安装软件"的功能改进,解决了反安装时删除全部目录的问题,添加额外文件时增加了批量添加,还有更多安装功能的增强!) 14、部分功能的加强(如:树型可以高速批量加入项目、标准输入命令支持密码输入、启动多线程支持参数等等) 15、其他很多地方改进。 -------------------------------------------------------------------------------- 易语言 3.6 公司成立纪念版 相对于 3.5 正式版的新增功能: 1、增加了对Linux平台的支持,可以用易语言在Windows环境下编写Linux控制台程序 2、增加了Windows动态链接库(DLL)的编写,用易语言能编写出DLL供自己以及其他编程语言(VB,VC,Delphi等)调用。 3、增加了控制台操作的2个命令“标准输出”、“标准输入”, 4、增加了3个命令:“指针到文本”(文本操作),“指针到字节集”(字节集操作)、“写到内存”(其他),最佳使用场合在易语言回调子程序和易语言DLL公开子程序中用作对外输出数据。 5、增加了图形图像支持库 - 格式1.0版,支持多种图片格式的转换。 6、增加了XP风格界面库1.1版,支持部分控件的4种风格类型的转换。 7、增加了文件压缩/解压缩支持库1.0版,支持.zip格式的压缩解压,同时用本库压缩的.zip文件也可以被其他压缩软件使用 8、增加了多线程支持库1.1版,供对多线程的支持,并通过实现进入许可证机制以避免多线程冲突。 9、增加了数据库操作支持库1.0版,本支持库用来访问各种类型数据库。 10、增加了MySql支持库1.1版,本支持库实现对MySql的支持。 11、扩展界面支持库二1.1版中增加了“IP编辑”窗口组件,支持对IP地址的输入和编辑。 12、修改了易模块的接口结构,在支持原有结构的基础上,增加了新的接口创建方式。 13、开发环境增加了即时输入提示。 14、全面增补帮助文档(esdn.chm),增订图片及例程。 15、其他很多地方改进。 以上新增功能详细情况请看易语言新版esdn帮助文档(esdn.chm),均有详细说明及例程。 -------------------------------------------------------------------------------- 易语言 3.5 正式版 相对于 3.39 版的新增功能: 1、增加了扩展界面支持库二,包含超级按钮、高级影像、分隔条、 超级编辑等窗口单元,包含图片组处理、文档格式转换等分类命令。 2、增加了端口访问支持库,以支持对计算机端口的直接访问。 3、图片组支持真彩且制作工具性能提升。 4、表格拖动选择闪烁的问题已经解决。 5、系统配置中可以设置不显示程序备注。 6、数据源支持设置基于单元格的只读属性。 7、组合和列表的数据绑定实现方式改变。 8、其他很多地方改进。 -------------------------------------------------------------------------------- 易语言 3.39 正式版相对 3.38 版的新增功能: 1、可以读取繁体版易语言编写的程序。 2、增加了 cncnv 内码转换支持库。 3、增加了树型的事件和方法。 4、改进了打印预览。 5、运行时树型的“项目”属性可以读出当前项目数据。 6、可以在“程序设置”对话中设置程序版本号。 7、改正了读取SQL SERVER数据库出现的问题。 8、改正了xp下托盘图标弹出菜单单击桌面不消失的问题。 -------------------------------------------------------------------------------- 易语言 3.38 正式版相对 3.36 版的新增功能: 1、支持加密狗。 2、操作系统界面功能支持库中增加了“关闭系统”命令,支持重启、关机、注销、休眠、冬眠。 3、改进了扩展界面支持库中的透明标签单元。 4、其他改进。 -------------------------------------------------------------------------------- 易语言 3.36 正式版相对 3.3 版的新增功能: 1、开发环境支持源代码打印。 2、开发环境窗口单元箱增加了滚动按钮。 3、改进了安装卸载子系统。 4、改进了端口组件,添加了方法和属性。 5、改进了“操作系统界面功能支持库”中的“创建快捷方式”命令。 6、改进了OCX支持。 -------------------------------------------------------------------------------- 易语言 3.3 正式版相对 3.2 版的新增功能: 1、新增了“操作系统界面功能支持库”,支持Windows外壳功能。 2、试用限次在各版本之间不再累加。 3、支持数据库加密。系统核心支持库数据库类别中增加了“是否已加密”、 “置数据库密码”、“密码输入”、“复制密码”命令。“打开”命令 的数据库密码参数已经启用,改进了数据库管理器和易之表以支持加密 数据库; 4、数据操作支持库一中增加了对RSA数字签名和验证的支持(提供了“数字 签名钥匙测试.e”例程),并增加了对RC4加密算法的支持; 5、系统核心支持库中的“文件读写”类别中增加了“打开加密文件”命令, 用作保存加密文件数据,并提供了“加解密工具.e”例程; 6、改进了安装程序的卸载功能。 -------------------------------------------------------------------------------- 易语言 3.2 正式版相对 3.1 版的新增功能: 1、增加了对OCX组件(即ActiveX组件)的支持。 易语言 3.1 正式版相对 3.0 版的新增功能: 1、支持独立编译,独立编译后的易语言程序可以脱离易语言系统单独运行。 易语言3.0 正式版相对测试五版的新增功能: 1、增加电子注册支持。 易语言3.0 测试五版本相对于测试版三新增功能: 1、“系统处理”命令类别中加入了对配置文件进行操作及取操作系统类别的命令。 2、改进了调试过程中查改容器的功能(移到了工具条上)。 3、完成了安装制作工具的开发,具体请见系统setup目录中的readme.txt文件说明。 只是由于目前编译功能尚未开放,所以暂时不能被使用。 易语言3.0 测试三版本相对于测试版二新增功能: 1、加入了程序调试支持系统。 易语言3.0 Beta版本相对于2.51版本新增加的功能和需要注意点: 一、新增功能: 建立了完全的易程序编译器系统,支持全编译,可以直接将程序编译为CPU指令码 运行,从而突破了长期以来的速度瓶颈。 二、新增特性: 1、子程序指针值为该子程序的内存代码地址,可以直接传递给DLL命令用作回调。 2、只有被使用到的代码和数据才会被编译到可执行文件中。 3、如果需要屏蔽子程序中的某段程序使之不会被编译输出,直接使用类似: “判断循环首(假)”或 “如果真(假)”括住该语句块即可。 4、程序配置中允许设置任

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧