Iniwrite Problem

05/02/2010 10:56 muse-#1
Hey Leute,

haenge grad am Problem fest,das nachdem ich auf den Save Button gedrueckt habe,er nicht die Ini erstellt.

Quote:
func durchsuchen ()
$rl= FileOpenDialog("Realmlist",@ProgramFilesDir,"Realm list(*.wtf)")
GUICtrlSetData($Input1,$rl)
EndFunc

func save ()
IniWrite ("rlchanger.ini","Settings","rl", GUICtrlRead ($Input1))
EndFunc
Er erstellt es aber,wenn ich es per Hand eintippe,dann funktioniert alles normal.
Wenn ich aber per Fileopendialog das reinfuege passiert nix
Wer Ahnung warum?

danke. =D
05/02/2010 11:01 bassbanane#2
Nochmal klartext...
Du sagst er erstellt sie nicht, aber dann sagst du er erstellt sie doch. Also erkläre doch mal bitte dein problem ganz genau dann kann man dir auch vernünftig helfen ;
05/02/2010 11:07 muse-#3
Also ich füge in $input1 mit Fileopendialog ja den Pfad ein.
Wenn ich aber nun auf Save drücke passiert garnichts,esseiden ich tippe in $input1 den Pfad per Hand ein und nicht mit Fileopendialog dann speichert es es normal ab.
Verstanden?

Edit:Er speichert er komischer Weise in dem PfadOrdner ab,habe ich grad festgestellt
wer ne Idee warum?
05/02/2010 12:46 bassbanane#4
Vielleicht solltest du dir mal den zurückgegebenen Wert aus FileopenDialog angucken. Meistens liegen dort die Fehler. Bestimmt fehlt ein Backslash ( \ ) or so ;)
05/02/2010 13:19 .nAno#5
schick uns mal bitte dein gesamtes Script...

Ich hab grade deinen Ausschnitt probiert, weil ich so keinen Fehler feststellen konnte und ihn einfach kopiert ;)
Abgesehn vom Dateitypen, nachdem der FileDialog sucht, hab ich nichts geändert --> der Fehler muss also im restlichen Teil deines Programmes stecken :P
05/02/2010 13:49 muse-#6
Quote:
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>

#Region ### START Koda GUI section ###
$Form1 = GUICreate("Realmlist Changer", 349, 260, 423, 274)
$Input1 = GUICtrlCreateInput("", 72, 56, 161, 21)
$Label1 = GUICtrlCreateLabel("Realmlist Pfad", 64, 32, 173, 17)
$Button1 = GUICtrlCreateButton("search", 240, 56, 41, 25, 0)
$Group1 = GUICtrlCreateGroup("Realmlist", 48, 16, 241, 97)
$Button2 = GUICtrlCreateButton("save", 88, 80, 129, 17, 0)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Input2 = GUICtrlCreateInput("", 72, 160, 161, 21)
$Label2 = GUICtrlCreateLabel("Hier die gewuenschte Realmlist einfuegen", 56, 144, 202, 17)
$Group2 = GUICtrlCreateGroup("wanted realmlist", 48, 120, 233, 89)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Button3 = GUICtrlCreateButton("Ersetzten!", 104, 224, 113, 25, 0)
$Button4 = GUICtrlCreateButton("beenden", 264, 240, 65, 17, 0)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button4
Exit
Case $Button1
durchsuchen ()
Case $Button2
save ()
Case $Button3
Ersetzten ()
EndSwitch
WEnd

func durchsuchen ()
$rl= FileOpenDialog("Realmlist",@ProgramFilesDir,"Realm list(*.wtf)")
GUICtrlSetData($Input1,$rl)
EndFunc

func save ()
IniWrite ( @ScriptDir & "rlchanger.ini","Settings","rl", GUICtrlRead ($Input1))
EndFunc

func Ersetzten ()
$file = FileOpen(GUICtrlRead($Input1) ,2)
FileWrite($file,GUICtrlRead($Input2))
FileClose($file)
EndFunc
ich weiß das ich einiges umstaendlich schreib
wayne
05/02/2010 13:51 mipez#7
Probier mal das^^

PHP Code:
#include <GUIConstants.au3>
#RequireAdmin

Opt("GUIOnEventMode"1)

$form GUICreate("muhkuh",100,100)
GUISetOnEvent $GUI_EVENT_CLOSE"_exit")
$but GUICtrlCreateButton("speicher!",8,8)
$inp GUICtrlCreateInput("",8,35)
$but2 GUICtrlCreateButton("lade!",8,70)

GUISetState(@SW_SHOW)

GUICtrlSetOnEvent $but"_speicher" )
GUICtrlSetOnEvent $but2"_lade" )

While 
1
    Sleep
(100)
WEnd

Func _exit
()
    Exit 
0
EndFunc

Func _speicher
()
    
$read GUICtrlRead($inp)
    
IniWrite(@ScriptDir "\realmlist.ini","tadaa","realms",$read)
EndFunc

Func _lade
()
    
$rl FileOpenDialog("Realmliste",@ScriptDir,"Realm list (*.wtf)",1)
    
GUICtrlSetData($inp,$rl)
EndFunc 
EDIT: Warst schneller, aber es geht auch nur um das Prinzip^^
EDIT2: Kleiner Fehler bei IniWrite behoben.
05/02/2010 14:08 muse-#8
mh aber nach deinem script speichert er es ja auch nicht richtig ab in der .ini datei.

hab mal paar threads durchwuehlt und bin auf nen Zitat gestoßen
Quote:
FileOpenDialog wechselt das workingdirectory, steht zumindest so auf der Autoit Online Help Seite , dann ist klar das des WriteIni nicht mehr geht
koennte das,das Problem erklaeren?
05/02/2010 14:50 mipez#9
Quote:
Originally Posted by pwna=) View Post
mh aber nach deinem script speichert er es ja auch nicht richtig ab in der .ini datei.

hab mal paar threads durchwuehlt und bin auf nen Zitat gestoßen


koennte das,das Problem erklaeren?
Schau mal auf meinen 2. EDIT^^
Das Problem lag an @ScriptDir & "\realmlist.ini"
Hab ehrlich gesagt kA warum, aber ich hatte das Problem schon mit anderen Scripts.

OpenFileDialog und IniWrite haben eig nix miteinander zu tun. Ersteres gibt einen String mit dem Pfad zurück.
05/02/2010 16:26 muse-#10
gute sache
danke
#Problem geloest