📄 9932.txt
字号:
window.status = "未知元素"
}
return true;
}
//鼠标离开事件: 删除状态条信息
function statusCancel( e )
{
window.status = "";
return true;
}
// 鼠标单击事件: 随机修改按钮名字
function changeName( e )
{
if ( e.element.name )
{
var oldName = e.element.name;
fHighlightNow = false;
if ( oldName.indexOf( "mutable" ) == -1 )
return true;
var newName = "mutable ";
if ( oldName.indexOf( "highlight " ) == -1 && Math.random()
* 2 < 1 )
{
newName += "highlight ";
fHighlightNow = true;
}
else
unhighlightState( e );
if ( oldName.indexOf( "flip " ) == -1 && Math.random() * 2 < 1 )
newName += "flip ";
// 新名字赋值且显示之
e.element.name = newName;
statusWrite( e );
// 如当前元素应突出显示,则调用highlightState显示
if ( fHighlightNow )
highlightState( e );
}
return true;
}
清单6提供一个用于测试上述脚本的HTML页面,除了在开始处有包含
外部脚本的声明之外,整个文档不再有其它关于事件及其处理句柄的代码。
该页面包含5各按钮,在通用事件接口的控制之下,发生在按钮上的事件被
不同的句柄联合处理,从而表现出不同行为。
【清单6 Test.htm】
< HTML>
< HEAD>
< TITLE>统一事件模型测试< /TITLE>
< SCRIPT src = "events.js">< /SCRIPT>
< SCRIPT src = "hStatusWrite.js">< /SCRIPT>
< SCRIPT src = "hFlipButton.js">< /SCRIPT>
< /HEAD>
< BODY>
< form>
< br>< br>
< input type="button" name="button1" value="BUTTON">
< br>< br>
< input type="button" name="flip" value=" SLOW ">
< br>< br>
< input type="button" name="highlight" value=" ALERT ">
< br>< br>
< input type="button" name="flip_highlight" value=" FAST ">
< br>< br>
< input type="button" name="mutable" value=" CHANGE ">
< br>< br>
< /form>
< /BODY>
< /HTML>
****************************************************************
****************************************************************
◆下载专区◆
TILISOFT Internet ActiveX Controls 1.0.2 (443K)
是一个向HTTP服务器检索和张贴数据的ActiveX控件。
它让你从互联网检索HTML页面,使用“张贴获取”方式向HTTP服务器提交
数据。该程序支持使用TCP/IP协议向互联网传输文件。
相关站点: http://www.tilisoft.com/v200b/download/
下载地址: http://www.tilisoft.com/public/vb/tlsNet.zip
Extended FTP Control 1.0 (19K)
一个 ActiveX 控件,支持拖放上载。
任何文件或者是分组的文件只要拖放到控件上,就可以自动地上载到一个
相连的 FTP 服务器上。另外,它支持所有标准的 FTP 操作,包括连接、
断开、取得文件、上传文件等等。文件传输可以是binary 或者 ASCII 方
式。它有一个状态条来显示已经传输的字节数,可以使你在完成命令之后
进行确认。
相关站点: http://www.coyotecorp.com/products/Productdetail.asp?ProductID=12
下载地址: ftp://www.coyotecorp.com/cscxftp.zip
****************************************************************
****************************************************************
◆有问必答◆
★本期回答★
●110. 回答请mailto: yaozheng@kali.com.cn?subject=110
有一数列,“123456”,请穷尽这一组数列。
如:123456
123465
123546
123564
123645
123654
:
:
:
654321
编一程序打印这一组数列的所有组合。请各位将源程序写出来,尽快发
给我好吗?李欢 li_huan@netease.com
答:
这是我几年以前编的一个程序(主要是一个递归函数),编译环境
为Borland C++3.1 for Dos,希望能对你有所帮助。
#include <iostream.h>
#include <math.h>
#include <iomanip.h>
#include <conio.h>
#include <dos.h>
#define M 6
#define MAX 1000
static int data[MAX][M],line;
static int s[M]={0,1,2,3,4,5};
int factorial(int n) { return n<2?1:n*factorial(n-1); }
void change(int *t,int n)
{
if (n==1) data[line++][M-1]=t[0];
if (n>1) {
for (int i=0,j,maxt,temp[M];i<n;++i) {
maxt=0;
j=0;
while (j<n) {
if (i!=j) temp[maxt++]=t[j];
++j;
}
change(temp,maxt);
for (int k=line-factorial(n-1);k<line;++k)
data[k][M-n]=t[i];
}
}
}
void main()
{
if (MAX<factorial(M)) {
cout << "Program aborted!" << endl;
sound(1000);
delay(500);
nosound();
return;
}
for (int i=0;i<M;++i)
cout<<s[i]<<" ";
cout<<endl;
cout<<endl;
change(s,M);
cout<<endl;
i=0;
for (int j,l=2,m=factorial(M);i<m;++i) {
for (j=0;j<M;++j)
cout<<data[i][j]<<" ";
cout<<endl;
if (l++/22&&i-1<m) {
l=0;
cout<<"Press any key to conitue..";
if (getch()==27) return;
cout<<endl;
}
}
cout<<"Press any key to end..";
getch();
cout<<endl;
}
_______________________________________________________________
★本期提问★
113. 回答请mailto: yaozheng@kali.com.cn?subject=113
各位好:我想在VISUAL JAVA中编数据库管理程序,不知如何设计打印报
表,就象VFP那样。回答MAIL TO: yangdx@990.net
114. 回答请mailto: yaozheng@kali.com.cn?subject=114
请问如何在 C++ Builder 中注册 AnsiString 类的属性编辑器?例如我
定义了一个 FileName 的属性,并且我也写好了该属性的编辑器类
TFileNameProperty, 但当我用 RegisterPropertyEditor 函数进行注册
时竟然不行,具体情况如下:
第一种情况:
RegisterPropertyEditor( __typeinfo( AnsiString ), NULL, "FileName",
__classid( TFileNameProperty ) );
这种情况将有错误返回,表示 __typeinfo 仅支持 VCL 类。
第二种情况:
TTypeInfo ti;
ti.Kind = tkString; // 或 tkLString、tkWString、...
ti.Name = "AnsiString"; // 或 String、...
RegisterPropertyEditor( &ti, NULL, "FileName", __classid( TFileNameProperty ) );
这种情况没有错误,但却没有注册该属性编辑器。
我知道如果用 Delphi,可以很轻松地实现:
RegisterPropertyEditor( TypeInfo( String ), nil, 'FileName', TFileNameProperty );
但我的程序全部用 C++ 做,不可能都转成 Delphi, 请问有没有只用
C++ 就可解决的办法? fslz@163.net
115. 回答请mailto: yaozheng@kali.com.cn?subject=115
C++ Builder中的控件NMHTTP支持Proxy Server来进行HTTP存取,但不方
便显示;控件HTML支持URL的方便显示,但是不支持Proxy Server,实际程
序设计中很多情况下都须通过代理服务器来访问Internet,怎样才可以将
两者结合起来呢? Amily_HJQ@gf.com.cn
116. 回答请mailto: yaozheng@kali.com.cn?subject=116
我是个VB新手,现要实现在程序中格式打印表格,不知如何下手?
hyyue@990.net
117. 回答请mailto: yaozheng@kali.com.cn?subject=117
我现在正在学习vfp6.0编程。刚好单位有一套原来在foxbase2.1+下面
开发的工资管理系统,现在单位买了一台新电脑,是pwin98平台。我想把工
资系统移到pwin98下,但发现不修改直接运行的话有很多问题,但要修改的
话,而vfp6.0与foxbase2.1+之间又有许多差别,修改复杂度与重新设计有
差不多的工作量。因此决定按照原功能用vfp6.0重新设计一套工资管理系统。
原工资系统通用性比较强,它可以让操作员根据实际情况,自己修改
工资结构,使得每月的工资构成可以根据实际情况而变化。我也发现这一功
能很实用,但我就是不知道在vfp6.0中怎么实现,(表单设计时控件也同时
设计上去了,固定的控件。假如运行表单时添加控件,添加语句又不能放在
循环语句中)。
真心向您请教在vfp6.0中怎样实现工资结构可以经常变化的管理系统功
能,同时怎样在打印机上灵活打印工资结构不同的报表。谢谢!
如回信请发邮件: zgh@2911.net
118. 回答请mailto: yaozheng@kali.com.cn?subject=118
请问:如何在中文 VB 5.0 中将TEXTBOX(文本框)的移动方向颠倒?(文
本框有一个参数 Righttoleft,但是不起作用),多谢!
刀狼 kemu@telekbird.com.cn
119. 回答请mailto: yaozheng@kali.com.cn?subject=119
我是一个vb初学者,想请教:在数据库中如何进行绝对定位.
唐磊 tle_mail@263.net
120. 回答请mailto: yaozheng@kali.com.cn?subject=120
我在SCO上装了SYBASE11,要求如下
1。一个客户程序(SCO或W95)向一个表里不定时追加数据。
2。另一个客户程序(可在SYBASE服务器上或远端的SCO、W95)尽可能快地
响应数据的变化。
我现在的方法,是这第二个程序不停轮询表,如果发现新数据,程序执行
其后操作。这种方法是不是太笨了?系统开销应该很大的。
设想能不能在表里数据变化时,由数据库server触发(调用、通知)客户
进程?发出一个消息,产生一个信号或生成一个操作系统级的标记文件等
等。我知道数据库里有触发器,但触发器的作用范围是否只局限于数据库
内部?谢谢 chenhao@263.net
121. 回答请mailto: yaozheng@kali.com.cn?subject=121
各位好!我是一名delphi初学者,请那位高手指点一下!我想控制一个在
windows下的Dos模拟窗口,但是窗口必须输入"Enter"键才能继续接受响
应,我怎样通过delphi向dos窗口发送键盘指令.谢谢!
韦明 weimingxx@263.net
122. 回答请mailto: yaozheng@kali.com.cn?subject=122
我在BCB3下用mediaplayer编程放CD没有问题,可到了BCB4下就不能运行,
提示加载的文件不正确或文件已损坏,不知何故?
MediaPlayer->FileName=EmptyStr;
MediaPlayer1->DeviceType=tdCDAuio;
MediaPlayer1->Open();
MediaPlayer1->Open();
望哪位大侠告知原因。 yfaqing@hotmail.com
提问信箱: yaozheng@kali.com.cn?subject=question
如果您有什么疑难问题,请发到上面的信箱里,我会及时把您的问题放在
杂志上的,希望编程高手们能不吝赐教,也希望这个栏目能成为大家交流
的场所。
****************************************************************
****************************************************************
◆编者的话◆
本刊已加入【CHINA-EZL】中国电子杂志联盟
联盟主页地址 http://china-ezl.yeah.net
◆欢迎光临我的个人主页
●《编程技术》 http://person.zj.cninfo.net/~yao
本刊的同名主页,主要以收集各类编程工具控件和程序源代码为主。
●《C++ Builder世界》 http://cppbuilder.myrice.com
本人最新制作的个人主页,是一个探讨C++ Builder编程的专题
网站,为广大的C++ Builder爱好者搜集关于C++ Builder的一切。
◆《编程技术》订、退方法:
请到本刊主页进行订退工作 http://person.zj.cninfo.net/~yao
如果您觉得这份刊物还不错的话,欢迎把它介绍给您的朋友.
不知道您看了这期刊物有什么想法或者是意见,欢迎向我提出来.
本人感激不尽,我的联系方法如下:
E-mail:yaozheng@kali.com.cn
ICQ#: 43260473
**************************THE END**************************
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -