Rss & SiteMap
Foxtable(狐表) http://www.foxtable.com
在帮助文件BeforeConnectOuterDataSource事件中,事例3是弹出一个对话框,用来选择外部数据文件.
我想做到当第一次选择了外部数据文件以后,下次就不再弹出对话眶了.把项目文件安装在局域网上的另外一台电脑上也要做到同样要求,该怎么做呢?
查看
保存设置信息
一个完整的系统,通常会提供一些自定义的设置给用户,以便满足不同的用户需要。
FoxTable提供了一些函数,分别用于保存、读取和维护设置信息。
示例
假定你提供给客户的是一个试用版本,希望最多使用30次,可以在项目事件AfterProject事件中加入如下代码:
Dim
n As IntegerBeforeConnectOuterDataSource事件代码如下:
Dim ljcs As Integer
ljcs = GetConfigValue("lj",1) '假定保存试用次数的设置名称为Count
If ljcs = 1 Then
If e.Name = "办证平台外部数据源" Then
Dim dlg As New OpenFileDialog
dlg.title= "请选择数据来源"
dlg.Filter= "Access文件|*.mdb"
If dlg.ShowDialog = DialogResult.Ok Then
e.C & dlg.FileName & ";Persist Security Info=False"
End If
End If
Else
ljcs=ljcs+1
SaveConfigValue("lj",ljcs)
End If
执行后报错:
好象是每找到变量"ljcs"的值,可是该怎么样去判断呢?
BeforeConnectOuterDataSource
可能还不能使用配置文件吧,改用注册表吧。
狐爸:BeforeConnectOuterDataSource事件代码有错误吗?怎么没达到效果呢?
Dim Count As Integer
Count = Registry.GetValue("HKEY_CURRENT_USER\Software\MyApp","Count",1)
If Count = 1 Then
If e.Name = "办证平台外部数据源" Then
Dim dlg As New OpenFileDialog
dlg.title= "请选择数据来源"
dlg.Filter= "Access文件|*.mdb"
If dlg.ShowDialog = DialogResult.Ok Then
e.C & dlg.FileName & ";Persist Security Info=False"
End If
End If
Else
Registry.SetValue("HKEY_CURRENT_USER\Software\MyApp","Count",Count + 1)
End If
把代码做如下修改,好用了.但是是前两次启动出现提示框,可能每一次读取注册表的时间较慢才造成的.
Dim C As Integer
C = Registry.GetValue("HKEY_CURRENT_USER\Software\MyApp","Count",0)
If C <= 1 Then
If e.Name = "办证平台外部数据源" Then
Dim dlg As New OpenFileDialog
dlg.title= "请选择数据来源"
dlg.Filter= "Access文件|*.mdb"
If dlg.ShowDialog = DialogResult.Ok Then
e.C & dlg.FileName & ";Persist Security Info=False"
End If
End If
Registry.SetValue("HKEY_CURRENT_USER\Software\MyApp","Count",C + 1)
End If
应该:
If C < 1 Then
而不是:
If C <= 1 Then
这样就只有第一次出现提示.