[Frage] Auslesen einer .Ini Datei

03/10/2011 13:00 Ludder231#1
Ich wollte mal fragen ob mir wer sagen kann wie ich eine Ini Datei auslesen kann, und das ausgelesene wieder ausgeben kann.

Z.B ich habe was in meiner ini Datei stehen und möchte das es in einer inputbox erscheint.

Meine Ini Datei sieht so aus

Code:
[IP]
IP1=111.222.225.1
[Port]
Port1=1002
[Nickname]
Nickname1=Ludder231
Und so im Script...

PHP Code:
$inicreate=Iniread($Desktop2"IP""IP" &$random"")
$adresse=IniWrite($Desktop2"IP""IP" &$random"")

$inicreate2=IniRead($Desktop2"Port""Port" &$random"")
$port=IniWrite($Desktop2"Port""Port" &$random"")

$inicreate3=IniRead($Desktop2"Nickname""Nickname" &$random"")
$nickname=IniWrite($Desktop2"Nickname" ,"Nickname" &$random"")


$adresseinpt=InputBox("Adressse/Ip""Please fill in your Server adress for the Ts³ bot")
$portinpt=InputBox("Port""Please fill in the Server Port adress")
$nicknameinpt=InputBox("Nickname/Username""Please fill in your Ts³ Username/Nickname")
iniWrite($Desktop2"IP""IP" &$random$adresseinpt)
IniWrite($Desktop2"Port""Port" &$random$portinpt)
IniWrite($Desktop2"Nickname""Nickname" &$random$nicknameinpt
Wenn ich das Script starte soll er das was in der Ini Datei steht, in die Inputbox ausgeben, also halt die IP undso die in der ini steht. Damit ich das nicht immer wieder neu eingeben muss...

Bedanke mich schonmal für die Hilfe..
MfG Ludder231
03/10/2011 16:13 ZeraPain#2
würde es eher so machen, dass du nur eine sektion hast pro user und da dann alle weiteren daten aufzufinden sind also [User1] und IP= Port= Username= . Außerdem musst du sicher gehen, dass random auch noch gesetzt ist.
03/11/2011 14:24 Ludder231#3
Quote:
Originally Posted by ZeraPain View Post
würde es eher so machen, dass du nur eine sektion hast pro user und da dann alle weiteren daten aufzufinden sind also [User1] und IP= Port= Username= . Außerdem musst du sicher gehen, dass random auch noch gesetzt ist.
Okay danke schonmal, aber wie mach ich das? Ich habe erst seit kurzem mit inis angefangen und bei mir überschreibt der die nur...
03/11/2011 15:07 | Moep |#4
Hier mal ein Beispiel aus einem anderen Script, wie du eine ini schreiben und lesen kannst:

Code:
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 264, 117, 192, 114)
$Input1 = GUICtrlCreateInput("", 48, 24, 49, 21)
$Input2 = GUICtrlCreateInput("", 152, 24, 41, 21)
$Input3 = GUICtrlCreateInput("", 48, 48, 49, 21)
$Input4 = GUICtrlCreateInput("", 152, 48, 41, 21)
$Label1 = GUICtrlCreateLabel("Skill1", 8, 24, 36, 17)
$Label2 = GUICtrlCreateLabel("Skill2", 8, 48, 36, 17)
$Label3 = GUICtrlCreateLabel("CastTime", 50, 0, 45, 17)
$Label4 = GUICtrlCreateLabel("CD", 152, 0, 36, 17)
$Label5 = GUICtrlCreateLabel("sec", 104, 24, 44, 17)
$Label6 = GUICtrlCreateLabel("sec", 200, 24, 36, 17)
$Label7 = GUICtrlCreateLabel("sec", 104, 48, 36, 17)
$Label8 = GUICtrlCreateLabel("sec", 200, 48, 36, 17)
$Button1 = GUICtrlCreateButton("Save", 32, 80, 75, 25, $WS_GROUP)
$Button2 = GUICtrlCreateButton("Read", 160, 80, 75, 25, $WS_GROUP)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

If Not FileExists(@DesktopCommonDir&"\Skills.ini") Then
	GUICtrlSetState($Button2,$GUI_DISABLE)
	MsgBox("","","Bitte die inputs füllen und save drücken")
	EndIf
		
While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
	Case $GUI_EVENT_CLOSE
		Exit
	Case $Button1
		IniWrite(@DesktopCommonDir&"\Skills.ini", "Skill1", "CastTime", GUICtrlRead($Input1))
		IniWrite(@DesktopCommonDir&"\Skills.ini", "Skill1", "Cooldown", GUICtrlRead($Input2))
		IniWrite(@DesktopCommonDir&"\Skills.ini", "Skill2", "CastTime", GUICtrlRead($Input3))
		IniWrite(@DesktopCommonDir&"\Skills.ini", "Skill2", "Cooldown", GUICtrlRead($Input4))
		For $i = 5 to 0 step -1
		MsgBox("","","Werte in der Skills.ini auf deinem Desktop gespeichert"& @CRLF & _
		"Programm schließt sich in "&$i&" Sekunden"& @CRLF & _
		"Bitte neustarten und den Read Button drücken",1)
	Next
	Exit
Case $Button2
		GUICtrlSetData($Input1,IniRead(@DesktopCommonDir&"\Skills.ini", "Skill1", "CastTime", ""))
		GUICtrlSetData($Input2,IniRead(@DesktopCommonDir&"\Skills.ini", "Skill1", "Cooldown", ""))
		GUICtrlSetData($Input3,IniRead(@DesktopCommonDir&"\Skills.ini", "Skill2", "CastTime", ""))
		GUICtrlSetData($Input4,IniRead(@DesktopCommonDir&"\Skills.ini", "Skill2", "Cooldown", ""))
		
	EndSwitch
WEnd
03/11/2011 15:40 Ludder231#5
Quote:
Originally Posted by | Moep | View Post
Hier mal ein Beispiel aus einem anderen Script, wie du eine ini schreiben und lesen kannst
Ah das war sehr hilfreich! Danke...