数据库

本类阅读TOP10

·SQL语句导入导出大全
·SQL Server日期计算
·SQL语句导入导出大全
·SQL to Excel 的应用
·Oracle中password file的作用及说明
·MS SQLServer OLEDB分布式事务无法启动的一般解决方案
·sqlserver2000数据库置疑的解决方法
·一个比较实用的大数据量分页存储过程
·如何在正运行 SQL Server 7.0 的服务器之间传输登录和密码
·SQL中两台服务器间使用连接服务器

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
如何实现数据的自动录入

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

用户录入数据时经常会遇到大量重复数据,即录入下一条记录的某个字段时,其值与上一条记录同字段的值相同。如果编些程序自动录入相同值会大大提高录入速度。
具体实现方法如下:
一、程序中主要用到的函数
1、FileOpen() 功能:以指定的读写模式打开指定的文件,同时返回文件的句柄。
2、FileWrite() 功能:从指定文件读取数据。
3、FileClose() 功能:关闭先前用FileOpen()函数打开的文件。
4、settext() 功能:得到当前行和列之上的编辑框中的值。
5、gettext() 功能:替换在DataWindow控件或DataStore对象的当前行列的编辑框控件中的文本。
6、send() 功能:向窗口发送指定的消息并立即执行相应的事件处理程序。
7、describe() 功能:返回DataWindow对象或Datastore对象中的其它对象的属性值。
以上函数在有关Pb的函数书中均可以找到,这里不再详述,但要注意后面两个函数的使用方法。
二、具体实现方法
1、建立window具体控件名称如图1所示。
2、定义实例变量数组 string is_value[] 和 integer if_File(存放打开文件的句柄)
string is_columncount
3、在window的Open事件中编写如下代码
int i
if_File = FileOpen("Sys.ini",LineMode!, Read!, LockRead!)
is_columncount = dw_input.Describe("DataWindow.Column.Count") //取得DataWindow对象的总列数
for i = 1 to integer(is_columncount)
FileRead(if_File, is_value[i])
next
FileClose(if_File)
dw_input.Scrolltorow(dw_input.rowcount()) //将光标设置到最后行列
dw_input.setcolumn(integer(is_columncount))
在window 的Close事件中编写如下代码
int i
if_File = FileOpen("Sys.ini",LineMode!, Write!, LockWrite!, Replace!)
for i = 1 to integer(is_columncount)
FileWrite(if_File, is_value[i])
next
FileClose(if_File)
4、给Datawindow control自定义一个回车键事件:
Event name: ue_keyenter Event ID: pbm_dwnprocessenter
5、在Datawindow control的ue_keyenter事件中写入以下代码
is_value[this.getcolumn()] = this.gettext()
Send(Handle(this),256,9,Long(0,0))
this.settext(is_value[this.getcolumn()])
return 1
在Datawindow control的constructor事件中写入以下代码
this.Settransobject(sqlca)
this.retrieve()
6、给cb_append自定义一个回车事件
Event name: ue_keydown Event ID: pbm_keydown
在cb_append的clicked事件中写入以下代码
dw_input.Setfocus()
dw_input.ScrollToRow(dw_input.InsertRow(0)) //追加一空记录并指向新记录
dw_input.SetColumn(1) //指向公寓名列
dw_input.Settext(is_value[1])
在cb_append的ue_pbm_keydown事件中写入以下代码
if keydown(keyenter!) then
this.Triggerevent(clicked!)
end if
※ 注意各个控件的tab order的顺序。
以上步骤只是简单的实现快速录入,如果遇到具体情况还应该做更详细的编码。




相关文章

相关软件