IniReadSection Ausgabe in String umwandeln

  • Hallo liebe Community,

    ich habe folgendes vor:

    Der Firefox soll aus einem Befehl aus einem Script heraus gestartet werden (funktioniert).
    Nun soll eine *.ini Datei spezielle Werte in diesen Befehl einfügen (funktioniert zum Teil).

    [autoit]


    #include <FF.au3>
    #include <String.au3>
    #include <Array.au3>
    #include <File.au3>
    #include <Misc.au3>
    _Singleton(@ScriptName,0)

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

    $Start = IniReadSection("Firefox.ini", "Firefox-Port")

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

    ;Inhalt der *.ini Datei:
    ;[Firefox-Port]
    ;Profil 1=4243

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

    MsgBox(0,"Test", "Profil: " & $Start[1][0] & " Port: " & $Start[1][1])

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

    ;Text der Messagebox: "Profil: Profil 1 Port: 4243"

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

    _FFStart("http://www.google.de/", $Start[1][0], 2+8, False, "127.0.0.1", $Start[1][1])

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

    ;Ausgabe Debug: _FFStart ==> Invalid data type: (PORT) $iPort: 4243

    [/autoit]

    Der Hammer ist: Wenn ich anstatt "$Start[1][1]", "4243" (ohne "", die dürfen da nicht sein, in FF.au3 sind die auch nicht) eingebe, dann geht es.

    Wenn ich:

    [autoit]


    #include <FF.au3>
    #include <String.au3>
    #include <Array.au3>
    #include <File.au3>
    #include <Misc.au3>
    _Singleton(@ScriptName,0)

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

    $Start = IniReadSection("Firefox.ini", "Firefox-Port")
    ;MsgBox(0,"Test", "Profil: " & $Start[1][0] & " Port: " & $Start[1][1])

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

    $Port = 4243
    _FFStart("http://www.google.de/", $Start[1][0], 2+8, False, "127.0.0.1", $Port)

    [/autoit]

    benutze, geht es auch...
    Es soll aber zwingend über diese *.ini Datei laufen.
    Die vielen includes am Anfang sind alle wichtig, da dies hier nur der Anfang des Scriptes ist.

    Ich hoffe, dass jemand von euch das Problem erkennt. Ich habe irgendwie schwer Tomaten auf den Augen, glaube ich 8|

    "_ArrayToString" habe ich schon probiert, das kann aber das Array was durch "IniReadSection" erstellt wurde nicht auslesen. Vermutlich weil es ein 2-dimensionales Array ist. Die Beispiele dazu sind alle 1-dimensional... :(

    Vielen Dank schonmal :)

    Gruß
    Crusoe

    Erfahrung ist eine nützliche Sache. Leider macht man sie immer erst kurz nachdem man sie brauchte :P

    Einmal editiert, zuletzt von Crusoe (12. November 2011 um 11:57)

  • Versuch es mal mit Number($Start[1][1]), um sicher zu stellen, das es sich um einen numerischen Wert handelt.

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"

  • Morgen, und wenn du es zum beispiel so machst?

    Spoiler anzeigen
    [autoit]

    #include <FF.au3>
    #include <String.au3>
    #include <Array.au3>
    #include <File.au3>
    #include <Misc.au3>
    _Singleton(@ScriptName,0)

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

    $Start = IniReadSection("Firefox.ini", "Firefox-Port")
    ;MsgBox(0,"Test", "Profil: " & $Start[1][0] & " Port: " & $Start[1][1])

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

    $Port = IniRead("Firefox.ini","Firefox-Port","Profil 1","8080")
    _FFStart("http://www.google.de/", $Start[1][0], 2+8, False, "127.0.0.1", $Port)

    [/autoit]

    Dann sollte es meiner meinung nach auch funktionieren nur dass der Port dann extra aus der Ini gelesen wird.
    Anders weiß ich es nicht...
    Funktioniert es nicht mit $Start(1)(1) ?
    Sorry ich kann auf meinem Macbook diese Eckigen klammern nicht schreiben.

    Gruß
    Fabi


  • Versuch es mal mit Number($Start[1][1]), um sicher zu stellen, das es sich um einen numerischen Wert handelt.


    Hallo Micha_he,

    da fällt man doch vom Glauben ab... 8|
    Das funktioniert tatsächlich 8o
    Vielen vielen Dank!!!
    Wo steht denn sowas? Ich habe bestimmt Stunde die Hilfe bemüht und im Internet gesucht 8|
    Naja, der Trick ist eben, dass man weiß wo es steht :P

    @Fabi

    Hallo Fabi,

    leider funktioniert dein Vorschlag nicht, es kommt genau der selbe Felher wie bei meinem eigenen Script --> _FFStart ==> Invalid data type: (PORT) $iPort: 4243
    Aber auch dir vielen Dank für deine Mühen, das ist ja in Foren nicht selbstverständlich :)
    Das ist ja unglaublich, dass es bei einem MacBook keine eckigen Klammern gibt?! 8| Hier hast du ein paar auf Vorrat [[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] :rofl:
    (Ist nur ein Scherz, ich hatte nämlich vor, mir eins zuzulegen, aber wenn es da sowas nicht gibt, sitze ich beim programmieren ein bisschen auf dem Trockenen 8| )


    Viele Grüße und ein schönes Wochenende
    Crusoe :)

    Erfahrung ist eine nützliche Sache. Leider macht man sie immer erst kurz nachdem man sie brauchte :P

  • Wo steht denn sowas? Ich habe bestimmt Stunde die Hilfe bemüht und im Internet gesucht
    Naja, der Trick ist eben, dass man weiß wo es steht

    Meines Wissen nach, steht das so direkt nirgends !

    Da ich schon das eine oder andere mal so einen Fehler hatte und ich aus der Hilfe nicht herauslesen konnte ob IniReadSection() immer Zeichenketten zurückliefert, habe ich einfach mal geraten ;)

    Schön das ich helfen konnte....

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"

  • Hi Micha_he,

    es steht tatsächlich auch unter "Number" (wer hätte es gedacht) in der Hilfe, da gibt es auch "String" was man benutzen könnte (aber nicht in meinem Fall).
    Leider steht es nicht mit IniReadSection() in Verbindung und ich kam auch nicht auf die Idee nach soetwas speziellem zu suchen ^^
    Wieder etwas dazu gelernt... :)

    Erfahrung ist eine nützliche Sache. Leider macht man sie immer erst kurz nachdem man sie brauchte :P