我試圖檢查一個文件是否存在(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