write to INI file

Blitz3D Forums/Blitz3D Programming/write to INI file

Sender(Posted 2005) [#1]
I am trying to wirte a value to settings.ini
I have kernel32.dll and a kernel32.decls in my userlibs folder.


my code looks like this

Include "imports/INI_functions.bb"
ini_write("Display","test","1","settings.ini")



INI_functions.bb:
; writes a value to an INI file
Function ini_write(Section$,Key$,Value$,File$)
IniWrite(Section$, Key$, Value$, File$)
Print"write value"
End Function

settings.ini:
[Display]
test=3

kernel32.decls:

.lib "kernel32.dll"

IniRead%(AppName$, KeyName$, Default$, String*, size%, FileName$):"GetPrivateProfileStringA"
IniEnumValues%(AppName$, KeyNull%, Default$, String*, size%, FileName$):"GetPrivateProfileStringA"
IniEnumSections%(KeyNull1%, KeyNull2%, Default$, String*, size%, FileName$):"GetPrivateProfileStringA"
IniWrite%(AppName$, KeyName$, Value$, FileName$):"WritePrivateProfileStringA"


------------------------------------------


I am not getting any kind of error just the value in my ini dont seem to change. Anyone have any idea what i am doing wrong??


Rook Zimbabwe(Posted 2005) [#2]
Look here:

http://www.blitzbasic.com/codearcs/codearcs.php?code=776

That is what I used to get myself started...

Rook


Snarkbait(Posted 2005) [#3]
Include the full path to the INI file, see if that works.

INIpath$ = CurrentDir() + "settings.ini"
ini_write("Display","test","1",INIPath$)



Sender(Posted 2005) [#4]
Thanks Snarkbait thats exactly what it was.

You would not beleave how much hair I've lost trying to figure out whats wrong :P


Snarkbait(Posted 2005) [#5]
np, sender.

I also remade the ini_read function, and called it 'StringFromINI'

Function StringFromINI$(section$,key$,INIpath$,defSize = 100)
	thisbank = CreateBank(defSize)
	success = IniRead(section$,key$,"",thisbank,defSize,INIPath$)
	If success
		For a = 1 To success
			this$ = this$ + Chr$(PeekByte(thisbank,a-1))
		Next
	Else 
		RuntimeError "INI file error"
	EndIf
	Return this$
End Function