; Test-Szenario

#include <Array.au3>

AutoItSetOption("MustDeclareVars", 1)

Local $sLine
Local $sLogDummyText
Local $arData


$sLogDummyText = _
'+>19:10:49 Starting AutoIt3Wrapper v.19.102.1901.0 SciTE v.4.1.2.0   Keyboard:00000407  OS:WIN_10/  CPU:X64 OS:X64  Environment(Language:0407)  CodePage:  utf8.auto.check:' _
& @CRLF & '+>         SciTEDir => C:\Program Files (x86)\AutoIt3\SciTE   UserDir => C:\Users\User1\AppData\Local\AutoIt v3\SciTE\AutoIt3Wrapper   SCITE_USERHOME => C:\Users\User1\AppData\Local\AutoIt v3\SciTE' _
& @CRLF & '>Running AU3Check (3.3.14.5)  from:C:\Program Files (x86)\AutoIt3  input:D:\D\PSPad4AutoIt3\test files\FileQuantityLimit (Testdatei).au3' _
& @CRLF & '"D:\D\PSPad4AutoIt3\test files\FileQuantityLimit (Testdatei).au3"(112,15) : warning: $iTest possibly not declared/created yet' _
& @CRLF & '    $iTest = 2' _
& @CRLF & '~~~~~~~~~~~~~~^' _
& @CRLF & '"D:\D\PSPad4AutoIt3\test files\FileQuantityLimit (Testdatei).au3"(109,20) : error: yyyyyyyyyyyyyyy(): undefined function.' _
& @CRLF & '    yyyyyyyyyyyyyyy' _
& @CRLF & '~~~~~~~~~~~~~~~~~~~^' _
& @CRLF & '"D:\D\PSPad4AutoIt3\test files\FileQuantityLimit (Testdatei).au3"(131,10) : error: zzzz(): undefined function.' _
& @CRLF & '     zzzz' _
& @CRLF & '~~~~~~~~~^' _
& @CRLF & '"D:\D\PSPad4AutoIt3\test files\FileQuantityLimit (Testdatei).au3"(134,9) : error: aaa(): undefined function.' _
& @CRLF & '     aaa' _
& @CRLF & '~~~~~~~~^' _
& @CRLF & 'D:\D\PSPad4AutoIt3\test files\FileQuantityLimit (Testdatei).au3 - 3 error(s), 1 warning(s)' _
& @CRLF & '!>19:10:50 AU3Check ended. Press F4 to jump to next error.rc:2' _
& @CRLF & '>Running:(3.3.14.5):C:\Program Files (x86)\AutoIt3\autoit3.exe "D:\D\PSPad4AutoIt3\test files\FileQuantityLimit (Testdatei).au3"' _
& @CRLF & '+>Setting Hotkeys...--> Press Ctrl+Alt+Break to Restart or Ctrl+Break to Stop' _
& @CRLF & '> Anzahl Dateien = 15' _
& @CRLF & '> Die 5 neuesten Dateien werden nicht gelöscht' _
& @CRLF _
& @CRLF & '"D:\D\PSPad4AutoIt3\test files\FileQuantityLimit (Testdatei).au3" (109) : ==> Unknown function name.:' _
& @CRLF & 'yyyyyyyyyyyyyyy' _
& @CRLF & '^ ERROR' _
& @CRLF & '"D:\D\PSPad4AutoIt3\test files\FileQuantityLimit (Testdatei).au3" (163) : ==> Array variable has incorrect number of subscripts or subscript dimension range exceeded.:' _
& @CRLF & '->19:10:50 AutoIt3.exe ended.rc:1' _
& @CRLF & '+>19:10:50 AutoIt3Wrapper Finished.'


; $sTestData in einzelne Zeilen splitten.
$arData = StringSplit($sLogDummyText, @CRLF, 1 + 2)

; Array anzeigen. Es besteht aus den obigen unveränderten Zeilen.
_ArrayDisplay($arData)

; Leerzeile und Hinweis ausgeben, um die Ausgabe besser zu erkennen.
ConsoleWrite(@CRLF & '----------------------------- Test-Szenario - Anfang -----------------------------' & @CRLF)

; Alle Zeilen duchlaufen und nach Markern suchen.
For $i = 0 to UBound($arData) - 1 step 1

  $sLine = $arData[$i]

  If in der Zeile ($sLine) ein Marker für "error" oder "warning" Then    ; <====

    ; Zeile im Log-Fenster aktiv setzen (select...)
    ; In der echten Umgebung würde hier die Schleife verlassen.
    ;ExitLoop

    ; Im Test-Szenario geben wir die unveränderte Zeile im Log-Win aus.
    ConsoleWrite($sLine & @CRLF)
  EndIf

  If in der Zeile ($sLine) ein Marker für "==>" Then                     ; <====

    ; Ein Leerzeichen vor dem Zahlenteil entfernen, Zahlenteil ergänzen und "error..." hinzufügen.
    ; Vorher:   .au3" (163) : ==> Array
    ; Nachher:  .au3" (163,1) : error: ==> Array
    $sLine = ersetzen und ergänzen der gewünschten Stellen in $sLine...  ; <====

    ; Zeile im Log austauschen (ersetzen durch die modfizierte Zeile).
    ; Zeile im Log-Fenster aktiv setzen (select...)
    ; In der echten Umgebung würde hier die Schleife verlassen.
    ;ExitLoop

    ; Im Test-Szenario geben wir die angepasste Zeile im Log-Win aus.
    ConsoleWrite($sLine & @CRLF)
  EndIf
Next

; Leerzeile und Hinweis ausgeben, um die Ausgabe besser zu erkennen.
ConsoleWrite('----------------------------- Test-Szenario - Ende -----------------------------' & @CRLF & @CRLF)






