1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. HalliHalloSchat

Beiträge von HalliHalloSchat

  • AutoIt / SciTE / Probleme mit code.page ANSI UTF8 / ss und ß / _ArraySearch

    • HalliHalloSchat
    • 31. August 2016 um 14:46

    super, habe ich mal übernommen :D

    Jetzt merkt sich mein script, welche Einträge er ersetzt hat.
    Nachdem ich dann viel in meinem Array modifiziert habe, werden die entsprechende Einträge wieder zurück ersetzt, also ein ss zu einem ß.

    Dieser Workaround läuft nun ganz annehmbar

  • AutoIt / SciTE / Probleme mit code.page ANSI UTF8 / ss und ß / _ArraySearch

    • HalliHalloSchat
    • 9. Juni 2016 um 21:59

    Ja, ich verstehe.

    Mhh, dann muss ich mal schauen wie ich es dennoch hinbekomme das ein ss von einem ß unterschieden werden kann.

  • AutoIt / SciTE / Probleme mit code.page ANSI UTF8 / ss und ß / _ArraySearch

    • HalliHalloSchat
    • 7. Juni 2016 um 22:22

    Ich habe den Fehler GEFUNDEN!

    Es ist ein BUG im UDF von ARRAY.AU3:

    Hier meine GEFIXTE VERSION:

    AutoIt
    ; #FUNCTION# ====================================================================================================================
    ; Author ........: Jos
    ; Modified.......: Ultima - added $iEnd as parameter, code cleanup; Melba23 - added support for empty & 2D arrays
    ; ===============================================================================================================================
    Func __ArrayBinarySearch(Const ByRef $aArray, $vValue, $iStart = 0, $iEnd = 0, $iColumn = 0)
    	If $iStart = Default Then $iStart = 0
    	If $iEnd = Default Then $iEnd = 0
    	If $iColumn = Default Then $iColumn = 0
    	If Not IsArray($aArray) Then Return SetError(1, 0, -1)
    	; Bounds checking
    	Local $iDim_1 = UBound($aArray, $UBOUND_ROWS)
    	If $iDim_1 = 0 Then Return SetError(6, 0, -1)
    	If $iEnd < 1 Or $iEnd > $iDim_1 - 1 Then $iEnd = $iDim_1 - 1
    	If $iStart < 0 Then $iStart = 0
    	If $iStart > $iEnd Then Return SetError(4, 0, -1)
    	Local $iMid = Int(($iEnd + $iStart) / 2)
    	Switch UBound($aArray, $UBOUND_DIMENSIONS)
    		Case 1
    			If $aArray[$iStart] > $vValue Or $aArray[$iEnd] < $vValue Then Return SetError(2, 0, -1)
    			; Search
    			While $iStart <= $iMid And  Not ($vValue == $Array[$iMid])
    				If $vValue < $aArray[$iMid] Then
    					$iEnd = $iMid - 1
    				Else
    					$iStart = $iMid + 1
    				EndIf
    				$iMid = Int(($iEnd + $iStart) / 2)
    			WEnd
    			If $iStart > $iEnd Then Return SetError(3, 0, -1) ; Entry not found
    		Case 2
    			Local $iDim_2 = UBound($aArray, $UBOUND_COLUMNS) - 1
    			If $iColumn < 0 Or $iColumn > $iDim_2 Then Return SetError(7, 0, -1)
    			If $aArray[$iStart][$iColumn] > $vValue Or $aArray[$iEnd][$iColumn] < $vValue Then Return SetError(2, 0, -1)
    			; Search
    			While $iStart <= $iMid And Not ($vValue == $aArray[$iMid][$iColumn])
    				If $vValue < $aArray[$iMid][$iColumn] Then
    					$iEnd = $iMid - 1
    				Else
    					$iStart = $iMid + 1
    				EndIf
    				$iMid = Int(($iEnd + $iStart) / 2)
    			WEnd
    			If $iStart > $iEnd Then Return SetError(3, 0, -1) ; Entry not found
    		Case Else
    			Return SetError(5, 0, -1)
    	EndSwitch
    	Return $iMid
    EndFunc   ;==>_ArrayBinarySearch
    Alles anzeigen

    und zwar in Zeile 25 und 39.
    Zeile 25:
    Original: While $iStart <= $iMid And $vValue <> $Array[$iMid]
    FIX: While $iStart <= $iMid And Not ($vValue == $Array[$iMid])
    Zeile 39:
    Original: While $iStart <= $iMid And $vValue <> $aArray[$iMid][$iColumn])
    FIX: While $iStart <= $iMid And Not ($vValue == $aArray[$iMid][$iColumn])


    Hier meine Ausgabe aus dem 1. Post nun mit richtiger Erkennung ss und ß, also b_außer und b_ausser

    Code
    --> Press Ctrl+Alt+Break to Restart or Ctrl+Break to Stop
    Index 0: a_ausser
    Index 1: a_außer
    Index 2: b_ausser
    Index 3: b_außer
    Index 4: c_ausser
    Index 5: c_außer
    BinarySearchIndex: 3  <-- Hier sollte Index 3 mit b_außer gefunden werden
    BinarySearchIndex: 2
    Export und Import
    Index 0: 6
    Index 1: a_ausser
    Index 2: a_außer
    Index 3: b_ausser
    Index 4: b_außer
    Index 5: c_ausser
    Index 6: c_außer
    BinarySearchIndex: 4  <-- Hier sollte Index 4 mit b_außer gefunden werden
    BinarySearchIndex: 3
    Interessante Ausgaben: ÄÖÜäöüß
    +>22:14:44 AutoIt3.exe ended.rc:0
    Alles anzeigen


    Für mich bleibt nur noch eine Frage:
    Sollte ich das nun auch im englishen Forum posten, sodass der Bugfix geprüft und dann in die neue Version übernommen werden kann?

  • TimeStamp - erweitert zu kleiner Versionsverwaltung für (.au3 und .lua) alle Typen

    • HalliHalloSchat
    • 2. Juni 2016 um 14:38

    nachdem ich jetzt so langsam einige weitere LUA-Scripte hinzugefügt habe, habe ich hier auch die Lösung gefunden:

    es fehlte die Zeile
    LUA_USER_PATH = LUA_USER_PATH .. sUserLua .. "\\?.lua;" .. sUserLua .. "\\?\\?.lua;"

    Code
    -- Start up the events (Calls OnStartup()).
    EventClass:BeginEvents()
    -- Erst nach Registrierung der EventClass werden eigene Dateien geladen
    local sUserLua = props["Lua.User.Scripts.Path"] .. "\\"
    LUA_USER_PATH = sUserLua .. "\\?.dll;" .. sUserLua .. "\\?\\?.dll;"
    LUA_USER_PATH = LUA_USER_PATH .. sUserLua .. "\\?.lua;" .. sUserLua .. "\\?\\?.lua;"
    package.cpath = LUA_USER_PATH .. package.cpath
    LoadLuaFile("AutoStampSaveVersion.lua", sUserLua ) -- enthält Event: "OnBeforeSave"
  • Stringregexp

    • HalliHalloSchat
    • 1. Juni 2016 um 14:48

    Und hier mal mit StringRegExp()

    AutoIt
    #include <StringConstants.au3>
    $Test = "B1,CC,C6,KK"
    $Result = StringRegExp($Test, ".", $STR_REGEXPARRAYMATCH ) ;--> Return B
    MsgBox(0,"", $Result[0]) 
    $Result = StringRegExp($Test, "..", $STR_REGEXPARRAYMATCH ) ;--> Return B1
    MsgBox(0,"", $Result[0])
  • TimeStamp - erweitert zu kleiner Versionsverwaltung für (.au3 und .lua) alle Typen

    • HalliHalloSchat
    • 1. Juni 2016 um 10:03

    Danke für das LUA Script.

    Ich habe alles eingestellt, mich an den Beispielen oben gehalten, jedoch bekomme ich eine Fehlermeldung:

    Code
    cannot open S:\Programmierung\AutoIt\Programme\AutoIt3\SciTE\_OWN\LUA_ScriptsAutoStampSaveVersion.lua: No such file or directory
    >Lua: error occurred while loading startup script
    cannot open S:\Programmierung\AutoIt\Programme\AutoIt3\SciTE\_OWN\LUA_ScriptsAutoStampSaveVersion.lua: No such file or directory
    >Lua: error occurred while loading startup script

    Habe folgenden Eintrag in meiner SciTEUser.properties:
    Lua.User.Scripts.Path=$(SciteDefaultHome)\_OWN\LUA_Scripts
    --> hier liegt AutoStampSaveVersion.lua
    --> hier liegt shell.dll


    Hier mein ENDE der SciTEStartup.lua

    Code
    -- Start up the events (Calls OnStartup()).
    EventClass:BeginEvents()
    -- Erst nach Registrierung der EventClass werden eigene Dateien geladen
    local sUserLua = props["Lua.User.Scripts.Path"]
    LUA_USER_PATH = sUserLua .. "\\?.dll;" .. sUserLua .. "\\?\\?.dll;"
    package.cpath = LUA_USER_PATH .. package.cpath
    LoadLuaFile("AutoStampSaveVersion.lua", sUserLua )  -- enthält Event: "OnBeforeSave"


    EDIT:
    Habe es dann mal doch hinbekommen. Mir war nicht bewußt, dass ich mit LUA zwei \\ benutzen muss.

    Hier meine Lösung in der SciTEStartup.lua:
    LoadLuaFile("AutoStampSaveVersion.lua", sUserLua .. "\\") -- enthält Event: "OnBeforeSave"


    Sucht er nicht automatisch in diesem Pfad nach den User-LUA-Scripten?
    Dachte dafür wurde die PATH erweitert.

  • AutoIt / SciTE / Probleme mit code.page ANSI UTF8 / ss und ß / _ArraySearch

    • HalliHalloSchat
    • 1. Juni 2016 um 08:16

    VIELEN Dank für deine SciTEUser.properties.
    Diese werde ich mir mal anschauen und für mich sinnvolle Bereiche "übernehmen".
    @BugFix, danke für die LUA Scripte

    Da sind ja wirklich schöne Sachen drin. Werde dann mal über die Suchfunktion die einzelnen "Tools"LUA" besorgen.

    Zurück zu meinem Problem:

    Code
    $Array1[4] : c_ausser	$Array2[4] : c_ausser
    BinarySearchIndex: 4 c_ausser
    NormalSearchIndex: 4 c_ausser
    $Array1[5] : c_außer	$Array2[5] : c_außer
    BinarySearchIndex: 4 c_außer
    NormalSearchIndex: 4 c_außer

    Hier wird ja wirklich das falsche zurück gegeben.
    c_ausser ist noch richtig mit Index 4.
    c_außer wird nicht gefunden, sondern dann wieder Index 4.

    Ist das bei dir / bei euch auch so?
    Also ein allgemeines Problem oder nur etwas auf meinen 2 PCs und somit ein lokales Problem bei mir?

  • AutoIt / SciTE / Probleme mit code.page ANSI UTF8 / ss und ß / _ArraySearch

    • HalliHalloSchat
    • 31. Mai 2016 um 15:45

    Hier schon einmal meine Ausgabe.
    Jetzt gehe ich dabei und versuche zu verstehen was passiert.

    Spoiler anzeigen
    AutoIt
    --> Press Ctrl+Alt+Break to Restart or Ctrl+Break to Stop
    + $FO_ANSI
    Davor,   $FO =  512,  Index: 0,  a_ausser                                                        
    Davor,   $FO =  512,  Index: 1,  a_außer                                                         
    Davor,   $FO =  512,  Index: 2,  b_ausser                                                        
    Davor,   $FO =  512,  Index: 3,  b_außer                                                         
    Davor,   $FO =  512,  Index: 4,  c_ausser                                                        
    Davor,   $FO =  512,  Index: 5,  c_außer                                                         
    
    
    Danach,  $FO =  512,  Index: 0,  a_ausser                                                        
    Danach,  $FO =  512,  Index: 1,  a_außer                                                         
    Danach,  $FO =  512,  Index: 2,  b_ausser                                                        
    Danach,  $FO =  512,  Index: 3,  b_außer                                                         
    Danach,  $FO =  512,  Index: 4,  c_ausser                                                        
    Danach,  $FO =  512,  Index: 5,  c_außer                                                         
    
    
    $Array1[0] : a_ausser	$Array2[0] : a_ausser
    BinarySearchIndex: 1 a_ausser
    NormalSearchIndex: 1 a_ausser
    $Array1[1] : a_außer	$Array2[1] : a_außer
    BinarySearchIndex: 1 a_außer
    NormalSearchIndex: 1 a_außer
    $Array1[2] : b_ausser	$Array2[2] : b_ausser
    BinarySearchIndex: 3 b_ausser
    NormalSearchIndex: 2 b_ausser
    $Array1[3] : b_außer	$Array2[3] : b_außer
    BinarySearchIndex: 3 b_außer
    NormalSearchIndex: 2 b_außer
    $Array1[4] : c_ausser	$Array2[4] : c_ausser
    BinarySearchIndex: 4 c_ausser
    NormalSearchIndex: 4 c_ausser
    $Array1[5] : c_außer	$Array2[5] : c_außer
    BinarySearchIndex: 4 c_außer
    NormalSearchIndex: 4 c_außer
    
    
    + $FO_UTF8_NOBOM
    Davor,   $FO =  256,  Index: 0,  a_ausser                                                        
    Davor,   $FO =  256,  Index: 1,  a_außer                                                         
    Davor,   $FO =  256,  Index: 2,  b_ausser                                                        
    Davor,   $FO =  256,  Index: 3,  b_außer                                                         
    Davor,   $FO =  256,  Index: 4,  c_ausser                                                        
    Davor,   $FO =  256,  Index: 5,  c_außer                                                         
    
    
    Danach,  $FO =  256,  Index: 0,  a_ausser                                                        
    Danach,  $FO =  256,  Index: 1,  a_außer                                                         
    Danach,  $FO =  256,  Index: 2,  b_ausser                                                        
    Danach,  $FO =  256,  Index: 3,  b_außer                                                         
    Danach,  $FO =  256,  Index: 4,  c_ausser                                                        
    Danach,  $FO =  256,  Index: 5,  c_außer                                                         
    
    
    $Array1[0] : a_ausser	$Array2[0] : a_ausser
    BinarySearchIndex: 1 a_ausser
    NormalSearchIndex: 1 a_ausser
    $Array1[1] : a_außer	$Array2[1] : a_außer
    BinarySearchIndex: 1 a_außer
    NormalSearchIndex: 1 a_außer
    $Array1[2] : b_ausser	$Array2[2] : b_ausser
    BinarySearchIndex: 3 b_ausser
    NormalSearchIndex: 2 b_ausser
    $Array1[3] : b_außer	$Array2[3] : b_außer
    BinarySearchIndex: 3 b_außer
    NormalSearchIndex: 2 b_außer
    $Array1[4] : c_ausser	$Array2[4] : c_ausser
    BinarySearchIndex: 4 c_ausser
    NormalSearchIndex: 4 c_ausser
    $Array1[5] : c_außer	$Array2[5] : c_außer
    BinarySearchIndex: 4 c_außer
    NormalSearchIndex: 4 c_außer
    
    
    + $FO_UTF8
    Davor,   $FO =  128,  Index: 0,  a_ausser                                                        
    Davor,   $FO =  128,  Index: 1,  a_außer                                                         
    Davor,   $FO =  128,  Index: 2,  b_ausser                                                        
    Davor,   $FO =  128,  Index: 3,  b_außer                                                         
    Davor,   $FO =  128,  Index: 4,  c_ausser                                                        
    Davor,   $FO =  128,  Index: 5,  c_außer                                                         
    
    
    Danach,  $FO =  128,  Index: 0,  a_ausser                                                        
    Danach,  $FO =  128,  Index: 1,  a_außer                                                         
    Danach,  $FO =  128,  Index: 2,  b_ausser                                                        
    Danach,  $FO =  128,  Index: 3,  b_außer                                                         
    Danach,  $FO =  128,  Index: 4,  c_ausser                                                        
    Danach,  $FO =  128,  Index: 5,  c_außer                                                         
    
    
    $Array1[0] : a_ausser	$Array2[0] : a_ausser
    BinarySearchIndex: 1 a_ausser
    NormalSearchIndex: 1 a_ausser
    $Array1[1] : a_außer	$Array2[1] : a_außer
    BinarySearchIndex: 1 a_außer
    NormalSearchIndex: 1 a_außer
    $Array1[2] : b_ausser	$Array2[2] : b_ausser
    BinarySearchIndex: 3 b_ausser
    NormalSearchIndex: 2 b_ausser
    $Array1[3] : b_außer	$Array2[3] : b_außer
    BinarySearchIndex: 3 b_außer
    NormalSearchIndex: 2 b_außer
    $Array1[4] : c_ausser	$Array2[4] : c_ausser
    BinarySearchIndex: 4 c_ausser
    NormalSearchIndex: 4 c_ausser
    $Array1[5] : c_außer	$Array2[5] : c_außer
    BinarySearchIndex: 4 c_außer
    NormalSearchIndex: 4 c_außer
    
    
    +>15:43:52 AutoIt3.exe ended.rc:0
    +>15:43:52 AutoIt3Wrapper Finished.
    >Exit code: 0    Time: 3.563
    Alles anzeigen

    Okay, 1:
    Meine SciTE\SciTEUser.properties ist komplett leer, wo bekomme ich eine DEFAULT her?
    Diese liegt bei mir auch in dem SciTE-Install-Ordner und nicht im AppDataDir

    EDIT: _CharToOem() ist sehr geil. Jetzt schaut die CommandLine-Ausgabe sehr schön aus.

    EDIT: Ich mache nachher weiter, muss erst mal zu einem Termin. :)
    Nach 15 Minuten weiß ich noch nicht genau was passiert und wie ich die Ausgabe verstehen soll.
    Ich glaube aber, das der gesuchte Index immer noch falsch ist. Ich mache nachher aber weiter und versuche zu verstehen was genau passiert und wie ich die Ausgabe zu verstehen habe.
    Aber jetzt schaut es für mich so aus, als wenn _SearchXY() immer noch kein ß vom ss unterscheiden kann.

  • AutoIt / SciTE / Probleme mit code.page ANSI UTF8 / ss und ß / _ArraySearch

    • HalliHalloSchat
    • 27. Mai 2016 um 22:21

    Ich habe das Problem bisher nicht lösen können.

    1. _ArraySearch und _ArrayBinarySearch können kein ß vom ss unterscheiden.
    11--> Hier habe ich ja mein Testscript oben gepostet, bei dem gut ersichtlich immer der gleiche Index gefunden wird, obwohl einmal ein ss und einmal ein ß gesucht wird.

    2. Richtige Codepage im SciTE, ich hätte am liebsten ANSI, denn dort kann ich mit der Suchfunktion (STRG+F) zumindest ein ß vom ss unterscheiden. Mit allen UTF Codepages leider nicht.
    22--> Hier habe ich ja meine Ausgaben gepostet. Leider sieht es immer noch genau so aus. Ich habe keine weitere Ideen.

    3. Anzeige wird beim kompilieren der Scripte im SciTE und später auch in dem CommndLine nicht richtig angezeigt.

    Sollte ich mein Problem mal im englischen Forum melden?

  • AutoIt / SciTE / Probleme mit code.page ANSI UTF8 / ss und ß / _ArraySearch

    • HalliHalloSchat
    • 20. Mai 2016 um 20:57

    Ich habe bewusst mit Notepad++ das Codepage der Datei verändert um den Fehler vielleicht eingrenzen zu können.

    Mir ist im Notepad++ und im SciTE aufgefallen:
    - mit UTF8 + UTF16 --> dass ich mit STRG+F nach "auss" suche, markiert er mir "auss" und "auß".
    - mit ANSI --> dass ich mit STRG+F nach "auss" suche, markiert er mir "auss" und NICHT die "auß".


    Daher war meine Annahme, dass das _ArrayBinarySearch und _ArraySearch Probleme mit der Codepage hat und daher ein ss nicht vom ß unterscheiden kann.

    AutoIt unterscheidet dann im Betrieb wohl die Datei-Codepage nicht mehr sonderlich...

  • AutoItWrapper produziert Fehler: LastError:110:

    • HalliHalloSchat
    • 20. Mai 2016 um 20:53

    GDATA kann das Problem bei sich in der Entwicklung reproduzieren und behebt der Fehler in der nächsten Programmversion.

    Es sollte dann möglich sein, den AutoIt-Ordner in die "Ausnahmeliste" hinzuzufügen, sodass der FileMonitor-Service diesen dann berücksichtigt.

  • AutoIt / SciTE / Probleme mit code.page ANSI UTF8 / ss und ß / _ArraySearch

    • HalliHalloSchat
    • 20. Mai 2016 um 16:29

    Auch mit der UTF 16Little Endian scheint bei mir im SciTE ausser und außer gleich zu sein.
    Wenn ich mit STRG+F nach "auss" suche, markiert er mir "auss" und "auß".

    Des weiteren ist die Ausgabe bei mir auch identisch, beides mal findet Search die gleiche Zeile und nicht die unterschiedliche, obwohl ich einmal nach "ausser" suche und das andere mal nach "außer".

    Die Ausgabe wird bei mir dann auch wieder ordentlich falsch Dargestellt.:(
    Ich bin mit meinem Latain am Ende und hoffe auch euch.

  • AutoIt / SciTE / Probleme mit code.page ANSI UTF8 / ss und ß / _ArraySearch

    • HalliHalloSchat
    • 20. Mai 2016 um 15:47

    und wie stelle ich das an?

    wenn ich deine test.au3 nehme:
    Bekomme die Ausgabe hier nicht eingefügt, daher die Datei:

    Dateien

    ausser_außertest.au3 1,43 kB – 437 Downloads
  • AutoIt / SciTE / Probleme mit code.page ANSI UTF8 / ss und ß / _ArraySearch

    • HalliHalloSchat
    • 20. Mai 2016 um 15:04

    Hallo Experten,

    ich habe ein Problem.
    Ich bin mit AutoIt nicht in der Lage ein ss von einem ß zu unterscheiden.

    Außerdem habe ich Darstellungsprobleme in SciTE:

    AutoIt
    #include <Array.au3>
    #include <File.au3>
    #include <FileConstants.au3>
    #include <WinAPIFiles.au3>
    
    
    Local $Array[6] = ["a_ausser", "a_außer", "b_ausser", "b_außer", "c_ausser", "c_außer"]
    _ArraySort($Array, 0, 0)
    For $i=0 to UBound($Array)-1
    	ConsoleWrite("Index " & $i & ": " & $Array[$i] & @CRLF)
    Next
    ;BinarySearch
    ConsoleWrite("BinarySearchIndex: " & _ArrayBinarySearch($Array, "b_außer", 0) & @CRLF)
    ConsoleWrite("BinarySearchIndex: " & _ArrayBinarySearch($Array, "b_ausser", 0) & @CRLF)
    ;~ ConsoleWrite("_ArraySearchIndex: " & _ArraySearch($Array, "b_außer", 0) & @CRLF)
    ;~ ConsoleWrite("_ArraySearchIndex: " & _ArraySearch($Array, "b_ausser", 0) & @CRLF)
    
    
    ;Export und Import
    ConsoleWrite("Export und Import" & @CRLF)
    _FileWriteFromArray(FileOpen(@ScriptFullPath & ".array", $FO_OVERWRITE + $FO_ANSI), $Array, 0) ;Hier kann ich "ausser" suchen und finde auch nur "ausser" in einem Editor
    ;~ _FileWriteFromArray(FileOpen(@ScriptFullPath & ".array", $FO_OVERWRITE + $FO_UTF8_NOBOM), $Array, 0) ;IDENTISCH ;Hiermit kann ich nach "ausser" suchen und finde auch "außer" in einem Editor
    ;~ _FileWriteFromArray(FileOpen(@ScriptFullPath & ".array", $FO_OVERWRITE + $FO_UTF8), $Array, 0) ;IDENTISCH ;Hiermit kann ich nach "ausser" suchen und finde auch "außer" in einem Editor
    ;~ ConsoleWrite("FileEncoding: " & FileGetEncoding(@ScriptFullPath & ".array") & @CRLF) 
    ReDim $Array[0]
    _FileReadToArray(@ScriptFullPath & ".array", $Array)
    _ArraySort($Array, 0, 1)
    For $i=0 to UBound($Array)-1
    	ConsoleWrite("Index " & $i & ": " & $Array[$i] & @CRLF)
    Next
    
    
    ;BinarySearch
    ConsoleWrite("BinarySearchIndex: " & _ArrayBinarySearch($Array, "b_außer", 1) & @CRLF)
    ConsoleWrite("BinarySearchIndex: " & _ArrayBinarySearch($Array, "b_ausser", 1) & @CRLF)
    ;~ ConsoleWrite("_ArraySearchIndex: " & _ArraySearch($Array, "b_außer", 0) & @CRLF)
    ;~ ConsoleWrite("_ArraySearchIndex: " & _ArraySearch($Array, "b_ausser", 0) & @CRLF)
    
    
    ;Interessante Ausgaben:
    ConsoleWrite("Interessante Ausgaben: ÄÖÜäöüß" & @CRLF)
    Alles anzeigen


    Hier einmal ein paar Ausgaben:

    AutoIt
    ScriptDatei: ANSI
    Settings: #~ utf8.auto.check=4    # detect ascii high characters and if none found set default encoding to UTF8 and do not add BOM
    Ausgaben:
    
    
    >Running AU3Check (3.3.14.2)  from:S:\Programmierung\AutoIt\Programme\AutoIt3  input:S:\Programmierung\Scripte\_am Entwickeln\Movie DB Info\_GENUTZTES\ausser_außer.au3
    +>10:26:41 AU3Check ended.rc:0
    >Running:(3.3.14.2):S:\Programmierung\AutoIt\Programme\AutoIt3\autoit3_x64.exe "S:\Programmierung\Scripte\_am Entwickeln\Movie DB Info\_GENUTZTES\ausser_außer.au3"    
    --> Press Ctrl+Alt+Break to Restart or Ctrl+Break to Stop
    Index 0: a_ausser
    Index 1: a_außer
    Index 2: b_ausser
    Index 3: b_außer
    Index 4: c_ausser
    Index 5: c_außer
    BinarySearchIndex: 2 <-- Hier sollte Index 3 mit b_außer gefunden werden
    BinarySearchIndex: 2 
    Export und Import
    Index 0: 6
    Index 1: a_ausser
    Index 2: a_außer
    Index 3: b_ausser
    Index 4: b_außer
    Index 5: c_ausser
    Index 6: c_außer
    BinarySearchIndex: 3 <-- Hier sollte Index 4 mit b_außer gefunden werden
    BinarySearchIndex: 3
    Interessante Ausgaben: ÄÖÜäöüß
    +>10:26:41 AutoIt3.exe ended.rc:0
    Alles anzeigen


    Hier nochmal:

    AutoIt
    ScriptDatei: UTF8 without BOM
    Settings: utf8.auto.check=4    # detect ascii high characters and if none found set default encoding to UTF8 and do not add BOM
    Ausgaben:
    
    
    >Running AU3Check (3.3.14.2)  from:S:\Programmierung\AutoIt\Programme\AutoIt3  input:S:\Programmierung\Scripte\_am Entwickeln\Movie DB Info\_GENUTZTES\ausser_außer.au3
    +>10:25:10 AU3Check ended.rc:0
    >Running:(3.3.14.2):S:\Programmierung\AutoIt\Programme\AutoIt3\autoit3_x64.exe "S:\Programmierung\Scripte\_am Entwickeln\Movie DB Info\_GENUTZTES\ausser_außer.au3"    
    --> Press Ctrl+Alt+Break to Restart or Ctrl+Break to Stop
    Index 0: a_ausser
    Index 1: a_au?r
    Index 2: b_ausser
    Index 3: b_au?r
    Index 4: c_ausser
    Index 5: c_au?r
    BinarySearchIndex: 2 <-- Hier sollte Index 3 mit b_außer gefunden werden
    BinarySearchIndex: 2
    Export und Import
    Index 0: 6
    Index 1: a_ausser
    Index 2: a_au?r
    Index 3: b_ausser
    Index 4: b_au?r
    Index 5: c_ausser
    Index 6: c_au?r
    BinarySearchIndex: 3 <-- Hier sollte Index 4 mit b_außer gefunden werden
    BinarySearchIndex: 3
    Interessante Ausgaben: R???
    +>10:25:10 AutoIt3.exe ended.rc:0
    Alles anzeigen


    zu beachten sind hier die Unterschiede bei den ÄÖÜäöüß.
    Bei dem einen wird das ß in den ersten Zeilen verändert:
    >Running AU3Check (3.3.14.2) from:S:\Programmierung\AutoIt\Programme\AutoIt3 input:S:\Programmierung\Scripte\_am Entwickeln\Movie DB Info\_GENUTZTES\ausser_außer.au3
    Bei dem anderen wird es in meinem Ausgaben geändert:
    Interessante Ausgaben: R???


    Aber das es in beiden Fällen richtig läuft bekomme ich nicht hin.
    SciTE und AutoIt habe ich quasi frisch installiert.

    Wenn ich mit einerm Editor die .array Datei öffne, dann kann ich ausser und außer nur bei der ANSI codierten Datei unterscheiden.


    Was ich in der SciTE GlobalConfig gefunden habe:

    AutoIt
    SciTE GlobalSettings:
    # Internationalisation
    #NewFileEncoding=CodePage/UTF8BOM/UTF8/UTF16BE/UTF16LE         # Only available in SciTE4AutoIt3 version
    #~ Enhance function of auto checking utf8: providing two methods
    #~ utf8.auto.check=1 #  detect utf8 and add BOM automatically   Credits to SciTE-RU
    #~ utf8.auto.check=2 # detect utf8 and do not add BOM
    #~ utf8.auto.check=3 # detect ascii high characters and if none found set default encoding to UTF8 and add BOM
    #~ #~ #~ #~ #~ #~ #~ #~ #~ #~ utf8.auto.check=4    # detect ascii high characters and if none found set default encoding to UTF8 and do not add BOM
    #~ #~ #~ #~ #~ #~ #~ #~ #~ #~ 
    # Japanese input code page 932 and ShiftJIS character set 128
    #code.page=932
    #character.set=128
    # Unicode
    #~ code.page=65001
    code.page=0
    #character.set=204
    #command.discover.properties=python /home/user/FileDetect.py "$(FilePath)"
    # Required for Unicode to work on GTK+:
    #LC_CTYPE=en_US.UTF-8
    if PLAT_GTK
    	output.code.page=65001
    if PLAT_MAC
    	output.code.page=65001
    Alles anzeigen


    Ich denke ich habe ein Problem mit dem UTF8 und ANSI...

    Code
    Auto2Exe /ANSI
    --> ???
    AutoItWrapper Directive
    --> #AutoIt3Wrapper_UseAnsi=y
    --> - Skipping #AutoIt3Wrapper_UseAnsi directive because ANSI is not supported anymore.
  • AutoItWrapper produziert Fehler: LastError:110:

    • HalliHalloSchat
    • 11. Mai 2016 um 21:19

    @Wrapper GData Problem:
    Ich habe mit Jos geschrieben, er ist der "Entwickler" vom Wrapper.
    Wir haben nun eine Beta mit einem kleinen Sleep an der richtigen Stelle... :)


    Zitat von Ich selber

    The Process name is: AVKWCtlx64.exe and called G Data Filesystem Monitor Service. This process is the last process with access to the TMP-File (check with ProcMon from SysInternals) when the Error Promp pop up.
    I have no idea, where I can configure this process. I have add the exclusion path, I have disable all components I can configure in the G Data Internet Security GUI. Really all components, AntiVirus-, Heuristik-, Firewall-, Web-, Mail-, Spam-, BankGiard-, Keylogger-, Exploit-, Malware-, Phishing-, USB-Protection. This process is running, running, running and blocking for a really short time...


    Zu der SciTE AutoIt Sache (utf8.auto.check), hoffe ich mal auf ein paar Tips in die richtige Richtung :)

  • AutoItWrapper produziert Fehler: LastError:110:

    • HalliHalloSchat
    • 11. Mai 2016 um 19:08

    SciTEGlobal.properties:

    Code
    # Internationalisation
    #NewFileEncoding=CodePage/UTF8BOM/UTF8/UTF16BE/UTF16LE         # Only available in SciTE4AutoIt3 version
    #~ Enhance function of auto checking utf8: providing two methods
    #~ utf8.auto.check=1 #  detect utf8 and add BOM automatically   Credits to SciTE-RU
    #~ utf8.auto.check=2 # detect utf8 and do not add BOM
    #~ utf8.auto.check=3 # detect ascii high characters and if none found set default encoding to UTF8 and add BOM
    #~#~#~#~#~#~ utf8.auto.check=4    # detect ascii high characters and if none found set default encoding to UTF8 and do not add BOM

    diese Zeile ist normalerweise AKTIV:
    #~#~#~#~#~#~ utf8.auto.check=4 # detect ascii high characters and if none found set default encoding to UTF8 and do not add BOM

    Was soll diese machen?
    Diese verändert meinen Zeichensatz, daher habe ich diesen mal auskommentiert in der SciTEGlobal.properties.
    Ohne diese "Funktion" bleibt ein öäü ein öäü und nicht äö oder was das auch immer darstellen soll fürs menschliche Auge.


    @Photon & Lottich:
    Vielen Dank für eure Hilfe bisher!

  • AutoItWrapper produziert Fehler: LastError:110:

    • HalliHalloSchat
    • 11. Mai 2016 um 18:37

    Irgendwer verstellt mir auch meine codierung:
    Man beachte die Umlaute:

    AutoIt
    !>18:34:41 Error: EndUpdateResource: Returncode = 0 - LastError:110:Das System kann das angegebene Gerät oder die angegebene Datei nicht öffnen.rc:2


    AutoitWrapper verstellt bei mir auch die Versionsnummer zurück nach 05 auch wenn in der gespeicherten Version nur 5 steht. Somit ist beim zweiten compile dann auch die 05 wieder da und die Zeichensatzcodierung ist verstellt.
    Liegt hier mein Problem, dass mit der Zeichencodierung etwas nicht stimmt, bzw. verstellt wird?


    EDIT:
    Ich habe den AutoItWrapper bei mir auf dem Rechner kompiliert.
    in näge Zeile 2530 hinzugefügt:

    AutoIt
    hinzugefügt: Write_RC_Console_Msg("sleeping 2000ms for FileChecks", "", "...", 0)
    hinzugefügt: Sleep(2000)
    ORIGINAL: Local $result = DllCall("kernel32.dll", "int", "EndUpdateResourceW", "ptr", $rh, "int", 0)


    NUN funktionieren auch wieder die Wrapper directiven!


    Einiziges Problem:
    Irgendwas verstellt mir die Zeichencodierung im der Logausgabe:

  • AutoItWrapper produziert Fehler: LastError:110:

    • HalliHalloSchat
    • 11. Mai 2016 um 18:22

    OKAY,

    ich habe folgendes auskommentierte komplett aus der Datei entfernt:

    AutoIt
    ;~ #AutoIt3Wrapper_Icon=..\..\..\..\AutoIt\Programme\AutoIt3\Aut2Exe\Icons\AutoIt_Main_v10_256x256_RGB-A.ico
    ;~ #AutoIt3Wrapper_Res_Comment=Marco
    ;~ #AutoIt3Wrapper_Res_Description=Marco
    ;~ #AutoIt3Wrapper_Res_Fileversion=0.16.05.8
    ;~ #AutoIt3Wrapper_Res_Fileversion_AutoIncrement=y
    ;~ #AutoIt3Wrapper_Res_LegalCopyright=Marco
    ;~ #AutoIt3Wrapper_Res_Language=1031
    ;~ #AutoIt3Wrapper_Res_Field=AutoIt Version|%AutoItVer%
    ;~ #AutoIt3Wrapper_Res_Field=Compile Date|%date% %time%


    Sobald dies nicht mehr in der Datei vorhanden ist, läuft das Script stabil durch den compiler.

    Aber ich möchte diese Sachen gerne nutzen :)

    Was bedeutet dieses hier:

    AutoIt
    ! Invalid FileVersion value 3=05. It will be changed to:5

    Korrekt, ich hatte bei mir in der Version "05" stehen. Habe es in "5" geändert


    Photon:
    Ich habe deinen Test gemacht.
    MIT auskommentierten Block hat es genau dein Verhalten. Jedes mal wenn ich eine Variable hinzufüge funktioniert es. Nur der zweite UNVERÄNDERTE compile schlägt fehl.

    Jedoch wenn ich den Block ein kommentiere, schlägt nun jedes mal fehl. Naja, jedes 10 mal ca. läuft durch. Virenscanner komplett deaktiviert.

  • AutoItWrapper produziert Fehler: LastError:110:

    • HalliHalloSchat
    • 11. Mai 2016 um 18:12

    Ja, genau:

    AutoIt
    #AutoIt3Wrapper_Icon=..\..\..\..\AutoIt\Programme\AutoIt3\Aut2Exe\Icons\AutoIt_Main_v10_256x256_RGB-A.ico
    #AutoIt3Wrapper_Outfile=M:\MOVIE_SymLinks.exe
    #AutoIt3Wrapper_Outfile_x64=M:\MOVIE_SymLinks.exe
    #AutoIt3Wrapper_Compression=4
    #AutoIt3Wrapper_UseUpx=y
    #AutoIt3Wrapper_Change2CUI=y
    #AutoIt3Wrapper_Res_Comment=Marco
    #AutoIt3Wrapper_Res_Description=Marco
    #AutoIt3Wrapper_Res_Fileversion=0.16.05.8
    #AutoIt3Wrapper_Res_Fileversion_AutoIncrement=y
    #AutoIt3Wrapper_Res_LegalCopyright=Marco
    #AutoIt3Wrapper_Res_Language=1031
    #AutoIt3Wrapper_Res_Field=AutoIt Version|%AutoItVer%
    #AutoIt3Wrapper_Res_Field=Compile Date|%date% %time%
    Alles anzeigen

    und dann einmal:

    AutoIt
    ;~ #AutoIt3Wrapper_Icon=..\..\..\..\AutoIt\Programme\AutoIt3\Aut2Exe\Icons\AutoIt_Main_v10_256x256_RGB-A.ico
    #AutoIt3Wrapper_Outfile=M:\MOVIE_SymLinks.exe
    #AutoIt3Wrapper_Outfile_x64=M:\MOVIE_SymLinks.exe
    #AutoIt3Wrapper_Compression=4
    #AutoIt3Wrapper_UseUpx=y
    #AutoIt3Wrapper_Change2CUI=y
    ;~ #AutoIt3Wrapper_Res_Comment=Marco
    ;~ #AutoIt3Wrapper_Res_Description=Marco
    ;~ #AutoIt3Wrapper_Res_Fileversion=0.16.05.8
    ;~ #AutoIt3Wrapper_Res_Fileversion_AutoIncrement=y
    ;~ #AutoIt3Wrapper_Res_LegalCopyright=Marco
    ;~ #AutoIt3Wrapper_Res_Language=1031
    ;~ #AutoIt3Wrapper_Res_Field=AutoIt Version|%AutoItVer%
    ;~ #AutoIt3Wrapper_Res_Field=Compile Date|%date% %time%
    Alles anzeigen


    Den von dir beschriebenen Test werde ich gleich machen.


    Was bedeutet dieses hier:
    ! Invalid FileVersion value 3=05. It will be changed to:5

  • AutoItWrapper produziert Fehler: LastError:110:

    • HalliHalloSchat
    • 11. Mai 2016 um 16:37

    Seit wann es nicht mehr funktioniert ist eine gute Frage. Habe schon länger an dem PC keine mehr kompiliert.
    Auf meinem anderen "alten" Rechner (ein andere AntiVirus Software) läuft der gleiche SourceCode.
    Jetzt habe ich meinen "alten" Rechner entsorgt und nutze nur noch den neuen und nun habe ich dieses blöde Problem.

    Interessant war an dem Test...
    Nachdem ich alle ResourceUpdate Sachen kommentiert habe, lief der erste Compile ohne Fehler durch. Dann der zweite/dritte/vierte/ Compile den genauen selben Error: LastError:110
    Alle ResourceUpdate Sachen wieder aktiv geschaltet, lief der erste Compile ohne Fehler durch. Dann der zweite/dritte/vierte/ Compile den genauen selben Error: LastError:110


    Das finde ich nun mal sehr merkwürdig... Merkt sich die AntiViren-SW vielleicht ein hash vom compile.tmp-file und blockiert die dann irgendwie systemseitig? Ein deaktivieren des Virenscanner bringt ja keine Besserung.
    Merkwürdig das alles.


    Ich will gleich nochmal den Hinweis im englischen Forum testen:
    exclude C:\Users\user\AppData\Local\AutoIt v3\Aut2Exe\ in AntiViren-SW
    EDIT: Auch mit diesem Eintrag habe ich das Problem!

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™