Problem mit _ArrayDelete()

  • Hey :D

    Ich arbeite (mal wieder ;)) an einem neuen Projekt. Und dafür muss ich die ersten 4 Zeilen einer Datei löschen. Und so hab ich _ArrayDelete verwendet. Allerdings werden die falschen Elemente gelöscht? Die Anzeige ist richtig.

    [autoit]


    #include <Array.au3>
    #include <File.au3>
    _RunAction( "myownway.lima-city.de/MsgBoxStart.mow")
    Func _RunAction($File)

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

    $Type = IniRead( $File, "Informations", "Type", "ERROR")
    $RestorePoint_Request = IniRead( $File, "Informations", "Restore_Point", "ERROR")
    _FileReadToArray( $File, $File_Array)
    MsgBox( 0,"", $File_Array[1] & @CRLF & $File_Array[2] & @CRLF & $File_Array[3] & @CRLF & $File_Array[4])
    _ArrayDisplay( $File_Array)
    _ArrayDelete( $File_Array, 1)
    _ArrayDelete( $File_Array, 2)
    _ArrayDelete( $File_Array, 3)
    _ArrayDelete( $File_Array, 4)
    _ArrayDisplay( $File_Array)
    FileDelete( $File)
    _FileWriteFromArray($File, $File_Array,1)
    If $RestorePoint_Request = "yes" Then
    _CreateRestorePoint("MyOwnWay File: " & $File)
    EndIf
    If $Type = "batch" Then
    $File = StringReplace( $File, "mow", "bat")
    Run( $File)
    ElseIf $Type = "autoit" Then
    ShellExecute( "AutoIt3.exe", $File)
    EndIf
    Endfunc

    [/autoit]


    Hoffe, ihr könnt mir helfen :thumbup:

    MFG

    [Blockierte Grafik: http://stefan.blagojevic.at/loading.gif]

    Design, Modellbau, CAD <3
    AutoCAD, ArchiCAD, REVIT (ist ein Scheiss, habe aber das Zertifikat)

    Cinema 4D, RuckZuck Statik Programm

    Michael Bay als Architekt


    Da eine Glasfassade! Booom Sichtbeton! Laminiertes Bild auf Mosaiksteinchen! Granit! Granit! Granit! Sichtbetonwand mit 50° Neigung!
    Holzverkleidung erscheint da! Boooooom!

  • Kleiner Tipp: Lass dir mal per _ArrayDisplay() dein Array zwischen den Lösch-Vorgängen anzeigen... ;)
    Da du ja NACHEINANDER die Elemente 1, 2, 3 und 4 löschst werden Einträge 'mitten' im Array gelöscht, da sich alle 'Zeilen' hinter der gelöschten Zeile im Array ja um 1 nach unten verschieben. Daher musst du einfach nur 4mal das erste Element löschen...

    LG
    Christoph :)