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. Bitnugger

Beiträge von Bitnugger

  • WIN 10 Tablet - ScrollBar - WM_TOUCH

    • Bitnugger
    • 30. Dezember 2017 um 09:52
    Zitat von TJF

    Das Beispiel scrollt nicht auf dem Tablet! Der Grund liegt darin, dass "If $iDirectionX ..." und "If $iDirectionY ..." nie eintreten...

    Dann lade dir das korrigierte Beispiel aus Post #18 erneut runter... oder ändere die folgenden Zeilen selbst.

    AutoIt
    Global $g_iSendRepeat = 7 ; Wie oft soll die ScrollMessage gesendet werden
    AutoIt
    $aPoints[0][$eID] = DllStructGetData($aTouchInput[0], "dwID")
    $aPoints[0][$eX] = DllStructGetData($aTouchInput[0], "x") / 100
    $aPoints[0][$eY] = DllStructGetData($aTouchInput[0], "y") / 100
  • Fehler in der deutschen Hilfe bitte hier melden (Hilfedatei 3.3.14.2 2017.11.12)

    • Bitnugger
    • 29. Dezember 2017 um 15:11

    Wenn du explizit ein Verzeichnis als Quelle und Ziel angibst, dann dürfen Quelle und Ziel natürlich auch nur Verzeichnisse sein. Genau das hast du mit Quellverzeichnis und Zielverzeichnis auch getan.

    Dies hatte ich mit beinahe denselben Worten auch in diesem Satz geschrieben... noch treffender und verständlicher kann ich es nicht formulieren.

    Zitat von Bitnugger

    ...weil ja für Quelle und Ziel eindeutig und unmissverständlich ein Verzeichnis angegeben wird... und das ist es wohl auch, was water dir damit mitteilen wollte.

    Einen schönen Tag noch...

  • Scrollbalken

    • Bitnugger
    • 29. Dezember 2017 um 14:55
    Zitat von Tuxedo

    Vielleicht hat Bitnugger einen speziellen Maustreiber der das steuert

    Ja, das gut möglich sein... ich habe eine Logitech Wireless Mouse M560 und der Treiber setzt dann evtl. automatisch den Fokus auf das unter dem Mauszeiger befindliche Control.

    Auf meinem Mini-Server mit Windows 7 und Standard-Maustreiber von Microsoft verhält es sich bei mir auch so und es hilft auch nicht, den Fokus auf ein anderes Control zu setzen.

    Dass es bei mir funktioniert, kann aber auch daran liegen, dass ich auf meinem großen PC Windows 10 fahre...

  • WIN 10 Tablet - ScrollBar - WM_TOUCH

    • Bitnugger
    • 29. Dezember 2017 um 05:14
    Zitat von TJF

    Ja, definiert ist die Variable. Sie nimmt aber nie einen Wert an.

    Doch, das tut sie... die Variablen $iDirectionX und $iDirectionY wurden in Zeile 152 deklariert und werden entsprechend der WM_TOUCH-Message in Zeile 170 und 181 definiert - das ist soweit alles richtig! ;)

    Variablen deklarieren... (benennen, bezeichnen, kundgeben, kundtun, zur Kenntnis bringen)

    AutoIt
    Local $iDirectionX, $iDirectionY

    Variablen definieren.... (bestimmen, determinieren, festlegen, Wert(e) zuweisen)

    AutoIt
    $iDirection = $iX = $aPoints[0][$eX] ? $SB_LINERIGHT : $SB_LINELEFT
    AutoIt
    $iDirection = $iY = $aPoints[0][$eY] ? $SB_LINEDOWN : $SB_LINEUP

    Message senden... hier ist der Fehler!

    AutoIt
    If $iDirectionX Then _SendMessage($hWnd, $WM_HSCROLL, $iDirectionX)
    If $iDirectionX Then _SendMessage($hWnd, $WM_VSCROLL, $iDirectionY)


    Richtig ist...

    Code
    If $iDirectionX Then _SendMessage($hWnd, $WM_HSCROLL, $iDirectionX)
    If $iDirectionY Then _SendMessage($hWnd, $WM_VSCROLL, $iDirectionY)

    Teste mal bitte das Script im Anhang... das ist von Melba23 ...ich habe da lediglich noch WM_TOUCH hinzugefügt.

    Dateien

    _GUIScrollbars_Generate_Stand_Alone_Plus_WM_TOUCH.au3 15,51 kB – 415 Downloads
  • WIN 10 Tablet - ScrollBar - WM_TOUCH

    • Bitnugger
    • 28. Dezember 2017 um 15:53
    Zitat von TJF

    Ich meinte auch, dass $iDirectionX nicht weiter definiert ist. Der Fall also nicht eintreten kann ...

    AutoIt
    Local $iDirectionX, $iDirectionY ;, $iXAmount, $iYAmount
  • Scrollbalken

    • Bitnugger
    • 28. Dezember 2017 um 15:50
    Zitat von Tweaky

    Hast du das Beispiel in Post 7 verwendet?

    Ja.

  • WIN 10 Tablet - ScrollBar - WM_TOUCH

    • Bitnugger
    • 28. Dezember 2017 um 07:38

    Ops... ja, erwischt!

    Da ist ein $iDirectionX zu viel... wieder mal ein typischer Copy & Paste-Fehler. ;)

    Richtig ist:

    AutoIt
    For $i = 1 To 7 ; Schleife regelt die Scroll Geschwindigkeit, je mehr Durchläufe desto schneller
        If $iDirectionX Then _SendMessage($hWnd, $WM_HSCROLL, $iDirectionX) ; horizontal scrollen (rechts, links)
        If $iDirectionY Then _SendMessage($hWnd, $WM_VSCROLL, $iDirectionY) ; vertikal scrollen (oben, unten)
    Next

    Das mit der For...Next-Schleife will mir aber nicht so richtig in den Kopf... die Aussage, das es dadurch schneller gehen soll, ist in meinen Augen völliger Quatsch... für einen ersten Test habe ich das aber mal alles unverändert gelassen. Das werde ich aber noch genauer untersuchen.

    Hier liest du ja auch mit...  Melba23 wird wohl über kurz oder lang auch eine Unterstüzung für WM_TOUCH in seine UDF einbauen... dann kannst du das Aktivieren der ScrollBars mit nur einem Funktionsaufruf erledigen.

    Die Syntax dafür sieht dann so aus:

    AutoIt
    _GUIScrollbars_Generate ($hWnd, $iH_Scroll = 0, [$iV_Scroll = 0, [$iH_Tight = 0, [$iV_Tight = 0, [$fBefore = False, [$iRepeat = 0 [, $bRegisterMsg = True]]]]]])
  • Scrollbalken

    • Bitnugger
    • 28. Dezember 2017 um 05:50
    Zitat von Tweaky

    Nun gibt es nur noch 1 Problem.

    Wenn in einer ComboBox gescrollt wird, so kann die GUI nicht gescrollt werden.

    Erst wenn ein anderer Button angeklickt wird geht dies.

    Also bei mir kann ich scrollen, sobald die Maus nicht über einem Control steht... egal, was ich mit dem Combo mache... und es ist auch völlig egal, welches Control den Fokus hat.

    Du musst also nur die Maus zu einer Stelle bewegen, wo kein Control ist... dann kannst du die GUI scrollen... und dabei verliert das Combo nicht mal den Fokus.

  • WIN 10 Tablet - ScrollBar - WM_TOUCH

    • Bitnugger
    • 27. Dezember 2017 um 07:45
    Zitat von TJF

    Die Differenz muss dann mit der Scrollfunktion synchronisiert werden.

    Ich meine, da hast du einen Denkfehler... denn du willst doch sicherlich in "Echtzeit" scrollen... in dem Fall musst du bereits bei der der ersten x-/y-Koordinate reagieren, die nicht mit dem Startpunkt übereinstimmt... und nicht erst dann, wenn du den Finger wieder wegnimmst!

    Und ja, sicher, die dwID brauchst du natürlich... immer... denn sobald sich diese ändert, musst du dir den neuen Startpunkt merken. Solange die identisch mit der vorherigen Nachricht ist, musst du nur kontrollieren, ob sich die x-/y-Koordinate geändert hat, und wenn ja, die Position(en) synchronisieren, bzw. die Richtung(en) angeben, in die gescrollt werden soll.

    Test das Script im Anhang mal... wenn möglich auch mit Mausrad... habe da auch noch ein paar Sachen/Kommentare eingebaut... und gib mir mal bitte die minimalen und maximalen Koordinaten für x und y durch.

    Dateien

    TJF.zip 12,97 kB – 415 Downloads
  • Scrollbalken

    • Bitnugger
    • 27. Dezember 2017 um 02:41

    Wie es der Zufall will, habe zwei UDFs inkl. Demo... eine ist, soweit ich es ersehen kann, von Oscar , die andere von @Großvater ... beide mit WM_MOUSEWHEEL.

    Oscar : https://www.autoit.de/index.php?page…1092#post161092

    Der Link ^ ^ ist leider tot... dafür tut es der aber...

    Standard GUI Scrollbar machen

    oder hier...

    MouseWheel auswerten

    @Großvater: GUIScroll-UDF - scrollbare GUIs

    Dateien

    GuiScroll.zip 7,12 kB – 253 Downloads
  • Fehler in der deutschen Hilfe bitte hier melden (Hilfedatei 3.3.14.2 2017.11.12)

    • Bitnugger
    • 27. Dezember 2017 um 01:23
    Zitat von water

    Das Ergebnis war: Path bedeutet drive, directory and filename/extension.

    Genau genommen steht in der englischen Hilfe aber gar nicht "path", sondern "source path" und "destination path"...

    Google übersetzt es so:

    The source path      -> Der Quellpfad             

    The destination path -> Der Zielpfad             

    Nicht nur die Briten/Amis, sondern auch Wikipedia ist der Meinung, dass ein Pfad oder auch Pfadname (hier eben Quell- und Zielpfad) einen Dateinamen enthalten muss... allerdings steht in der englischen Hilfe aber auch, dass Wildcards unterstützt werden... ergo ist alles, was hinter dem letzten Backslash steht, optional. Dies gilt allerdings nur für den Quellpfad!

    Peter S. Taler 's Übersetzung dürfte keinen Dateinamen enthalten... und auch keine Wildcards (in deutscher Sprache: Platzhalter)...

    Das Quellverzeichnis -> The source directory     

    Das Zielverzeichnis  -> The destination directory

    ...weil ja für Quelle und Ziel eindeutig und unmissverständlich ein Verzeichnis angegeben wird... und das ist es wohl auch, was water dir damit mitteilen wollte.

    Wikipedia sagt zu "Pfad" bzw. "Pfadname" folgendes: https://de.wikipedia.org/wiki/Pfadname

    Die korrekte Übersetzung ist demzufolge also: "Der Quellpfad" und "Der Zielpfad".

    Zitat von Tuxedo

    Warum muss immer alles verkompliziert werden???

    Ich kann in diesem Thread auch bei größten Anstrengungen keine einzige Stelle entdecken, die auch nur einen Hauch von Komplexität an sich hat... 8o

  • WIN 10 Tablet - ScrollBar - WM_TOUCH

    • Bitnugger
    • 26. Dezember 2017 um 11:47

    So wie ich es verstehe, ist die dwID bei nur einem TouchPoint nicht von Interesse. Die spielt nur dann eine wichtige Rolle, wenn du mehrere TouchPoints hast, denn in dem Fall musst du diese ja unterscheiden können.

    Von daher benötigst du eigentlich nur den y-Wert... und immer wenn eine WM_TOUCH-Message kommt, synchronisierst du die ScrollBar auf den neuen Wert.

    Du musst in deinem "Message-Handler" WM_TOUCH aber noch überprüfen, ob du mehrere TouchPoints bekommen hast... ist dies der Fall, dann darfst du die y-Position nämlich nicht synchronisieren!

    Was passieren soll, wenn zwei oder mehr TouchPoints vorhanden sind, kannst du dann natürlich auch händeln. Auf meinem Andoid-Tablet werden z.B. zwei aufeinanderfolgende Nachrichten mit drei TouchPoints innerhalb eines Doppelklicks, als Auto-Zoom verstanden, eine Nachricht mit zwei TouchPoints als manuellen Zoom... oder so ähnlich... 8o

  • WIN 10 Tablet - ScrollBar - WM_TOUCH

    • Bitnugger
    • 26. Dezember 2017 um 09:26

    wParam

    The low-order word contains the number of touch points associated with this message. The high-order word is reserved for future use.


    wParam liefert dir also die Anzahl der Berührungspunkte, an der das Display berührt wurde, zu dem Zeitpunkt, an dem die WM_TOUCH-Message erstellt wurde.

    Wenn du das Display nur mit einem Finger berührst, dann kommt da natürlich auch immer eine 1.

    Demnach sind die Infos in der Debugausgabe also völlig korrekt! Berühre das Display mal mit mehreren Fingern... in $iTouchPoints (s. neues Script) sollte dann die Anzahl der "Finger" stehen.

    Ich habe dein Script mal ein wenig umgeschrieben... teste es mal...

    AutoIt
    ;-- TIME_STAMP   2017-12-26 09:55:11   v 0.1
    
    #Region ;************ Includes ************
    #include-once
    #include <Array.au3>
    #include <GUIConstantsEx.au3>
    ;~ #include <GuiButton.au3>
    ;~ #include <StructureConstants.au3>
    #include <WindowsConstants.au3>
    #include <GuiEdit.au3>
    ;~ #include <WinAPI.au3>
    #EndRegion ;************ Includes ************
    
    #RequireAdmin
    
    Global $g_hGUI, $g_idMemo
    
    Global Const $tagTOUCHINPUT = "LONG x; LONG y; HANDLE hSource; DWORD dwID; DWORD dwFlags; DWORD dwMask; DWORD dwTime; ULONG_PTR dwExtraInfo; DWORD cxContact; DWORD cyContact"
    
    _Main()
    
    Func _Main()
        $g_hGUI = GUICreate("WM_TOUCH", 1080, 640)
    
        $g_idMemo = GUICtrlCreateEdit("", 10, 10, 300, 600, $WS_VSCROLL)
    ;~     _GUICtrlEdit_SetLimitText($g_iMemo, 0x80000000) ; mit _GUICtrlEdit_AppendText() ist das nicht nötig!
        GUICtrlSetFont($g_idMemo, 9, 400, 0, "Courier New")
    
        DllCall("User32.dll", "BOOL", "RegisterTouchWindow", "HWND", $g_hGUI, "ULONG", 2)
    
        GUIRegisterMsg($WM_TOUCH, "WM_TOUCH")
    
        GUISetState()
    
        While 1
            Switch GUIGetMsg()
                Case $GUI_EVENT_CLOSE
                    Exit
            EndSwitch
        WEnd
    EndFunc   ;==>_Main
    
    ; Die in Au3Check 1.51 eingeführte Anweisung #uses, wurde ab 1.52 in #forceref umbenannt. Diese hat zwei Aufgaben.
    ; 1.) Vermeidung von -w 5 Warnungen durch Au3Check.
    ; 2.) Vermeiden, dass globale Variablen und Funktionen in der Liste der Bezugssymbole erscheinen, wenn eine Funktion z.B. via Call($fn) aufgerufen wird.
    Func WM_TOUCH($hWnd, $Msg, $wParam, $lParam)
        #forceref $hWnd, $Msg
        Local Static $aDllError = [ _
                [1, 'Die Dll-Datei kann nicht verwendet werden.'], _
                [2, 'unbekannter Rückgabewert "return type".'], _
                [3, 'Funktion wurde nicht in der DLL-Datei gefunden.'], _
                [4, 'Falsche Anzahl von Parametern.'], _
                [5, 'Falscher Parameter.']]
    
        Local $iTouchPoints = _WinAPI_LoWord($wParam) ; Anzahl der Berührungspunkte, an der das Display berührt wurde, als diese Message erstellt wurde.
    
        Local $aTouchInput[$iTouchPoints]
        Local $iBuffer = DllStructCreate("BYTE buffer[" & $iTouchPoints * 40 & "]")
    ;~     _Memo("BYTE buffer[" & $iTouchPoints * 40 & "]")
    
        Local $tTouchInfo = DllStructCreate($tagTOUCHINPUT, DllStructGetPtr($iBuffer))
        Local $pTouchInfo = DllStructGetPtr($tTouchInfo)
        Local $iStructSize = DllStructGetSize($tTouchInfo)
    
        For $i = 0 To $iTouchPoints - 1 Step 1
            $aTouchInput[$i] = DllStructCreate($tagTOUCHINPUT, $pTouchInfo + $i * 40)
        Next
    
        ; https://msdn.microsoft.com/de-de/library/windows/desktop/dd317334(v=vs.85).aspx
        ; typedef struct _TOUCHINPUT {
        ;     LONG      x;
        ;     LONG      y;
        ;     HANDLE    hSource;
        ;     DWORD     dwID;
        ;     DWORD     dwFlags;
        ;     DWORD     dwMask;
        ;     DWORD     dwTime;
        ;     ULONG_PTR dwExtraInfo;
        ;     DWORD     cxContact;
        ;     DWORD     cyContact;
        ; } TOUCHINPUT, *PTOUCHINPUT;
    
        Local $aRet = DllCall("User32.dll", "BOOL", "GetTouchInputInfo", "HANDLE", $lParam, "UINT", $wParam, "ULONG_PTR", $pTouchInfo, "int", DllStructGetSize($tTouchInfo))
        ; If the function succeeds, the return value is nonzero. If the function fails, the return value is zero. To get extended error information, use the GetLastError function.
    
        If @error Then
            Local $iError = @error, $iIndex = _ArraySearch($aDllError, $iError), $sErrorText = $iIndex = -1 ? 'Unbekannter Fehler' : $aDllError[$iIndex][1]
            _Memo("Error bei DllCall             : " & $iError & ' Errortext = ' & $sErrorText)
            _Memo("_WinAPI_GetLastError()        : " & _WinAPI_GetLastError())
            _Memo("_WinAPI_GetLastErrorMessage() : " & _WinAPI_GetLastErrorMessage())
            _Memo("$aRet[0] if successful = true : " & $aRet[0])
        Else
            _Memo("************************************")
            _Memo("Finger Numbers                : " & $iTouchPoints)
    
            For $j = 0 To $iTouchPoints - 1 Step 1
                _Memo("TouchPointInfo            : " & $j)
                _Memo("dwID (ID des TouchPints)  : " & DllStructGetData($aTouchInput[$j], "dwID"))
                _Memo("x/100, y/100              : " & StringFormat('%i, %i\r\n', DllStructGetData($aTouchInput[$j], "x") / 100, DllStructGetData($aTouchInput[$j], "y") / 100))
            Next
        EndIf
    EndFunc   ;==>WM_TOUCH
    
    Func _Memo($sText)
        If $sText Then _GUICtrlEdit_AppendText($g_idMemo, $sText & @CRLF)
    EndFunc   ;==>_Memo
    Alles anzeigen
  • WIN 10 Tablet - ScrollBar - WM_TOUCH

    • Bitnugger
    • 25. Dezember 2017 um 01:46

    Dann "aktiviere" doch mal die Zeilen 57-50... oder ändere sie, für maximale Debug-Info...

    AutoIt
        GUICtrlSetData($iMemo, "$hWnd                         : " & $hWnd & @CRLF, 1)
        GUICtrlSetData($iMemo, "$Msg                          : " & $Msg & @CRLF, 1)
        GUICtrlSetData($iMemo, "$wParam                       : " & $wParam & @CRLF, 1)
        GUICtrlSetData($iMemo, "$lParam                       : " & $lParam & @CRLF, 1)
    
        GUICtrlSetData($iMemo, "@error                        : " & @error & @CRLF, 1)
        GUICtrlSetData($iMemo, "_WinAPI_GetLastError()        : " & _WinAPI_GetLastError() & @CRLF, 1)
        GUICtrlSetData($iMemo, "_WinAPI_GetLastErrorMessage() : " & _WinAPI_GetLastErrorMessage()() & @CRLF, 1)
        GUICtrlSetData($iMemo, "Func0 Ret                     : " & $aRet0[0] & @CRLF, 1)
  • Cookies

    • Bitnugger
    • 23. Dezember 2017 um 04:22

    Weise bitte demnächst darauf hin, wenn du deine Frage auch in anderen Foren gestellt hast.

    ==>> https://www.win-10-forum.de/edge-and-inter…75-cookies.html

    Eine Lösung dafür konnte ich aber auch nicht finden... hier aber ein paar weiterführende Links:

    https://www.tenforums.com/browsers-email…ors-update.html

    https://superuser.com/questions/1083…s-really-stored

    https://www.experts-exchange.com/questions/2859…dat-viewer.html

    Um mal einen Blick in die Datei WebCacheV01.dat zu werfen, habe ich sie mit DeadLock entsperrt, weil taskhostw.exe sie bei mir gesperrt hat.

  • Random in ASM

    • Bitnugger
    • 23. Dezember 2017 um 01:15
    Zitat von Mars

    Das Einzige was ich ändern würde wäre ein "@f" aus dem "@@", oder ich habe Assembleit nicht verstanden.

    Dann bekommst du das hier...

    Anonymous Labels

    FASM supports labels that use no identifier or label name.

    • @@: represents an anonymous label. Any number of anonymous labels can be defined.
    • @b refers to the closest @@ that can be found when looking backwards in source. @r and @b are equivalent.
    • @f refers to the closest @@ that can be found when looking forwards in source.
  • Quicksort mit 32-Bit Integerwerten

    • Bitnugger
    • 20. Dezember 2017 um 19:21
    Zitat von Oscar

    verstehe ich das richtig, dass dort quasi ein Pseudo-Variant-Array erzeugt

    Es wird ein SafeArray erzeugt... wie du das von beiden Seiten handhaben kannst, ist z. B. gut in den Examples in .\Tests\Examples\2) Array variables\ zu sehen.

    ==>> An AutoIt array is a safearray contained in a variant.

    Zitat von Oscar

    Und was ist, wenn man mehrere Arrays benötigt?

    Dann erzeugst du halt mehrere SaveArrays. Wenn du dir die Examples angeschaut hast, wirst du sicher durchblicken. ;)

  • Script zum auto öffnen von Dateien mit "if" Bedingung

    • Bitnugger
    • 20. Dezember 2017 um 03:44

    Dann kann man die Software aber womöglich via Control-Commands dazu bewegen, dass Messprogramm zu laden... dazu musst du die benötigen Infos mit Au3Info auslesen.

  • Sonderzeichen

    • Bitnugger
    • 20. Dezember 2017 um 03:20

    Du schreibst "Protypen-Zahlen"... dann stimmt aber dein Beispieltext nicht, denn "\u25" tanzt dann ja aus der Reihe.

    Im Prinzip funktioniert es aber so...

    AutoIt
    ;-- TIME_STAMP   2017-12-20 03:14:09   v 0.1
    
    ;                    Protyp Bedeutung             Ersatzdarstellung   ISO_8859_1    Unicode
    Global $aTable = [  [321,   'Komma'             , ''                ,  44         , '002C'], _
                        [323,   'Doppelpunkt'       , ''                ,  58         , '003A'], _
                        [324,   'Ausrufezeichen'    , ''                ,  33         , '0021'], _
                        [325,   'Fragezeichen'      , ''                ,  63         , '003F'], _
                        [326,   'Minuszeichen'      , ''                ,  45         , '002D'], _
                        [327,   'Gleichheitszeichen', ''                ,  61         , '003D'], _
                        [328,   'Slash'             , ''                ,  47         , '002F'], _
                        [329,   'Hochkomma 9'       , "'"               ,  -1         , '2019'], _
                        [330,   'Hochkomma 6'       , "'"               ,  -1         , '2018'], _
                        [333,   'Backslash'         , ''                ,  92         , '005C'], _
                        [340,   'Malpunkt'          , '*'               , 183         , '00B7'], _
                        [341,   'senkrechter Strich', ''                , 124         , '007C'], _
                        [344,   'Minute'            , "'"               ,  -1         , '2032'], _
                        [345,   'Sekunde'           , "'"               ,  -1         , '2033'], _
                        [346,   'Gedankenstrich'    , '-'               ,  -1         , '2014'], _
                        [347,   'Grad'              , 'Grad'            , 176         , '00B0'], _
                        [348,   'Promille'          , 'Promille'        ,  -1         , '2030'] ]
    
    Global Enum $eProtyp, $eBedeutung, $eErsatzdarstellung, $eISO_8859_1, $eUnicode
    
    _Example()
    
    Func _Example()
        Local $sText = 'Nicht \u25ber 25\347 C lagern. Wer über 0,5 \348 Alkohol im Blut hat, sollte kein mehr Auto fahren!'
    
        ConsoleWrite('---------------------------------------------------------------------------------------------------------------' & @CRLF)
        ConsoleWrite('! Vorher  : ' & $sText & @CRLF)
    
        _ConvertText($sText)
    
        ConsoleWrite('> Nachher : ' & $sText & @CRLF)
        ConsoleWrite('---------------------------------------------------------------------------------------------------------------' & @CRLF)
    EndFunc
    
    
    Func _ConvertText(ByRef $sText)
        For $i = 0 To UBound($aTable) -1 Step 1
            $sText = StringReplace($sText, '\' & $aTable[$i][$eProtyp], ChrW('0x' & $aTable[$i][$eUnicode]))
        Next
    EndFunc
    Alles anzeigen
  • Quicksort mit 32-Bit Integerwerten

    • Bitnugger
    • 20. Dezember 2017 um 01:22

    Hallo Oscar ,

    ich bin vor einiger Zeit über diesen Thread gestolpert, der sicher auch für dich interessant ist.

    Accessing AutoIt Variables

    Zitat von LarsJ

    Accessing variables

    AutoIt is a BASIC-like language. In BASIC-like languages simple variables are internally stored as variants, and arrays are internally stored as safearrays contained in variants.

    Assuming that an AutoIt variable is internally stored as a variant, is it possible to get a pointer to this variant?

    Assuming that an AutoIt array is internally stored as a safearray contained in a variant, then it should be possible to get a pointer to the safearray through the pointer to the variant.

    Why is a pointer to a safearray interesting? Because such a pointer can be passed as a parameter to a function coded in assembler, C, C++, C# or FreeBasic. We can thus access an AutoIt array directly from a function coded in another language, without the need to convert the array to a structure (DllStructCreate) or similar. In this way it's possible to code very fast array manipulation functions in a real compiled language.

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™