Daten aus einer .ini auslesen und mit GuiCtrlSetData verwärten

  • 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 :P

  • schau dir mal Iniread und Guictrlsetdata in der hilfe an.

    was du willst is in etwa so:

    [autoit]

    $read = Iniread("DerPfadDerIni", "Section", "Key", 0)
    Guictrlsetdata($label1, $read)

    [/autoit]
  • 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>
    #include <ComboConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    ;#include <array.au3>

    [/autoit] [autoit][/autoit] [autoit]

    #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)
    $hcboUsers = GUICtrlCreateCombo($sElect, 8, 8, 200, 25,$CBS_DROPDOWNLIST)
    $hlblUser = GUICtrlCreateLabel("",8,35,200,25)
    $hbtnOpen = GUICtrlCreateButton("&Öffnen", 8, 65)
    GUICtrlSetState($hbtnOpen, $GUI_DISABLE)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    $list1 = _FileListToArray(@ScriptDir & "\Profiles", "*.ini", 1)

    [/autoit] [autoit][/autoit] [autoit]

    If @error Then
    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)
    Next

    [/autoit] [autoit][/autoit] [autoit]

    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $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
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    EndSwitch
    WEnd

    [/autoit]


    mfg (Auto)Bert

    Einmal editiert, zuletzt von AutoBert (10. März 2010 um 16:32)

  • hmmpff... krieg sie nicht runtergeladen welchen pfad mus ich angeben den html pfad oder den ftp pfad?

  • ok aber dan mus ich mich ja auch noch über ftp einloggen und dan ist es auch wieder ein anderes skript oder?