Geht das ??

  • Hallo,
    Weiß zufällig jemand, ob es möglich ist, aus einer .ini ein bestimmtes Zeichen rauszusuchen und dann hinter diesem Zeichen (Nur in der Zeile) den Text zu ändern ?

    Es soll ungefähr so aussehen:

    Spoiler anzeigen

    Vorher:
    EinLinkZumBild=IrgendeinPfadZumBild
    NochEinLinkZumBild=IrgendeinAndererPfadZumBild

    Nachher:
    EinLinkZumBild=MeinPfadZumBild
    NochEinLinkZumBild=MeinPfadZumBild

    Beim zweiten Beispiel soll beides der gleiche Pfad sein.

    [autoit]

    If ProcessExists("Sig.exe") Then
    ConsoleWrite("@@ mfg")
    Else
    ConsoleWrite("!! -no sig-")
    EndIf

    [/autoit]
  • ImageCache.ini
    Code
    http://banner.4players.de/teamspeak/195.4.16.21/banner.php?1254038714=C:\Dokumente und Einstellungen\PCV 2oo9\Anwendungsdaten\teamspeak2\8929-MYQW-NODW-9102.jpg
    http://www.ts-onlyfree.org/39819hardy_1_ts-onlyfree_468.jpg=C:\Dokumente und Einstellungen\PCV 2oo9\Anwendungsdaten\teamspeak2\8289-FJ38-KEAM-9183.jpg
    http://www.utn-hosting.info/banner/banner_ts_girl.jpg=C:\Dokumente und Einstellungen\PCV 2oo9\Anwendungsdaten\teamspeak2\FJJE-8283-DMEA-2830.jpg

    So sieht die Datei aus, ich will halt, dass hinter dem "=" etwas anderes geschrieben wird.


    Hintergrund: Ich will, dass bei keinem TS²-Server den ich besuche ein Banner angezeigt wird (Mein Pfad den ich angeben möchte führt zu einer ungültigen Datei - Es wird kein Banner angezeigt)

    [autoit]

    If ProcessExists("Sig.exe") Then
    ConsoleWrite("@@ mfg")
    Else
    ConsoleWrite("!! -no sig-")
    EndIf

    [/autoit]
  • [autoit]

    $sString = 'http://banner.4players.de/teamspeak/195.4.16.21/banner.php?1254038714=C:\Dokumente und Einstellungen\PCV 2oo9\Anwendungsdaten\teamspeak2\8929-MYQW-NODW-9102.jpg' & @CRLF
    $sString &= 'http://www.ts-onlyfree.org/39819hardy_1_ts-onlyfree_468.jpg=C:\Dokumente und Einstellungen\PCV 2oo9\Anwendungsdaten\teamspeak2\8289-FJ38-KEAM-9183.jpg' & @CRLF
    $sString &= 'http://www.utn-hosting.info/banner/banner_ts_girl.jpg=C:\Dokumente und Einstellungen\PCV 2oo9\Anwendungsdaten\teamspeak2\FJJE-8283-DMEA-2830.jpg'

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

    $sString = StringRegExpReplace($sString,"(?<==).+","Dein Text")
    MsgBox(0,"",$sString)

    [/autoit]

    Allerdings kann ich dir nicht sagen, ob das 100%ig klappt wenn mehrere = zeichen im String sind.
    Das lässt sich aber auch beheben, wenn nötig.

  • [autoit]

    $url1 = "http://banner.4players.de/teamspeak/195.4.16.21/banner.php?1254038714=C:\Dokumente und Einstellungen\PCV 2oo9\Anwendungsdaten\teamspeak2\8929-MYQW-NODW-9102.jpg"
    $url2 = "http://www.ts-onlyfree.org/39819hardy_1_ts-onlyfree_468.jpg=C:\Dokumente und Einstellungen\PCV 2oo9\Anwendungsdaten\teamspeak2\8289-FJ38-KEAM-9183.jpg"
    $url3 = "http://www.utn-hosting.info/banner/banner_ts_girl.jpg=C:\Dokumente und Einstellungen\PCV 2oo9\Anwendungsdaten\teamspeak2\FJJE-8283-DMEA-2830.jpg"
    IniWrite(@DesktopDir & "\settings.ini", "Name der Sektion (das was in [] steht, aber wird hier ohne []geschrieben", "URL 1", $url1)
    IniWrite(@DesktopDir & "\settings.ini", "Name der Sektion (das was in [] steht, aber wird hier ohne []geschrieben", "URL 2", $url2)
    IniWrite(@DesktopDir & "\settings.ini", "Name der Sektion (das was in [] steht, aber wird hier ohne []geschrieben", "URL 3", $url3)

    [/autoit]

    Versuchs mal so, aber bitte die Datei und die Sektion anpassen.
    MfG. PrideRage

    Meine Projekte:
    ClipBoard Manager (beendet)
    Gutes ClipBoard Verwaltungs Programm mit nützlichen Funktionen.

    HTML Creator (beendet)
    Nützliches Tool um schnell ein eigenes HTML Dokument zu erstellen.

  • @PrideRange:
    Wenn schon IniWrite, dann aber auch so, dass es dynamisch arbeitet.

    Spoiler anzeigen
    [autoit]

    $sString = '[section]' & @CRLF
    $sString &= 'http://banner.4players.de/teamspeak/195.4.16.21/banner.php?1254038714=C:\Dokumente und Einstellungen\PCV 2oo9\Anwendungsdaten\teamspeak2\8929-MYQW-NODW-9102.jpg' & @CRLF
    $sString &= 'http://www.ts-onlyfree.org/39819hardy_1_ts-onlyfree_468.jpg=C:\Dokumente und Einstellungen\PCV 2oo9\Anwendungsdaten\teamspeak2\8289-FJ38-KEAM-9183.jpg' & @CRLF
    $sString &= 'http://www.utn-hosting.info/banner/banner_ts_girl.jpg=C:\Dokumente und Einstellungen\PCV 2oo9\Anwendungsdaten\teamspeak2\FJJE-8283-DMEA-2830.jpg'
    $hFile = FileOpen(@TempDir & "\Test.ini", 2)
    FileWrite($hFile, $sString)
    FileClose($hFile)

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

    $aSNames = IniReadSectionNames(@TempDir & "\Test.ini")
    If @error Then Exit
    For $i = 1 To $aSNames[0]
    $aSection = IniReadSection(@TempDir & "\Test.ini", $aSNames[$i])
    If Not @error Then
    For $j = 1 To $aSection[0][0]
    IniWrite(@TempDir & "\Test.ini", $aSNames[$i], $aSection[$j][0], "Dein Text")
    Next
    EndIf
    Next
    ShellExecuteWait(@TempDir&"\Test.ini")
    FileDelete(@TempDir&"\Test.ini")

    [/autoit]

    Allerdings finde ich RegExp wesentlich angenehmer

  • Was genau meinst du mit RegExp ?

    Das mit der .ini geht schlecht, weil in der .ini keine Section's sind ô.o
    Da sind einfach nur die Angaben wie oben gezeigt

    [autoit]

    If ProcessExists("Sig.exe") Then
    ConsoleWrite("@@ mfg")
    Else
    ConsoleWrite("!! -no sig-")
    EndIf

    [/autoit]