Textdatei auslesen und in einem bestimmten Format wiedergeben

  • Hallo Leute,

    könnte mir bitte jemand ein Programm schreiben, dass jede Zeile einer Textdatei ausliest zB. diese hier, aber nur die Wörter, die in Anführungszeichen sind:

    Spoiler anzeigen
    SQL
    <Item vnum="12010" name="'Áøû°©+0'" gb2312name="Blaustahl-Panzer +0" type="2" subtype="0" weight="0" size="2" antiflag="312" flag="1" wearflag="1" immuneflag="0" gold="3000" buy_price="10000" limittype0="1" limitvalue0="80" limittype1="0" limitvalue1="0" applytype0="8" applyvalue0="4294967290" applytype1="37" applyvalue1="20" applytype2="10" applyvalue2="2" value0="0" value1="154" value2="0" value3="26" value4="0" value5="0" socket0="0" socket1="64848" socket2="127" socket3="65008" socket4="21631" socket5="4855" refine_vnum="12011" refine_set="531" magic_pct="15" specular="0" socket_pct="3" />

    und dann eine neue Textdatei erstellt und sie in dieser Reihenfolge wieder reinschreibt.

    Spoiler anzeigen
    SQL
    INSERT INTO `item_proto` VALUES (12010, "Blaustahl-Panzer+0 ", "Blaustahl-Panzer+0", 2, 0, 0, 2, 312, 1, 1, '', 10000, 3000, 11, 1, 0, 15, 1, 80, 0, 0, 8, 4294967290, 37, 20, 10, 2, 0, 154, 0, 26, 0, 0, 0, 64848, 127, 65008, 21631, 4855, 0, 3, 0);

    Wäre lieb, denn ich verstehe von Strings so gut wie gar nichts und das Programm ist wichtig für mich >.>

    Danke :)

  • Teste einmal dieses Skript:

    Spoiler anzeigen
    [autoit]

    #include <String.au3>
    #include <File.au3>
    #include <array.au3>

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

    Dim $aOld[1]
    _FileReadToArray(@ScriptDir & "\test.txt",$aOld) ;<======== diese Zeile anpassen

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

    Global $hFile = FileOpen(@ScriptDir & "\mydb.sql",2) ;Datei öffnen 1 = anhängen 2=überschreiben

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

    for $i =1 To $aOld[0]
    _ConvertLine($aOld[$i])
    Next
    FileClose($hFile) ;Datei wieder schliessen

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

    Func _ConvertLine($sString)
    Local $aBetween = _StringBetween($sString, '"', '"')
    Local $sNew = "INSERT INTO `item_proto` VALUES ("
    for $i= 0 to UBound($aBetween) -1
    if StringLeft($aBetween[$i],1) <> "'" then
    $sNew &= $aBetween[$i]
    if $i <> UBound($aBetween) -1 then $sNew &= ","
    EndIf
    Next
    $sNew &= ");"
    FileWriteLine($hFile,$sNew) ;Zeile schreiben
    EndFunc

    [/autoit]

    mfg autoBert