dephi的tinifile类的疑问?

cntsql 2006-04-08 12:27:01
各位大哥大姐们好!
我在学习dephi 7的过程中遇到了一个问题,是这样的:我定义了单元级变量
var
MainForm: TMainForm;
vlogin:string;
vloginname:string
vloginstatus:string;
myinifile:tinifile;
我又在该程序所在的目录下建立了一个dblink.ini的文件,一开始我已经建立了一个名字为hotelmanage的ODBC数据源 ini文件如下:
;database link information file
[dblinkstr]
dbstring=provider=msdasql.1;password=;(密码为空)
persist security info=true;user id=vista(数据库用户);data source=hotelmanage
可是在运行的时候就出现错误,vloginstatus:string;该行有错.是怎么会事呢?
...全文
401 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
ycn12345 2006-04-11
  • 打赏
  • 举报
回复
我在单元里面引用inifile的时候就出现MAIN.PAS(7): File not found: 'inifile.dcu'错误.
我在单元里面引用inifile的时候就出现MAIN.PAS(7): File not found: 'tinifile.dcu'错误.
---------------------------------------------------------------------------------
这就是说你在uses里没有加上那个IniFiles 这一项啊
cntsql 2006-04-11
  • 打赏
  • 举报
回复
我在单元里面引用inifile的时候就出现MAIN.PAS(7): File not found: 'inifile.dcu'错误.
我在单元里面引用inifile的时候就出现MAIN.PAS(7): File not found: 'tinifile.dcu'错误.
tetsuya 2006-04-09
  • 打赏
  • 举报
回复
uses inifiles;


/读IniFile文件数据
function ReadFromSystem(sGroup: string; sField: string; var sValue: string; sFile:
string): integer;
//写Inifile文件数据
function WriteToSystem(sGroup, sField: string; sType: Byte; sValue: string; sFile:
string): Integer;

function ReadFromSystem(sGroup, sField: string;
var sValue: string; sFile: string): integer;
var
tSystemData: TInifile; //配置文件
begin
//读取配置文件
tSystemData := TIniFile.Create(sFile);
try
sValue := tSystemData.ReadString(sGroup, sField, '');
finally
tSystemData.Free;
end;
Result := 0;

end;

function WriteToSystem(sGroup, sField: string; sType: Byte; sValue: string; sFile:
string): Integer;
var
tSystemData: TIniFile;
begin
tSystemData := TIniFile.Create(sFile);
try
case sType of
0: tSystemData.WriteString(sGroup, sField, sValue);
1: tsystemdata.WriteInteger(sGroup, sField, StrToInt(sValue));
2:
if (sValue = '1') or (UpperCase(sValue) = 'TRUE') then
tSystemData.WriteBool(sGroup, sField, True)
else
tSystemData.WriteBool(sGroup, sField, False);
end;
finally
tSystemData.Free;
end;
Result := 0;
end;


163luheng 2006-04-09
  • 打赏
  • 举报
回复
在单元的开始几行不是有个包含接口吗?

比如:
unit U_main;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, ImgList, DB, ADODB, mxOutlookBarPro, ComCtrls,
jpeg, SkinCaption, WinSkinData,IniFiles;
你看到最后一个IniFiles了吗?
不是把程序里myinifile:=tinifile.Create(filename)改成myinifile:=inifile.Create(filename)

cntsql 2006-04-09
  • 打赏
  • 举报
回复
回vokeyliu(vokey),多谢你的善意也是教导的提醒,要写程序是必须静下心来,慢慢的写,慢慢的改,我想从你的语气之中使我无地自容,但是我会知错就改的,再次谢谢你!
GARNETT2183 2006-04-08
  • 打赏
  • 举报
回复
什么错误,是不是没有引用Tinifile那个单元?
ly_liuyang 2006-04-08
  • 打赏
  • 举报
回复
与Ini没关系
自己Debug发现问题去
163luheng 2006-04-08
  • 打赏
  • 举报
回复
procedure Tf_main.FormCreate(Sender: TObject);
var filename:string;
sserver,sdatabase,suser,spassword:string;
begin
//读取INI文件的数据库连接信息
filename:=Extractfilepath(paramstr(0))+'dblink.ini';
myinifile:=tinifile.Create(filename);
sserver := myinifile.ReadString('dblinkstr','Data Source','');
sdatabase := myinifile.ReadString('dblinkstr','Initial Catalog','');
suser := myinifile.ReadString('dblinkstr','User ID','');
spassword := myinifile.ReadString('dblinkstr','Password','');
//写连接字符串
ADOConnection1.Connected:=false;
ADOConnection1.ConnectionString:='Provider=SQLOLEDB.1;Password=' + spassword + ';Persist Security Info=True;User ID=' + suser + ';Initial Catalog=' + sdatabase + ';Data Source=' + sserver;
//准备连接
try
ADOConnection1.Connected:=true;
except
begin
showmessage('数据库连接失败,请检查dblink.ini文件中的连接信息的设置是否正确!');
f_dblink:= Tf_dblink.Create(self);
f_dblink.ShowModal;
end;
end;


配置文件写法:
[dblinkstr]
Data Source=USER-D51640F944
Initial Catalog=analysys
User ID=sa
Password=123
cntsql 2006-04-08
  • 打赏
  • 举报
回复
回GARNETT2183(極品狼王) 请问要怎么样才能引用Tinifile哪个单元啊~~!
tinifile不是dephi自带的吗~~~?
vokeyliu 2006-04-08
  • 打赏
  • 举报
回复
处理了分号之后,按照2楼的做法就可以了啊
vokeyliu 2006-04-08
  • 打赏
  • 举报
回复
各位大哥大姐们好!
我在学习dephi 7的过程中遇到了一个问题,是这样的:我定义了单元级变量
var
MainForm: TMainForm;
vlogin:string;
vloginname:string--这里好像应该加个分号吧,你说呢?
vloginstatus:string;
myinifile:tinifile;
我又在该程序所在的目录下建立了一个dblink.ini的文件,一开始我已经建立了一个名字为hotelmanage的ODBC数据源 ini文件如下:
;database link information file
[dblinkstr]
dbstring=provider=msdasql.1;password=;(密码为空)
persist security info=true;user id=vista(数据库用户);data source=hotelmanage
可是在运行的时候就出现错误,vloginstatus:string;该行有错.是怎么会事呢?
cntsql 2006-04-08
  • 打赏
  • 举报
回复
楼上的大哥们,问题还在啊```用inifile代替tinifile还是出错啊``
163luheng 2006-04-08
  • 打赏
  • 举报
回复
楼上说的
wing_er 2006-04-08
  • 打赏
  • 举报
回复
use inifiles
cntsql 2006-04-08
  • 打赏
  • 举报
回复
前面刚刚解决,又出现麻烦拉!
说该行myinifile:tinifile;出错说没有发现tinifile这个文件,晕死!
zhangl_cn 2006-04-08
  • 打赏
  • 举报
回复
难道是...少了分号??

-_-
wing_er 2006-04-08
  • 打赏
  • 举报
回复
vloginname:string
上面加;
vloginstatus:string;

2,507

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧