在WIN98中读写INI文件遇到的怪问题(50分)

  • 主题发起人 主题发起人 3DDELPHI
  • 开始时间 开始时间
3

3DDELPHI

Unregistered / Unconfirmed
GUEST, unregistred user!
各位好:
我有一个自定义过程Writeini如下:
procedure TForm1.WriteIni;
var
inifile:Tinifile;
CurrentTime:TSystemTime;
begin
try
inifile:=Tinifile.Create((extractfilepath(application.ExeName)+'watch.ini'));//在程序执行当前目录上创建watch.ini文件
SetFileAttributes(PChar(extractfilepath(application.ExeName)+'watch.ini'),FILE_ATTRIBUTE_NORMAL);//设置watch.ini文件属性为一般
GetLocalTime(CurrentTime);
with inifile do
begin
writeinteger('SysInfo','Year',CurrentTime.wYear );
writeinteger('SysInfo','Month',CurrentTime.wMonth );
writeinteger('SysInfo','Day',CurrentTime.wDay );
writeinteger('SysInfo','Hour',CurrentTime.wHour );
WriteInteger('SysInfo','Minute',CurrentTime.wMinute );
end;
finally
inifile.Free ;
end;
SetFileAttributes(PChar(extractfilepath(application.ExeName)+'watch.ini'),FILE_ATTRIBUTE_HIDDEN+ FILE_ATTRIBUTE_SYSTEM+FILE_ATTRIBUTE_READONLY);//设置watch.ini文件属性为系统、只读和隐藏
end;
此过程(writeini)在TForm1.FormCloseQuery事件句柄中执行,我先是在win2k+D5中调试成功后再编译成project1.exe文件,但在Win98下执行时所创建的Watch.ini的内容竟成了几个字母而已,如下:
QNQQQQQQTTTVVVWWWXXXYYYYYY
不知是何原因?请各位指教,多谢!!!
 
writestring ,试试看
 
为什么,大虾能告诉我是什么原因吗?多谢!
 
为何阅读的人那么多,而回答的人那么少,是分少了吗,实在对不起,我的家当实在不多,
还请各位大虾见谅,帮帮忙。
 
注释掉SetFileAttributes属性两句就正常.估计和Watch.ini在CALL API时还没有真正创建出来有关,
你可以在程序开始运行时先创建一个临时的WATCH.ini
 
多谢各位!!!
 
后退
顶部