Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共7 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:外部数据文件选择

1楼
sophia 发表于:2010/8/8 19:39:00

在帮助文件BeforeConnectOuterDataSource事件中,事例3是弹出一个对话框,用来选择外部数据文件.

我想做到当第一次选择了外部数据文件以后,下次就不再弹出对话眶了.把项目文件安装在局域网上的另外一台电脑上也要做到同样要求,该怎么做呢?

2楼
qtcks 发表于:2010/8/8 20:26:00

查看

保存设置信息

 

一个完整的系统,通常会提供一些自定义的设置给用户,以便满足不同的用户需要。
FoxTable提供了一些函数,分别用于保存、读取和维护设置信息

示例

假定你提供给客户的是一个试用版本,希望最多使用30次,可以在项目事件AfterProject事件中加入如下代码:

Dim n As Integer
n = GetConfigValue("Count",1) '假定保存试用次数的设置名称为Count
If
n > 30 Then
    Messagebox.Show("您正在使用的产品已经超出试用次数!")
    Syscmd.Project.Exit()
Else
   
n = n + 1
    SaveConfigValue("Count",n)
End
If

3楼
sophia 发表于:2010/8/8 21:22:00

BeforeConnectOuterDataSource事件代码如下:

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

执行后报错:


图片点击可在新窗口打开查看此主题相关图片如下:123.jpg
图片点击可在新窗口打开查看

好象是每找到变量"ljcs"的值,可是该怎么样去判断呢?

[此贴子已经被作者于2010-8-8 21:24:14编辑过]
4楼
狐狸爸爸 发表于:2010/8/8 22:45:00

BeforeConnectOuterDataSource

可能还不能使用配置文件吧,改用注册表吧。

5楼
sophia 发表于:2010/8/8 23:15:00

狐爸: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

6楼
sophia 发表于:2010/8/8 23:43:00

把代码做如下修改,好用了.但是是前两次启动出现提示框,可能每一次读取注册表的时间较慢才造成的.

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

7楼
狐狸爸爸 发表于:2010/8/9 8:41:00

应该:

 

If C < 1  Then

 

而不是:

 

If C <= 1  Then

 

 

这样就只有第一次出现提示.

共7 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .03516 s, 2 queries.