Ini Problem

  • Hey Community,
    wie kriege ich raus welches die letze Section ( Als Nummer ) in einer INI ist?
    Habe folgendes Programm geschrieben und schon etwas rumprobiert aberk omme leider nicht weiter :(.
    habe meine Versuche mal der Übersicht halber rausgenommen.

    Spoiler anzeigen
    [autoit]


    #include <GUIConstants.au3>
    #include <Misc.au3>
    #include <IE.au3>

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

    #region ### START Koda GUI section ### Form=C:\Dokumente und Einstellungen\Dominik Schubert\Desktop\browser.kxf
    $Form1 = GUICreate("AutoIt Browser", @DesktopWidth, @DesktopHeight - 60, 0, 0)
    $seite = GUICtrlCreateInput("", 70, 0, 877, 21)
    $Button1 = GUICtrlCreateButton("<", 0, 0, 33, 21, 0)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Button2 = GUICtrlCreateButton(">", 36, 0, 33, 21, 0)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Button3 = GUICtrlCreateButton("Add Fav.", 948, 0, 71, 21, 0)
    $IE = _IECreateEmbedded()
    $Group1 = GUICtrlCreateObj($IE, 106, 22, 913, 653)
    $List1 = GUICtrlCreateList("", 0, 48, 97, 617)
    $Label1 = GUICtrlCreateLabel("Favoriten", 22, 30, 48, 17)
    $Button4 = GUICtrlCreateButton("<", 95, 292, 9, 77, 0)
    GUISetState(@SW_SHOW)
    #endregion ### START Koda GUI section ### Form=C:\Dokumente und Einstellungen\Dominik Schubert\Desktop\browser.kxf

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

    Global $anzahl = 0,$schritt1 = 0,$schritt2 = 48 , $schritt3 = 95 , $schritt4 = 292 , $button = 0

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

    Func _GO()
    _IENavigate($IE, GUICtrlRead($seite, 0))
    EndFunc

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

    While 1
    If _IsPressed("0D") And WinActive("AutoIt Browser") And GUICtrlRead($seite) <> "" Then
    $split = StringSplit (GUICtrlRead($seite),".")
    If $split[1] <> "www" Then
    GUICtrlSetData ($seite,"")
    ToolTip ( "Bitte URL folgendermaßen eingeben:" & @CRLF & "www.autoit.de",@DesktopWidth /2 - 50,0 + 21,"")
    Sleep (4000)
    ToolTip("")
    Else
    GUICtrlSetState($Button1,$GUI_ENABLE)
    GUICtrlSetState($Button2,$GUI_ENABLE)
    _GO()
    EndIf
    EndIf
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    _IEAction($IE, "back")
    Case $Button2
    _IEAction($IE, "forward")
    Case $Button3
    GUICtrlSetData ($List1,GUICtrlRead($seite))
    Case $Button4
    $button = $button + 1
    If $button = 1 Then
    GUICtrlSetData($Button4,">")
    Do
    GUICtrlSetPos ($button4,$schritt3,$schritt4)
    GUICtrlSetPos ($List1,$schritt1,$schritt2)
    $schritt1 = $schritt1 -2
    $schritt3 = $schritt3 -2
    Sleep (10)
    Until $schritt1 = -100
    Else
    $button = $button -2
    GUICtrlSetData($Button4,"<")
    Do
    GUICtrlSetPos ($button4,$schritt3,$schritt4)
    GUICtrlSetPos ($List1,$schritt1,$schritt2)
    $schritt1 = $schritt1 +2
    $schritt3 = $schritt3 +2
    Sleep (10)
    Until $schritt1 = 2
    EndIf


    EndSwitch
    WEnd

    [/autoit]

    Juuuhu , mein erstes Script mit "Ein- und Ausfahreffekt" :)
    Ich finde sieht cool aus.

    Einmal editiert, zuletzt von r1fLeX (4. Dezember 2008 um 23:55)

  • [autoit]

    $var = IniReadSectionNames(@WindowsDir & "\win.ini")
    If @error Then
    MsgBox(4096, "", "Error occurred, probably no INI file.")
    Else
    MsgBox(4096, "Anzahl: ", $var[0])
    EndIf

    [/autoit]

    so evtl. ? Wenn die Gesamtanzahl bekannt ist, sollte es kein Thema mehr sein...

    Ich seh aber nix mit Ini in deinem Script, vermutlich willst Du eine Schleife bis ans Ende.

    [autoit]

    for $a = 1 to ubound($var,1) -1
    mach was
    next

    [/autoit]

    Achtung Anfänger! :whistling:

    Betrachten des Quellcodes auf eigene Gefahr, bei Übelkeit,Erbrechen,Kopfschmerzen übernehme ich keine Haftung. 8o

    2 Mal editiert, zuletzt von Dietmar (5. Dezember 2008 um 00:54)

  • Hi,
    wenn du nur die letzte Nummer der Ini Datei haben möchtest, ist die erste Möglichkeit von Dietmar die bessere glaube ich.
    Da bei IniReadSectionNames ein Array zurückgegeben wird, kannst du mit (ubount)-1 immer die Anzahl der Arrayeinträge herauslesen.
    Das funktioniert übrigends bei allem wo ein Array zurückkommt.

    MfG
    Der_Doc

    • Offizieller Beitrag

    Poste lieber mal das Script mit deinen Versuchen, Im augenblick muß man Hellseher sein was du überhaupt mit der INI machen willst. Beschreib mal genauer was du überhaupt mit der INI anstellen willst .Und ne frage am Rande was soll denn Button 4 machen ? Hab des noch nicht ganz so verstanden .