社区
C++ Builder
帖子详情
如何操纵ini文件?
zhxlx
2002-03-12 07:31:25
如何操纵ini文件。有这样的控件吗?
ini文件的格式是什么样的,如这方面资料吗?
zhanghongxing@0451.com
...全文
36
5
打赏
收藏
如何操纵ini文件?
如何操纵ini文件。有这样的控件吗? ini文件的格式是什么样的,如这方面资料吗? zhanghongxing@0451.com
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
tg123
2002-03-12
打赏
举报
回复
TIniFile
lshon
2002-03-12
打赏
举报
回复
用TIniFies
记着加
#include <inifiles.hpp>
蚂蚁
2002-03-12
打赏
举报
回复
bcb中有个TIniFile类,看看帮助就明白了
40Star
2002-03-12
打赏
举报
回复
TiniFile
查帮助
由例子
ylm163net
2002-03-12
打赏
举报
回复
bcb的help很详细,
查TIniFile
给你渔
crud
ini
命令
操纵
ini
文件
crud
ini
是 Pádraig Brady 用 Python 开发的、用来对配置
文件
(即
ini
文件
)进行编辑的工具。crud是4个单词的首字母简写,即create、read、update和delete,中文译为“增删改查”。这个是数据的最常见的4类操作方法。有些软件的配置
文件
采用的是
ini
格式,如php.
ini
。这样的配置
文件
往往会成若干个段落。段落以[default]之类的格式标识。具体的配置条目则为“datadir=/var/lib/data”形式。 语法格式: crud
ini
[参数] [
文件
] 常用参数: –format=FMT 为–get 使用,选择输出格式。格式有
autorun.
ini
详解
一、autorun.inf是windows下
操纵
光盘行为的一个
文件
,需要放在光盘根目录下,部分操作对于硬盘也适用。 二、autorun.inf是可以被禁止的。方法如下: 点击开始->运行,在文本框中输入regedit或者regedt32。依次展开HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Exploer,其中的NoDriveTypeAutoRun子键限制着Autorun的作用范围,默认为95(16进制)。
非Access数据库在VB中的编程及应用
存取对象变量库结构作为一个功能较完备的Windows软件开发平台,Visual Basic专业版提供了对数据库应用的强大支持。尤其提供了使用数据控件和绑定控制项,使用数据库存取对象变量(Data Access Object Variable),直接调用ODBC 2.0 API接口函数等三种访问数据库的方法。对其标准内置的Ms Access数据库,它可以提供不弱于专业数据库软件的支持,可以进行完整的数据库维护、操作及其事务处理。在VB中,将非Access数据库称为外来数据库。对于FoxPro、dBASE、Paradox等外来数据库。虽然借助VB的Data Manager 能够对这些数据库进行NEW、OPEN、DESIGN、DELETE等操作,但在应用程序的运行状态中并不能从底层真正实现这些功能。本文从使用数据库存取对象变量的方法出发,实现了非Access格式数据库(以FoxPro数据库为例)的建新库、拷贝数据库结构、动态调入等操作,阐述了从编程技巧上弥补VB对这些外来数据库支持不足的可行性 。 一 、 VB数据库的体系结构具体的VB的数据库结构。 VB数据库的核心结构是所谓的MicroSoft JET数据库引擎,JET引擎的作用就像是一块"面 板",在其上可以插入多种ISAM(Indexed Sequential Access Method,即索引顺序存取方 法) 数据驱动程序。JET引擎为Access格式数据库提供了直接的内部(build-in)支持,这就是VB对Access数据库具有丰富支持的真正原因。 VB专业版中提供了FoxPro、dBASE(或 Xbase)、Paradox、Btrieve等数据库的ISAM驱动程序,这就使得VB能支持这些数据库格 式。另外,其他的许多兼容ISAM的驱动程序也可以通过从厂商的售后服务得到。因而从理论上说,VB能支持所有兼容ISAM的数据库格式(前提是只需获得这些数据库的ISAM驱动接口程序)。 由上可见,Ms JET引擎实质上提供了:一个符合ANSI标准的语法分析器;为查询结果集的使用而提供的内存管理功能;同所支持的数据库的外部接口;为应用代码提供的内部接口。实际上,在VB中从一种数据库类型转化为另一种数据库类型几乎不需要或只需要很少的代码修改。而且,尽管dBASE、Paradox本身的DDL (Data Def
ini
tion Language,即数据定义语言)和DML(Data Manipulation Language,即数据
操纵
语言)是非结构化查询的,但它们仍然可以使用VB的SQL语句和JET引擎来
操纵
。 从VB的程序代码的角度来看,ODBC,ISAM驱动程序以及Ms Access数据库的整个外部结构够可以统一为一个一致的编程接口。也即是说,提供给VB应用程序员的记录集对象视图同所使用的数据库格式及类型是相互独立的。即对FoxPro等数据库仍然可以使用众多的数据库存取对象变量,这就为非Access数据库的访问提供了最重要的方法。 二 、使用非Access数据库时的参数设置及配置
文件
的参数读取如果在VB的程序中使用了数据库的操作,将应用程序生成EXE
文件
或打包生成安装程序后,则必须提供一个配置 (.
INI
)
文件
,在
INI
文件
中可以对不同类型的数据库进行设置。如果找不到这个
INI
文件
, 将会导致不能访问数据库。通常情况下,
INI
文件
的
文件
名和应用程序的名称相同,所以如果没有指明,VB的程序会在Windows子目录中去找和应用程序同名的
INI
文件
。可以使用VB中的SetDataAccessOptions语句来设置
INI
文件
。 SetDataAccessOptions语句的用法如下:SetDataAccessOptions 1 ,
Ini
FileName其中
Ini
FileName参数指明的是
INI
文件
的带路径的
文件
名。值得注意的是,当应用程序找不到这个
INI
文件
时,或在调用 OpenDataBase函数时对其Connect参数值没有设定为VB规定的标准值,如对FoxPro 2.5格式设定为了" FoxPro;"(应为" FoxPro 2.5; "),或者没有安装相应的ISAM驱动程序,则此时VB会显示一条错误信息" Not Found Installable ISAM "。通常,
INI
文件
在应用程序分发出去以前已经生成,或者在安装时动态生成,也可以在应用程序中自己生成。 通常这种
INI
文件
中有" [Options]"、"[ISAM]"、" [Installed ISAMs]"、"[FoxPro ISAM]"、"[dBASE ISAM] " 、" [Paradox ISAM] "等设置段,对于一个完整的应用程序则还应有一个属于应用 程序自己的设置段如" [MyDB]”。可在其中设置DataType、Server、DataBase、 OpenOnStartup、DisplaySQL、QueryTimeOut等较为重要的数据库参数,并以此限定应用程序一般的运行环境。 Windows API接口函数在Kernel.exe动态链接库中提供了一个OSWritePrivateProfileString函数,此函数能按Windows下配置
文件
(.
INI
)的书写格式写入信息。 在通常情况下,应用程序还需要在运行时读取配置
文件
内相关项的参数。比如PageTimeOut(页加锁超时时限)、MaxBufferSize(缓冲区大小)、LockRetry(加锁失败时重试次数)等参数,通过对这些参数的读取对应用程序运行环境的设定、潜在错误的捕获等均会有很大的改善。 设此应用程序的配置
文件
为MyDB.
INI
,则具体过程如下:Funtion Get
INI
String$( Byval Fname$ ,Byval szItem$ ,Byval szDeFault$ ) ' 此自定义子函数实现
INI
文件
内设置段内参数的读取Dim Tmp As String,x As Integer Tmp = String( 2048,32 ) x = OSGetPrivateProfileString(Fname$,szItem$ , szDefault$,Tmp,Len(Tmp) ," MyDB.
INI
" ) Get
INI
String = Mid$( Tmp,1,x ) EndFunction以下这些函数的声明可写在模块
文件
内,且每个函数的声明必须在一行内Declare Function OSGetPrivateProfileString% Lib "Kernel" Alias "GetPrivateProfileString" (ByVal AppName$, ByVal KeyName$, ByVal keydefault$, ByVal ReturnString$, ByVal NumBytes As Integer, ByVal FileName$) Declare Function OSWritePrivateProfileString% Lib "Kernel" Alias "WritePrivateProfileString" (ByVal AppName$, ByVal KeyName$, ByVal keydefault$, ByVal FileName$) Declare Function OSGetWindowsDirectory% Lib "Kernel" Alias "GetWindowsDirectory" (ByVal a$, ByVal b%) Sub Form1_Load( ) Dim st As String Dim x As Integer Dim tmp As String tmp = String$( 255, 32 ) '
INI
文件
内为各种数据库格式指明已安装的相应ISAM驱动程序x = OSWritePrivateProfileString(" Installable ISAMS", "Paradox 3.X", "PDX110.DLL", "MyDB.
INI
" ) x = OSWritePrivateProfileString( "Installable ISAMS", "dBASE III", "XBS110.DLL", "MyDB.
INI
" ) x = OSWritePrivateProfileString( "Installable ISAMS", "dBASE IV", "XBS110.DLL", "MyDB.
INI
" ) x = OSWritePrivateProfileString( "Installable ISAMS", "FoxPro 2.0", "XBS110.DLL", "MyDB.
INI
" ) x = OSWritePrivateProfileString( "Installable ISAMS", "FoxPro 2.5", "XBS110.DLL", "MyDB.
INI
" ) x = OSWritePrivateProfileString( "Installable ISAMS", "Btrieve", "BTRV110.DLL", "MyDB.
INI
" ) x = OSWritePrivateProfileString( "dBase ISAM", "Deleted", "On", "MyDB.
INI
" ) ' 指明
INI
文件
的位置x = OSGetWindowsDirectory( tmp, 255 ) st = Mid$( tmp, 1, x ) SetDataAccessOption 1, st + "\mydb.
ini
" '获得
INI
文件
一些参数 gwMaxGridRows = Val(Get
INI
String( " MyDB.
INI
" ,"MaxRows", "250" )) glQueryTimeout = Val(Get
INI
String( " MyDB.
INI
" ,"QueryTimeout", "5" )) glLoginTimeout = Val(Get
INI
String( " MyDB.
INI
" ,"LoginTimeout", "20" )) End Sub 三 、数据存取对象变量对外来数据库编程的方法及其实例在VB专业版数据库编程的三种方法中,第二种-使用数据库存取对象变量(DAO)的方法最具有功能强大、灵活的特点。 它能够在程序中存取ODBC 2.0的管理函数;可以控制多种记录集类型:Dynaset,Snapshot 及Table记录集合对象;可以存储过程和查询动作;可以存取数据库集合对象,例如 TableDefs,Fields,Indexes及QueryDefs;具有真正的事物处理能力。因而,这种方法对数据库处理的大多数情况都非常适用。 由于VB中的记录集对象与所使用的数据库格式及类型是相互独立的,所以在非Access数据库中也可以使用数据库存取对象变量的方法。因而 对FoxPro等外来数据库而言,使用数据库存取对象变量的方法同样也是一种最佳的选择。 有一点需要注意的是,VB的标准版中仅能使用数据控件(Data Control)对数据库中的记录进行访问,主要的数据库存取对象中也仅有Database、Dynaset对象可通过数据控件的属 性提供,其它的重要对象如TableDef、Field、Index、QueryDef、Snapshot、Table等均不能在VB的标准版中生成,所以使用数据存取对象变量的方法只能用VB 3.0以上的专业版。 (一)、非Access数据库的新建及库结构的修改VB专业版中的数据库存取对象变量可以分为两类,一类用于数据库结构的维护和管理,另一类用于数据的存取。其中表示数据库结构时可以使用下面的对象: DataBase、TableDef、Field、Index,以及三个集合 (Collection): TableDefs、Fields和Indexes 。每一个集合都是由若干个对象组成的,这些数据对象的集合可以完全看作是一个数组,并按数组的方法来调用。一旦数据库对象建立后,就可以用它对数据库的结构进行修改和数据处理。对于非Access数据库,大部分都是对应于一个目 录,所以可以使用VB的MkDir语句先生成一个目录,亦即新建一个数据库。而每一个非 Access数据库
文件
可看作是此目录下的一个数据表(Table),但实际上它们是互相独立的。 下面是新建一个FoxPro 2.5格式数据库的程序实例。 Sub CreateNew ( ) Dim Db1 As database , Td As TableDefs Dim T1 As New Tabledef , F1 As New Field , F2 As New Field , F3 As New Field Dim Ix1 As New Index Dim Path As String Const DB_TEXT = 10 , DB_INTEGER = 3 ChDir "\" Path$ = InputBox( " 请输入新路径名: ", "输入对话框" ) MkDir Path$ ' 新建一个子目录Set Db1 = OpenDatabase(Path$, True, False, "FoxPro 2.5;") Set Td = Db1.TableDefs T1.Name ="MyDB" '新建一个数据表,数据表名为MyDB F1.Name = "Name" , F1.Type = DB_TEXT , F1.Size = 20 F2.Name = "Class" , F2.Type = DB_TEXT , F2.Size = 20 F3.Name = "Grade" , F3.Type = DB_INTEGER T1.Fields.Append F1 '向数据表中添加这些字段T1.Fields.Append F2。
mtype命令 mtools工具
mtype为mtools工具命令,模拟MS-DOS的type命令,可显示MS-DOS
文件
的内容。 语法格式: mtype [参数] [
文件
] 常用参数: -s 去除8位字符码集的第一个位,使它兼容于7位的ASCII。 -t 将MS-DOS文本
文件
中的”换行+光标移至行首”字符转换成Linux的换行字符。 参考实例 打开名为dos.txt 的MS-DOS
文件
可使用如下命令: [root@linuxcool ~]# mtype dos.txt 与该功能相关的Linux命令:crud
ini
命令 –
操纵
ini
文件
spell命令 – 建立拼写检查程序uniq命令 – 去除
文件
中的
DELPHI专题文档-程序应用
DELPHI专题文档-程序应用 更改Windows95的墙纸 类似于VB中的doevents功能 DELPHI下的多线程程序设计 用Delphi 3.0编制MP3音乐点歌台 用Delphi开发windows95屏幕保护预览程序 判断一个程序是否dos版本 Delphi自定义消息应用一例 显示密码编辑框中的密码 也谈Delphi中的日期输入 用修改
文件
时间的方法来加密
文件
在DELPHI中处理时间 在Delphi中用拼音首字符序列来实现检索功能 用Delphi创建Internet快捷方式 用Delphi实现远程屏幕抓取 资源
文件
在DELPHI中的使用 在DELPHI应用程序中使用DLL 为DELPHI应用程序制作安装程序 用注册表对Delphi程序进行加密 在Delphi程序中操作注册表 鼠标和键盘控制 如何为Delphi程序添加事件和事件处理器 在Delphi应用程序中拖动控件 用DEPHI为应用软件建立注册机制 用Delphi创建临时
文件
Delphi 5快速创建控制面板程序 Delphi经验技巧集锦 Microsoft Agent技术在Delphi中的应用 怎样建立简单的任务栏应用程序 判断一个程序是否dos版本 利用Delphi 5中调用Excel 97 利用Dll实现通用密码验证框 如何访问一个进程的内存空间 用Delphi 5.0编写OLE程序
操纵
Excel 用Delphi编写DLL实现动态改变分辨率 在delphi中使用flash控件 在Delphi中运用QuickReport实现多栏列印 控制
INI
文件
几法 转让控制权 得到执行程序的目录 打开已注册
文件
得到Windows用户名和序列号 关闭外部应用程序 查阅可视窗口标题 在Delphi编程中创建一个启动闪现窗口 如何用Delphi编ScreenSaver Delphi里如何计算日期 delphi怎样调用外部EXE
文件
Win95/98下监控运行的其他程序 控制面板应用大全 避免一个程序二次运行 转换WINDOWS壁纸 改计算机名 为应用程序添加口令 启动屏幕保护 控制热启动 辨别显示分辨率 获得WINDOWS的临时路径 状态条插入可视控件 统计中英文字个数 获得Windows类型和版本 读
INI
文件
大小写金额转换 检测程序是否运行 用Delphi3编写"共享软件" 如何从任务栏上隐藏应用程序的按纽 如何在Delphi程序中支持
文件
拖放 如何运行一个程序直到它结束 用De1phi编制汉字录入能力测试软件 一个实用的Delphi屏幕拷贝程序的设计 如何做一个SYSTRAY程序 查阅可视窗口标题 屏蔽系统功能键 状态条插入可视控件 如何隐藏和显示Windows的任务条 如何将你的程序放在Windows启动中 获取当前程序的目录
C++ Builder
13,825
社区成员
102,679
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章