Sektionsnamen von config.ini in Array schreiben.

  • Hi,

    ich bräuchte für ein Skript von mir eine Funktion welche mir alle Sektionsnamen in z.B config.ini in ein Array schreibt.
    Und anschließend jeden Namen in eine MSGBox ausgibt.
    Den 2 teil würde ich selber hinbekommen, aber beim ersten Fehlt mir total der Ansatz.

    Vielleicht kann mir hier jemand helfen.

    Gruß

    dabudai

    Einmal editiert, zuletzt von dabudai (19. September 2008 um 11:03)

  • Besten Dank,

    Habe einmal folgende Funktion geschrieben zum vergleichen von IP-Adressen.
    Diese lässt sich doch bestimmt noch optimieren.

    Spoiler anzeigen
    [autoit]

    Func _Checkip()

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

    $ip1 = @IPAddress1
    $ip1_string = _StringSplit($ip1, ".")
    $ip2 = @IPAddress2
    $ip2_string = _StringSplit($ip2, ".")
    $ip3 = @IPAddress3
    $ip3_string = _StringSplit($ip3, ".")
    $ip4 = @IPAddress4
    $ip4_string = _StringSplit($ip4, ".")

    $var = IniReadSectionNames($FileName) ; Gibt ein array mit allen Sektionsnamen zurück

    For $i = 1 To $var[0]

    $ip_ini = IniRead($FileName, $var[$i], "IP", "NotFound")
    $ip_ini_string = _StringSplit($ip_ini, ".")

    if $ip1[3] = $ip_ini_string[3] Then
    return 1
    ExitLoop
    ElseIf $ip2[3] = $ip_ini_string[3] Then
    return 2
    ExitLoop
    ElseIf $ip3[3] = $ip_ini_string[3] Then
    return 3
    ExitLoop
    ElseIf $ip4[3] = $ip_ini_string[3] Then
    return 4
    ExitLoop
    EndIf
    Next

    EndFunc ;==> _Checkip()

    [/autoit]
  • Ja komprimieren lässt sich da immer noch was, nur ob es immer der Übersichtlichkeit dient ist die Frage.
    Aber z.B. dies hier kann man kürzer machen.

    [autoit]

    $ip4 = @IPAddress4
    $ip4_string = _StringSplit($ip4, ".")
    ; ==========
    $ip4_string = _StringSplit(@IPAddress4, ".")

    [/autoit]

    Ich verstehe nur den Sinn der Funktion leider net so ganz (kann sie leider net testen da kein Au3 installiert ist)

    MfG
    Der_Doc

  • Der Sinn liegt darin, dass ich z.B an mehrern Standorten arbeiten,
    Dort bekomme ich überall per DHCP eine Adresse zugewiesen. Der Zugang erfolgt über Lan oder Wlan. Daher die @IPAddress1-4. Diese Adresse ist jeweil im 3 Oktett unterschiedlich. Anhand diesem Unterschied, soll nun später der entsprechende Standartdrucker und Proxy gesezt werden, welche in der ini-File stehen.