Hallo!
Da ich grade dabei bin ein "kleines" Spiel zu programmieren und auch schon etwas hab das die statuse auf einen ftp server lädt wollt ich jetzt wissen wie ich es schaffe das er die hochgeladene .ini datei "öffnet" und daten daraus mit einem GuiCtrlSetData befehl verwerten und in labels schreibt.
Dankeschön schonmal in vorraus
Daten aus einer .ini auslesen und mit GuiCtrlSetData verwärten
-
- [ offen ]
-
masteraki -
10. März 2010 um 16:12 -
Geschlossen -
Erledigt
-
-
schau dir mal Iniread und Guictrlsetdata in der hilfe an.
was du willst is in etwa so:
[autoit]$read = Iniread("DerPfadDerIni", "Section", "Key", 0)
[/autoit]
Guictrlsetdata($label1, $read) -
Danke für die schnelle antwort
aber kannst du mir auch noch sagen wie ich die daten noch entcryptet kriege?pw hab ich nur weis ich nicht wie ich es in dein script einbaue
und was meinste mit section und key? -
Hallo masteraki,
du musst die INI mit InetGet herunterladen und sie dann lokal auswerten (siehe Post Schnitzel).
Schau dir die Hilfe zu InetGet genau an auch die Bemerkungen und Beispiele,Edit: und hier noch ein Beispiel mit IniReadSection:
Spoiler anzeigen
[autoit];#include <GuiComboBox.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <ComboConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
;#include <array.au3>#include <File.au3>
[/autoit] [autoit][/autoit] [autoit]Const $sElect = "bitte einen Benutzer auswählen"
[/autoit] [autoit][/autoit] [autoit]$hGui = GUICreate("Combobox mit INI ", 250, 120, 302, 218)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$hcboUsers = GUICtrlCreateCombo($sElect, 8, 8, 200, 25,$CBS_DROPDOWNLIST)
$hlblUser = GUICtrlCreateLabel("",8,35,200,25)
$hbtnOpen = GUICtrlCreateButton("&Öffnen", 8, 65)
GUICtrlSetState($hbtnOpen, $GUI_DISABLE)$list1 = _FileListToArray(@ScriptDir & "\Profiles", "*.ini", 1)
[/autoit] [autoit][/autoit] [autoit]If @error Then
[/autoit] [autoit][/autoit] [autoit]
if MsgBox(36, "Keine Datei gefunden!", "Testdaten erzeugen?") = 6 then
$sData = "Key1=Value1" & @LF & "Key2=Value2" & @LF & "Key3=Value3"
if not FileExists(@ScriptDir & "\Profiles") then DirCreate(@ScriptDir & "\Profiles")
$sIniName = @ScriptDir & "\Profiles\TestUser.ini"
IniWriteSection($sIniName, "Sektion1", $sData)
GUICtrlSetData($hcboUsers, "TestUser")
Else
Exit
EndIf
Else
For $i = 1 To $list1[0]
$sUser = StringTrimRight($list1[$i], 4)
GUICtrlSetData($hcboUsers, $sUser)
NextEndIf
[/autoit] [autoit][/autoit] [autoit]GUISetState(@SW_SHOW)
[/autoit] [autoit][/autoit] [autoit]
#EndRegion ### END Koda GUI section ###While 1
[/autoit] [autoit][/autoit] [autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $hcboUsers
If GUICtrlRead($hcboUsers) = $sElect Then
GUICtrlSetState($hbtnOpen, $GUI_DISABLE)
GUICtrlSetData($hlblUser,"")
Else
GUICtrlSetState($hbtnOpen, $GUI_ENABLE)
GUICtrlSetData($hlblUser,GUICtrlRead($hcboUsers))
EndIf
Case $hbtnOpen
$sIniName = @ScriptDir & "\Profiles\" & GUICtrlRead($hcboUsers) & ".ini"
$aIniVars = IniReadSection($sIniName, "Sektion1")
;_ArrayDisplay($aIniVars,"Sektion1:")
If @error Then
MsgBox(4096, "", "Es ist ein Fehler aufgetreten. Warscheinlich keine INI Datei vorhanden.")
Else
For $i = 1 To $aIniVars[0][0]
MsgBox(4096, "", "Schlüssel: " & $aIniVars[$i][0] & @CRLF & "Wert: " & $aIniVars[$i][1])
Next
EndIfEndSwitch
[/autoit]
WEnd
mfg (Auto)Bert -
hmmpff... krieg sie nicht runtergeladen welchen pfad mus ich angeben den html pfad oder den ftp pfad?
-
Hallo
wollt ich jetzt wissen wie ich es schaffe das er die hochgeladene .ini
genau den gleichen Pfad wie du sie hochlädst (FTP?),
mfg (Auto)Bert
-
ok aber dan mus ich mich ja auch noch über ftp einloggen und dan ist es auch wieder ein anderes skript oder?
-
Das kannst du auch über die FTPEx UDF machen. Schau dir dazu am besten mal die Hilfe an.
File ziehen und dann gehts mit Iniread oder Inireadsection weiter.
-
man das wird mir hier langsam zu komplex
-
Hallo masteraki,
Schau dir die Hilfe zu InetGet genau an auch die Bemerkungen und Beispiele,
was galubst du warum ich dass vorhin dazu geschrieben habe
Zitataus dt. Hilfe 3.3.4.0
Um einen Benutzernamen und Passwort zum Verbinden zu benutzen, schreibt man einfach "Username:Passwort@" vor den Servernamen, z.B. "http://myuser:mypassword@https://autoit.de/www.somesite.com"mfg (Auto)Bert