我试图检查一个文件是否存在(INI) 如果不是,它应该使用正确的字符串创建文件。Powerbuilder创建文件
我该怎么做?
我试图..
S_TEXT = “[数据库]” + “〜R〜N” + &
"Server=" + "~r~n" + & "UserId=" + "~r~n" + & "Password=" + "~r~n" + & "DB=" + "~r~n"
FILEWRITE(config.ini中”,S_TEXT)
但它说无效的参数文件
我试图检查一个文件是否存在(INI) 如果不是,它应该使用正确的字符串创建文件。Powerbuilder创建文件
我该怎么做?
我试图..
S_TEXT = “[数据库]” + “〜R〜N” + &
"Server=" + "~r~n" + & "UserId=" + "~r~n" + & "Password=" + "~r~n" + & "DB=" + "~r~n"
FILEWRITE(config.ini中”,S_TEXT)
但它说无效的参数文件
为了测试文件是否存在,有FileExists(filename)
,它返回一个布尔值。该功能只需要一个文件名来执行检查。
相反,FileWrite()
需要在上打开文件。它会给出一个“文件号”,由FileOpen()
的调用生成(并且该文件号还应在过程结束时提供给FileClose()
)。
为什么不看PowerBuilder文档?有一个示例为:从PB IDE中,按F1,看看FileWrite PowerScript function
部分,然后按例按钮。 (令人惊讶的是,该示例没有提到FileClose()
,但您需要调用它; o)
不要忘记检查无效文件编号(例如,如果文件名不存在,或者文件已存在正在使用)。
编辑:在评论澄清说,他希望能够调用SetProfileString()
上不存在的ini文件(即不能创建一个新的ini文件)的OP,这里是新的ini文件的例子创作:
int li_file
string ls_ini = "config.ini"
li_file = fileopen(ls_ini, LineMode!, write!)
FileClose(li_file)
SetProfileString(ls_ini, "Database", "Server", "host")
SetProfileString(ls_ini, "Database", "UserId", "foo")
SetProfileString(ls_ini, "Database", "Password", "bar")
SetProfileString(ls_ini, "Database", "DB", "baz")
这是我的做法。
如果INI文件不存在。
数据存储DS_1
DS_1 = CREATE数据存储
// d_dummy是一个表格DW与1列作为字符串,字符(100)
ds_1.dataobject = 'd_dummy'
l_row = ds_1.InsertRow(0)
ds_1.SetItem(l_row, '虚设', '[数据库]')
l_row = ds_1.InsertRow(0)
ds_1.SetItem(l_row, '虚设', '服务器=')
l_row = DS_1。的InsertRow(0)
ds_1.SetItem(l_row, '虚设', '用户ID =')
l_row = ds_1.InsertRow(0)
ds_1.SetItem(l_row, '虚设','口令=')
l_row = ds_1.InsertRow(0)
ds_1.SetItem(l_row, '虚设', 'DB =')
ds_1.SaveAs( “INIFILE.ini”,文本!,FALSE)
然后我用ProfileString()和SetProfileString()
我确实打过电话并试过这些函数。我的问题是如何创建该文件,我可以使用FileOpen()打开一个不存在的文件,所以我可以将它们写入文件?我正在做一个Filewrite,因为该文件还没有存在,如果它我会使用setprofilestring,而不是因为我打开一个INI。 – Sid 2012-03-15 01:01:48
@Sid:关于文件的创建,这个帮助看起来很清楚:假设你给了FileOpen()'_fileaccess_,它可以打开一个现有的文件来读取或者创建一个新的文件(或者重写一个现有文件)写入。现在,关于一个不存在的文件上的'SetProfileString()',我测试了它不能创建一个新文件。但它可以填满一个空的。我编辑了我的答案来提供一个例子。 – Seki 2012-03-15 09:42:58
对不起,先生,但我的问题是没有使用这些功能,但如何创建文件,如果它不存在。但是,谢谢,我有一些工作,最后做到了。再次感谢 – Sid 2012-03-15 10:02:44