CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  数据库(包含打印,安装,报表)

关于定型文件的问题

楼主xiaoxiao5055(xiaoxiao)2003-06-04 09:56:56 在 VB / 数据库(包含打印,安装,报表) 提问

请问谁用过定型文件,它主要是在你执行一系列程序之后生成的一个文本文件  
   
  当用户下次还做同样的一系列操作时,直接选择按定型文件执行,即可实现上次同样  
   
  的操作。请问这应该如何实现,需要用到   API   函数么? 问题点数:50、回复次数:13Top

1 楼xiaoxiao5055(xiaoxiao)回复于 2003-06-04 10:15:22 得分 0

请问谁用过定型文件,它主要是在你执行一系列程序之后生成的一个文本文件  
   
  当用户下次还做同样的一系列操作时,直接选择按定型文件执行,即可实现上次同样  
   
  的操作。请问这应该如何实现,需要用到   API   函数么?  
   
  有谁可以提供相关的资料么?谢谢  
   
   
   
  Top

2 楼qingming81(晴明)回复于 2003-06-04 10:40:41 得分 0

可能就是所谓的INI文件吧。没有听说过定型文件。Top

3 楼xiaoxiao5055(xiaoxiao)回复于 2003-06-04 11:02:47 得分 0

我还是不明白,但还是谢谢你Top

4 楼qingming81(晴明)回复于 2003-06-04 11:13:17 得分 20

这是API函数的读写INI文件示例:  
  Private   Declare   Function   GetPrivateProfileString   Lib   "kernel32"   Alias   "GetPrivateProfileStringA"   (ByVal   lpApplicationName   As   String,   ByVal   lpKeyName   As   Any,   ByVal   lpDefault   As   String,   ByVal   lpReturnedString   As   String,   ByVal   nSize   As   Long,   ByVal   lpFileName   As   String)   As   Long  
  Private   Declare   Function   WritePrivateProfileString   Lib   "kernel32"   Alias   "WritePrivateProfileStringA"   (ByVal   lpApplicationName   As   String,   ByVal   lpKeyName   As   Any,   ByVal   lpString   As   Any,   ByVal   lpFileName   As   String)   As   Long  
  Private   Sub   Form_Load()  
          'KPD-Team   1999  
          'URL:   http://www.allapi.net/  
          'E-Mail:   KPDTeam@Allapi.net  
          Dim   Ret   As   String,   NC   As   Long  
          'Write   the   setting   to   the   file   (c:\test.ini)   under  
          '       Project1   ->   Keyname  
          WritePrivateProfileString   App.Title,   "KeyName",   "This   is   the   value",   "c:\test.ini"  
          'Create   a   buffer  
          Ret   =   String(255,   0)  
          'Retrieve   the   string  
          NC   =   GetPrivateProfileString(App.Title,   "KeyName",   "Default",   Ret,   255,   "C:\test.ini")  
          'NC   is   the   number   of   characters   copied   to   the   buffer  
          If   NC   <>   0   Then   Ret   =   Left$(Ret,   NC)  
          'Show   our   string  
          MsgBox   Ret  
  End   SubTop

5 楼qingming81(晴明)回复于 2003-06-04 11:14:54 得分 0

实际上就是将程序的相关设置写在INI文件中,下次执行程序时,从记录的INI文件读出相关设置,用户看到的结果就象接着上次程序操作一样!Top

6 楼xiaoxiao5055(xiaoxiao)回复于 2003-06-04 15:13:31 得分 0

谢谢  
   
  我做的是一个数据库访问程序,读出其中的表,最后形成csv   文件。   当用户执  
   
  行一次后,例如选择了一种数据库   a,   又读出了表   b,生成  
   
  了csv   文件   c   ,对这种操作过程生成一个定型文件。   请问如果这个用户,下次  
   
  操作时还需要同样的操作,这时,只要用户选择按照定型文件执行,即可  
   
  按照第一次相同的操作执行我的程序。  
   
  请问这如何实现呢?  
               
               
  Top

7 楼xiaoxiao5055(xiaoxiao)回复于 2003-06-05 08:53:02 得分 0

有办法可以实现么?Top

8 楼qingming81(晴明)回复于 2003-06-05 09:13:34 得分 10

你是要记录用户的操作?好象Windows录制宏一样?  
   
  如果真是这样的话:得记录的东西多着哩。  
   
  象“选择了一种数据库   a,   又读出了表   b,生成了csv   文件   c   ”,如果是用户常用的操作的话,不用写什么定型文件,将这些操作都写在代码里就行了。你需要的只是让用户自己指定表a,指定其中的一个表b,然后就可以了。Top

9 楼qingming81(晴明)回复于 2003-06-05 09:14:59 得分 0

当然也可以写在INI文件中。Top

10 楼xiaoxiao5055(xiaoxiao)回复于 2003-06-05 10:05:34 得分 0

你意思是说,将这些代码在重写,这不是很浪费么?  
  请问写在INI   里该如何写?Top

11 楼qingming81(晴明)回复于 2003-06-05 12:00:38 得分 0

代码怎么会重写?代码是固定的,只是调用的用户指定库及表不同而已。Top

12 楼qingming81(晴明)回复于 2003-06-05 14:09:15 得分 20

'下面给出写INI文件的模块代码:  
  Private   Declare   Function   WritePrivateProfileString   Lib   "kernel32"   Alias   _  
                                                  "WritePrivateProfileStringA"   (ByVal   lpApplicationName   As   String,   _  
                                                    ByVal   lpKeyName   As   Any,   ByVal   lpString   As   Any,   _  
                                                    ByVal   lpFileName   As   String)   As   Long  
  Private   Declare   Function   GetPrivateProfileString   Lib   "kernel32"   Alias   _  
                                                  "GetPrivateProfileStringA"   (ByVal   lpApplicationName   As   String,   _  
                                                    ByVal   lpKeyName   As   Any,   ByVal   lpDefault   As   String,   _  
                                                    ByVal   lpReturnedString   As   String,   ByVal   nSize   As   Long,   _  
                                                    ByVal   lpFileName   As   String)   As   Long  
   
  Public   Sub   SetIni(Strkey   As   String,   Stritem   As   String,   Str   As   Variant)  
        '文件写入函数   '[strkey]为小节名称、stritem=   为项名或条目名、   buff为写入的值  
        Dim   lngX   As   Long  
        Dim   buff   As   String   *   128  
         
        buff   =   Str   &   Chr(0)  
        lngX   =   WritePrivateProfileString(Strkey,   Stritem,   buff,   App.Path   &   "\Test.ini")  
  End   Sub  
   
  Public   Function   GetIni(Strkey   As   String,   Stritem   As   String)   As   String  
        '取得初始信息的子过程   '[strkey]小节名称、stritem=   要取得地项名或条目名的值  
        Dim   lngX   As   Long,   intX   As   Integer  
        Dim   buff   As   String   *   128  
         
        Call   GetPrivateProfileString(Strkey,   Stritem,   "",   buff,   128,   App.Path   &   "\Test.ini")  
        intX   =   InStr(buff,   Chr(0))  
        GetIni   =   Trim(Left(buff,   intX   -   1))  
        '返回字串  
  End   Function  
   
   
  '在每次退出时写  
        Testfile   =app.path   &   "\A.txt"  
        SetIni   "Test",   "TestFile",   TestFile  
   
  '在每次启动时写,你将得到上次退出写下的文件名及路径TestFile。  
   
        TestFile   =   GetIni("Test",   "TestFile")  
  Top

13 楼qingming81(晴明)回复于 2003-06-05 14:12:24 得分 0

你可以用同样方式,将用户选择的数据库a,及表b的名字保存在INI文件中,下次用户启动时,在INI文件中读出数据库a,及表b的名字,用程序内部的代码生成csv   文件   c。就可以了。Top

相关问题

  • 文件
  • 文件
  • 文件
  • name 文件 as 文件 请教
  • 写文件,读文件
  • lib文件与a文件
  • BMP文件转GIF文件
  • About .ini 文件
  • 改文件名
  • 文件上载

关键词

  • .net
  • 文件
  • 执行
  • 用户
  • 函数
  • 代码
  • 数据库
  • 选择
  • 定型
  • 操作

得分解答快速导航

  • 帖主:xiaoxiao5055
  • qingming81
  • qingming81
  • qingming81

相关链接

  • Visual Basic类图书
  • Visual Basic类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo