Warum gibt dieses Skript
Spoiler anzeigen
Spoiler anzeigen
#include <Array.au3>
[/autoit] [autoit][/autoit] [autoit]ConsoleWrite('Returned (_StripAugly): ' & _StripAugly('L<b,/', True, '<|/|(|,') & @CRLF)
[/autoit] [autoit][/autoit] [autoit]Func _StripAugly($sRaw, $bStripLower, $sAugly)
ConsoleWrite($sRaw & @CRLF)
Local $aAugly = StringSplit($sAugly, "|"), $aRaw
For $i = 1 To $aAugly[0]
$sRaw = StringReplace($sRaw, $aAugly[$i], "")
Next
If $bStripLower Then
$aRaw = StringSplit($sRaw, "")
_ArrayDisplay($aRaw)
For $i = 1 To $aRaw[0]
ConsoleWrite($i & ": " & StringUpper($aRaw[$i]) & " <> " & $aRaw[$i] & " = ")
Switch $aRaw[$i]
Case 'Ä', 'Ö', 'Ü'
;do nothing
Case Else
ConsoleWrite(StringUpper($aRaw[$i]) <> $aRaw[$i] & @CRLF & @CRLF)
If StringUpper($aRaw[$i]) <> $aRaw[$i] Then $sRaw = StringReplace($sRaw, $aRaw[$i], "")
ConsoleWrite(@CRLF & "==>" & $sRaw & @CRLF)
EndSwitch
Next
EndIf
Return $sRaw
EndFunc ;==>_StripAugly
den erwarteten String zurück? Auch die Consolenausgaben sind rätzelhaft:
>"D:\Programme\AutoIt3\SciTE\AutoIt3Wrapper\AutoIt3Wrapper.exe" /run /prod /ErrorStdOut /in "D:\Programme\AutoIt3\MyDemos\HeimatkundeQuiz\augly.au3" /autoit3dir "D:\Programme\AutoIt3" /UserParams
+>02:12:34 Starting AutoIt3Wrapper v.2.0.0.1 Environment(Language:0407 Keyboard:00000407 OS:WIN_XP/Service Pack 3 CPU:X86 OS:X86)
>Running AU3Check (1.54.19.0) from:D:\Programme\AutoIt3
+>02:12:34 AU3Check ended.rc:0
>Running:(3.3.6.1):D:\Programme\AutoIt3\autoit3.exe "D:\Programme\AutoIt3\MyDemos\HeimatkundeQuiz\augly.au3"
L<b,/
1: L <> L = True
==>b
2: B <> b = True
==>
Returned (_StripAugly):
+>02:12:37 AutoIT3.exe ended.rc:0
+>02:12:38 AutoIt3Wrapper Finished
>Exit code: 0 Time: 4.612
Alles anzeigen
Das Problem ist zwar schon mit StringIsLower gelöst mich würde aber interessieren wo der Logikfehler ist.
Edit: der von mir so oft empfohlene Blick in die Hilfe hätte das Thema erspart:
Zitat<> Prüft, ob zwei Werte nicht gleich sind. Groß- und Kleinschreibung wird nicht berücksichtigt, falls Strings verwendet werden. Um die Ungleichheit unter Beachtung der Groß- und Kleinschreibung festzustellen, ist Not ("string1" == "string2") zu verwenden
mfg autoBert