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

  • Uralter Beitrag..... Fehlermeldung exe/au3 Zeilennummerndifferenz

    • Bitnugger
    • 25. Juni 2019 um 19:14
    Zitat von Peter S. Taler

    Ist das der falsche Ansatz?

    Ich denke ja, denn...

    Zitat von Peter S. Taler

    Zeilengleich zur compilierten Version

    wirst du nie werden können.

    Stürzt die Exe auf allen Rechnern ab, solltest du mal folgende Zeile in dein Script einbauen:

    #AutoIt3Wrapper_AU3Check_Parameters=-q -d -w 1 -w 2 -w 3 -w- 4 -w 5 -w 6 -w- 7

    Anderfalls wird es wohl daran liegen, dass du eine Funktion benutzt, die auf dem Rechner nicht funktioniert, weil das Betriebssystem nicht unterstützt wird.

  • FaceDetection UDF

    • Bitnugger
    • 25. Juni 2019 um 19:02

    Ich habe das Example auf die Schnelle mal ein wenig umgebaut, dass es nach dem Anzeigen des Bildes nicht sofort beendet wird, sondern fragt, ob noch ein weiteres detektiert werden soll. Komischerweise schmiert Autoit (3.3.15.1) dann aber bei fast jedem zweiten Durchlauf ab... bei manchen Bilder sogar beim ersten!

    !>18:58:42 AutoIt3.exe ended.rc:-1073741819

    Hat jemand eine Idee, woran das liegen könnte?

    C
    ;-- TIME_STAMP   2019-06-25 18:58:17   v 0.1
    
    #AutoIt3Wrapper_UseX64=n
    
    #include "FaceDetection.au3"
    #include <Array.au3>
    
    Global $g_iMsgBoxAnswer
    
    _GDIPlus_Startup()
    
    While 1
        _FD_Demo()
        Select
            Case $g_iMsgBoxAnswer = 1 ;OK
                ContinueLoop
            Case $g_iMsgBoxAnswer = 2 ;Cancel
                _GDIPlus_Shutdown()
                Exit
        EndSelect
    WEnd
    
    Func _FD_Demo()
        Local $sFile = FileOpenDialog("open image", "", "(*.jpg;*.bmp;*.png;*.tif;*.gif)")
        ;$sFile = "Test.png"
        If @error Or Not FileExists($sFile) Then Return 2
    
        Local $hImg = _GDIPlus_ImageLoadFromFile($sFile)
        Local $iImg_W = _GDIPlus_ImageGetWidth($hImg)
        Local $iImg_H = _GDIPlus_ImageGetHeight($hImg)
    
        Local $hGui = GUICreate("FaceDetection", $iImg_W, $iImg_H)
        GUISetState()
    
        Local $hGfx = _GDIPlus_GraphicsCreateFromHWND($hGui)
        _GDIPlus_GraphicsDrawImageRect($hGfx, $hImg, 0, 0, $iImg_W, $iImg_H)
    
    
        Local $aFaces = _FD_Detect($hImg, 4)
        ConsoleWrite("> " & $aFaces[0][0] & " Faces found!" & @CRLF)
        ;_ArrayDisplay($aFaces)
    
        ;Local $hBmpGray = _GDIPlus_BitmapCreateFromScan0($iImg_W, $iImg_H, $GDIP_PXF08INDEXED, $iImg_W, $_tFD_BmpG)
        ;_GDIPlus_GraphicsDrawImageRect($hGfx, $hBmpGray, 0, 0, $iImg_W, $iImg_H)
    
        Local $hPen = _GDIPlus_PenCreate(0xAAFF0000, 2)
        For $i = 1 To $aFaces[0][0]
            _GDIPlus_GraphicsDrawRect($hGfx, $aFaces[$i][0], $aFaces[$i][1], $aFaces[$i][2], $aFaces[$i][3], $hPen)
            _GDIPlus_GraphicsDrawString($hGfx, "confidence: " & $aFaces[$i][4] & @CRLF & "angle: " & $aFaces[$i][5], $aFaces[$i][0] + 4, $aFaces[$i][1] + 4, "Arial", 16)
        Next
    
        _GDIPlus_PenSetColor($hPen, 0xAA00FF00)
        For $i = 1 To $aFaces[0][0]
            For $j = 0 To 67
                _GDIPlus_GraphicsDrawEllipse($hGfx, $aFaces[$i][6 + $j * 2], $aFaces[$i][7 + $j * 2], 4, 4, $hPen)
            Next
        Next
    
        $g_iMsgBoxAnswer = MsgBox(262209,"example", $aFaces[0][0] & " Faces found!" & @CRLF & @CRLF & "Nächstes Bild?")
        _GDIPlus_ImageDispose($hImg)
        _GDIPlus_GraphicsDispose($hGfx)
        _GDIPlus_PenDispose($hPen)
        GUIDelete()
    EndFunc
    Alles anzeigen
  • GUIs nahezu perfekt DPI-skalierbar machen - sogar mit Per-Monitor-DPI Scaling für Windows 10

    • Bitnugger
    • 19. Juni 2019 um 13:58
    Zitat von alpines

    pasted-from-clipboard.png pasted-from-clipboard.png pasted-from-clipboard.png pasted-from-clipboard.png

    Die Links zu den Bilder gehen ins Leere...


    Zitat von alpines

    Ist sowas als eigenständige UDF gewünscht?

    Definitiv ja!

  • Scite - Wo findet man alle Keboard-Shortcuts, die in Scite verwendet werden?

    • Bitnugger
    • 16. Juni 2019 um 23:08

    Nur mal so am Rande... das wird SciTE (Scintilla Text Editor) geschrieben.

  • PassIt2 1.1.0 - Dateien zwischen PCs einfach und bequem übertragen!

    • Bitnugger
    • 15. Juni 2019 um 23:18

    _WM_COMMAND

    Bei jedem Case fragst du mit _WinAPI_HiWord($wParam) = 0x200... ($iCode) warum nicht vorher einmalig abfragen und den Switch nur ausführen, wenn $iCode = 0x200?

    Wenn du beim Erstellen der hier zu überprüfenden Inputs noch den Style $ES_NUMBER hinzufügst, kannst du dir das ganze Gedöns mit Number und RegEx sparen.

    Entferne doch bitte noch den Filter für den Port, denn letztlich sollte der User entscheiden dürfen, welche Ports er verwenden will - ich will z.B. welche aus dem Bereich 50000-65000 nehmen, möglich sollten aber alle sein, also Port 0-65535.

    Code
    #Region SettingsGUI - Connection
    Global $aSettingsGUI_ConnectionPage[] = [ _
        GUICtrlCreateLabel("Username:", 168, 67, 55, 17), _
        GUICtrlCreateInput("", 256, 64, 161, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER)), _
        GUICtrlCreateLabel("IP:", 168, 91, 17, 17), _
        GUICtrlCreateInput("", 256, 88, 161, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER)), _
        GUICtrlCreateButton("", 424, 87, 23, 23, $BS_ICON), _
        GUICtrlCreateLabel("Port:", 168, 115, 26, 17), _
        GUICtrlCreateInput("", 256, 112, 161, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_NUMBER)), _
        GUICtrlCreateUpdown(-1), _
        GUICtrlCreateCheckbox("Enable bandwidth limitation", 168, 160, 153, 17), _
        GUICtrlCreateLabel("Limit sending bandwidth to:", 184, 187, 132, 17), _
        GUICtrlCreateInput("", 328, 184, 65, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_NUMBER)), _
        GUICtrlCreateUpdown(-1), _
        GUICtrlCreateLabel("KB/s", 400, 187, 28, 17), _
        GUICtrlCreateLabel("Limit receiving bandwidth to:", 184, 211, 138, 17), _
        GUICtrlCreateInput("", 328, 208, 65, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_NUMBER)), _
        GUICtrlCreateUpdown(-1), _
        GUICtrlCreateLabel("KB/s", 400, 211, 28, 17), _
        GUICtrlCreateLabel("Drop connection after", 168, 251, 107, 17), _
        GUICtrlCreateInput("", 280, 248, 57, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_NUMBER)), _
        GUICtrlCreateUpdown(-1), _
        GUICtrlCreateLabel("seconds of receiving no data.", 344, 251, 144, 17) _
    ]
    
    ...
    
    GUICtrlSetLimit($aSettingsGUI_ConnectionPage[7], 65535, 0)
    
    ...
    
    Func _WM_COMMAND($hWnd, $iMsg, $wParam, $lParam)
        If _WinAPI_HiWord($wParam) = 0x200 Then ; $EN_KILLFOCUS
            Switch $lParam ;ControlHandle
                Case GUICtrlGetHandle($hSettingsGUI_ConnectionPage_Port)
                    ;Bei einer ungültigen Eingabe wird das Feld zu 5959 resettet (wenn man das Feld verlässt)
                    Local $iPort = GUICtrlRead($hSettingsGUI_ConnectionPage_Port)
                    If ($iPort < 0 Or $iPort > 65535) Then GUICtrlSetData($hSettingsGUI_ConnectionPage_Port, 5959)
        
                Case GUICtrlGetHandle($hSettingsGUI_ConnectionPage_LimitSendingBandwidth)
                    Local $iSendingBandwidth = GUICtrlRead($hSettingsGUI_ConnectionPage_LimitSendingBandwidth)
                    If ($iSendingBandwidth < 0 Or $iSendingBandwidth > 1024 * 1024) Then GUICtrlSetData($hSettingsGUI_ConnectionPage_LimitSendingBandwidth, 0)
        
                Case GUICtrlGetHandle($hSettingsGUI_ConnectionPage_LimitReceivingBandwidth)
                    Local $iReceivingBandwidth = GUICtrlRead($hSettingsGUI_ConnectionPage_LimitReceivingBandwidth)
                    If ($iReceivingBandwith < 0 Or $iReceivingBandwith > 1024 * 1024) Then GUICtrlSetData($hSettingsGUI_ConnectionPage_LimitReceivingBandwidth, 0)
        
                Case GUICtrlGetHandle($hSettingsGUI_ConnectionPage_DropConnectionAfter)
                    Local $iDropConnectionAfter = GUICtrlRead($hSettingsGUI_ConnectionPage_DropConnectionAfter)
                    If ($iDropConnectionAfter < 1 Or $iDropConnectionAfter > 5) Then GUICtrlSetData($hSettingsGUI_ConnectionPage_DropConnectionAfter, 5)
        
                Case GUICtrlGetHandle($hSettingsGUI_AppearancePage_TransferUpdateInterval)
                    Local $iUpdateInterval = GUICtrlRead($hSettingsGUI_AppearancePage_TransferUpdateInterval)
                    If ($iUpdateInterval < 10 Or $iUpdateInterval > 1000) Then GUICtrlSetData($hSettingsGUI_AppearancePage_TransferUpdateInterval, 100)
            EndSwitch
        EndIf
    
        Return $GUI_RUNDEFMSG
    EndFunc
    Alles anzeigen
  • PassIt2 1.1.0 - Dateien zwischen PCs einfach und bequem übertragen!

    • Bitnugger
    • 14. Juni 2019 um 18:29

    Im Traymenu des PassIt2Workers könntest du noch einen Punkt hinzufügen: PassIt2 Configuration/Settings

  • PassIt2 1.1.0 - Dateien zwischen PCs einfach und bequem übertragen!

    • Bitnugger
    • 14. Juni 2019 um 18:12
    Zitat von alpines

    Wenn ich das bei jedem User individuell mache, dann muss ich die Checkbox für das Anzeigen der User im Kontextmenü entfernen, weil das ja keinen Sinn macht.

    Ja, genau, das war der Plan...


    Zitat von alpines

    Ab jetzt wird richtig versioniert (gibts das Wort überhaupt?), das Schema das ich nutze ist: x.y.z

    Ja, gibt es... und hey... gib's zu... x.y.z... du hast bei mir abgekupfert... denn ich mache es genau so! 8o

    Zitat von Musashi

    Das "u" ist schon da, es wird nur abgeschnitten (Feldlänge zu kurz !?)

    GUICtrlCreateCheckbox("Enable Active Transfer Mode in context menu", 184, 136, 225, 17), _

    ( Bitnugger : wahrscheinlich meintest Du das auch so )

    Ja, habe mir den Quellcode noch nicht angeschaut, es aber so vermutet.

    Zitat von Musashi

    Ich habe das Hauptprogramm spaßeshalber mal auf einem alten Zweitmonitor laufen lassen (1280 x 1024) - da wird dann noch einiges mehr abgeschnitten (auch in anderen Fenstern). Stellt sich allerdings die Frage, ob Monitore mit dieser geringen Auflösung berücksichtigt werden sollten.

    Ich arbeite seit 07.2017 an einem Projekt, bei dem ich mit verschiedenen Auflösungen (1280 x 720 bis 1920 × 1200) hantiere, bei kleineren Auflösungen wird die Anwendung mit einer Fehlermeldung beendet, weil es sonst zu Anzeigeproblemen kommt, bzw. die Schrift so klein wäre, dass sie nicht mal ein Adler lesen könnte. Welche Auflösungen unterstützt werden sollten, ist aber wohl hauptsächlich abhängig von der Anwendung bzw. liegt im Ermessen des Programmierers.

  • PassIt2 1.1.0 - Dateien zwischen PCs einfach und bequem übertragen!

    • Bitnugger
    • 14. Juni 2019 um 16:38

    Habe soeben die neue Version getestet und hier sind mir auch wieder ein paar Dinge aufgefallen...

    Connection/Port:

    - Lösche ich den Inhalt des Inputfeldes mit der Backspace-Taste, wird automatisch wieder der vorherige, gespeicherte Wert eingetragen. Das ist definitiv falsch/unerwünscht, denn ich will ja einen anderen Port eintragen!

    - Für die Angabe des Ports werden in dem Inputfeld nur 4 Ziffern akzeptiert - es müssen aber 5 Ziffern sein (0-65535)! (Bei mir hatte ich in der Beta 60201 als Port eingestellt)

    Linke Seite bei PassIt2 -Settings:

    - Hier würde ich die Reihenfolge ändern: General (macht man immer zuerst!), dann Connection, User, Storage, Apperance, Help und About & Updates.

    Firewall:

    Es erscheint eine Meldung, dass die Firewallregeln geändert werden müssen und der User den nächsten Prompt mit Ja bestätigen soll, damit diese geändert werden können... dieser Promt erscheint allerdings nur, wenn die UAC aktiviert ist - ist dies nicht der Fall, ist die Meldung sehr verwirrend, da der Prompt dann nicht erscheint.

    General:

    - Add users to context menu entry "Send to" - das würde ich noch bei Users als zusätzliche Spalte einbauen, denn dann kann man für jeden User separat entscheiden, ob er im Send to Menu angezeigt werden soll.

    - Enable Active Transfer Mode in context men - hier fehlt das u hinter men

    Nicht gestestet, aber ich vermute mal stark, das du beim Empfang von Dateien die Länge des Zielpfades nicht überprüfst, denn der darf normalerweise ja nicht länger als 259 Zeichen sein. ;)

    Für deine nächsten Projekte... du solltest die Versionsnummer der Beta nicht gleich der finalen Version machen.

  • Ts 3 Aufnahme Starten / Stoppen

    • Bitnugger
    • 10. Juni 2019 um 21:01
    Zitat von Penner

    Was hast du eingebunden/definiert damit das geht?

    Nichts, habe mein Testscript in Post #26 korrigiert - war ein C&P-Fehler.

  • Ts 3 Aufnahme Starten / Stoppen

    • Bitnugger
    • 9. Juni 2019 um 15:43

    Die Funktionen ts_start() / ts_stop() ergeben für mich keinen Sinn - du erzeugst dort eine GUI, sendest "{f9}" bzw. "{f8}" an diese, und killst sie dann aber sofort... was soll das Send bewirken?

    GUICreate liefert bei Erfolg übrigens ein Handle und keine ID, richtig wäre also:

    Local $h2 = GUICreate("", 298, 91)

    Und das WinActivate($id2) / WinActivate($id1) kannst du dir auch sparen, denn nach dem Erstellen sind die eh aktiv.

    Habe auch mal eben ein dirty Testscript geschrieben... und das funktioniert.

    Code
    _TS3_Record()
    
    Func _TS3_Record()
        Local $hTS3, $aWinList = WinList('[CLASS:Qt5QWindowIcon]')
        For $i = 1 To $aWinList[0][0] Step 1
            If $aWinList[$i][0] = 'TeamSpeak 3' Then
                $hTS3 = $aWinList[$i][1]
                ExitLoop
            EndIf
        Next
        If $hTS3 Then
            WinActivate($hTS3)
            ConsoleWrite('Aufnahme starten' & @CRLF)
            Send('^+R') ; Aufnahme starten
            Sleep(10000)
            WinActivate($hTS3)
            ConsoleWrite('Aufnahme stoppen' & @CRLF)
            Send('^+T') ; Aufnahme stoppen
        EndIf
    EndFunc
    Alles anzeigen
  • Kopiertool

    • Bitnugger
    • 7. Juni 2019 um 14:36
    Zitat von Moombas

    Local $CopySuccess
    $CopySuccess = DirCopy(($source & $jjjjdown & "\" & $prodown & "\Berechnungen"), ($dest & $jjjjdown & "\" & $prodown & "\Berechnungen"), $FC_OVERWRITE)
    $CopySuccess = $CopySuccess + DirCopy(($source & $jjjjdown & "\" & $prodown & "\Katasterunterlagen\Risse"), ($dest & $jjjjdown & "\" & $prodown & "\Katasterunterlagen\Risse"), $FC_OVERWRITE)

    Das kannst du auch so schreiben:

    Code
    Local $CopySuccess = DirCopy(($source & $jjjjdown & "\" & $prodown & "\Berechnungen"), ($dest & $jjjjdown & "\" & $prodown & "\Berechnungen"), $FC_OVERWRITE)
    $CopySuccess += DirCopy(($source & $jjjjdown & "\" & $prodown & "\Katasterunterlagen\Risse"), ($dest & $jjjjdown & "\" & $prodown & "\Katasterunterlagen\Risse"), $FC_OVERWRITE)

    Oder so:

    Code
    Local $CopySuccess _
        = DirCopy(($source & $jjjjdown & "\" & $prodown & "\Berechnungen"), ($dest & $jjjjdown & "\" & $prodown & "\Berechnungen"), $FC_OVERWRITE) _
        + DirCopy(($source & $jjjjdown & "\" & $prodown & "\Katasterunterlagen\Risse"), ($dest & $jjjjdown & "\" & $prodown & "\Katasterunterlagen\Risse"), $FC_OVERWRITE)
  • datei downloaden und speichern

    • Bitnugger
    • 5. Juni 2019 um 18:56

    Wenn der Teil ab www als Inline-Code eingefügt wird, fügt der Foreneditor kein http:// hinzu... etwa so:

    Um einen Benutzernamen und Passwort zum Verbinden zu benutzen, schreibt man einfach "Username:Passwort@" vor den Servernamen, z.B. [tt]http://myuser:mypassword@www.somesite.com[/tt]

    Das sieht dann so aus:

    Um einen Benutzernamen und Passwort zum Verbinden zu benutzen, schreibt man einfach "Username:Passwort@" vor den Servernamen, z.B. http://myuser:mypassword@www.somesite.com

  • datei downloaden und speichern

    • Bitnugger
    • 5. Juni 2019 um 00:39
    Zitat von Musashi

    Um einen Benutzernamen und Passwort zum Verbinden zu benutzen, schreibt man einfach "Username:Passwort@" vor den Servernamen, z.B. "http://myuser:mypassword@http://www.somesite.com"

    2x http:// ... hinter dem @ muss es weg...

  • ISN AutoIt Studio

    • Bitnugger
    • 23. Mai 2019 um 20:09

    Hier mal eine Liste im Steno-Format an Dingen, die mir aufgefallen sind...

    C
    ;~ Diese beiden Dateien werden bei einem Update via Menü nicht mit aktualisiert: formstudio2.exe, fileviewer.exe
    
    ;~ formstudio2.exe    1.940.992    26.04.2019 14:49    Version 2.77.0.0    installiert mit ISN_AUTOIT_STUDIO_V_1_07 (wird von Eset als Trojaner gemeldet!!!)
    ;~ formstudio2.exe    1.604.096    23.05.2019 17:53    Version 2.77.0.0    selbst kompiliert aus ISN_AUTOIT_STUDIO_V_1_09_SOURCE.zip
    
    ;~ formstudio2.au3
    ;~ 31 Global $Mailslot_Handle = _ISNPlugin_erstelle_Mailslot() ;Erstellt für das Plugin einen Mailslot wodurch das Plugin mit dem ISN komunizieren kann.
    ;~ "kommunizieren" wird mit zwei "m" geschrieben...
    
    ;~ fileviewer.exe    1.530.368    26.04.2019 14:49    Version 0.52.0.0    installiert mit ISN_AUTOIT_STUDIO_V_1_07
    ;~ fileviewer.exe    1.164.800    23.05.2019 18:41    Version 0.52.0.0    selbst kompiliert aus ISN_AUTOIT_STUDIO_V_1_09_SOURCE.zip
    
    ;~ fileviewer.au3
    ;~ 28 Opt("GUIResizeMode", 802) ;0=no resizing, <1024 special resizing
    ;~ Wieso schreibst du nicht einfach hin, was in der Hilfe steht...
    ;~ 28 Opt("GUIResizeMode", 802) ; $GUI_DOCKALL (2+32+256+512) so the control will not move during resizing
    ;~ ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
    ;~ Die Ladezeit für ISN AUTOIT STUDIO finde ich extrem lang - obwohl mein Projekt nur aus einer GUI (1 Label und 1 Button) und einem Quellcode mit 10 Zeilen besteht, dauert es auf meinem i7/SSD fast 1 Minute, bis ich das erste Zeichen eingeben kann.
    ;~ ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
    ;~ ISN AUTOIT STUDIO refresht nach einiger Zeit immer automatisch die Fenster... obwohl keine Eingabe gemacht wurde... das nervt!
    ;~ ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
    ;~ ISN AUTOIT STUDIO hat ein extrem eigenwilliges Fenster-Handling... wenn ich eines der Fenster durch ein anderes Programm (Display-Fusion) auf einen anderen Monitor verschieben lasse, geht ISN AUTOIT STUDIO hin und verschiebt das Fenster wieder "fast" an die alte Position... danach ist ein kleiner Teil des Fenster auf dem neuen, der Rest wieder auf dem alten Monitor sichtbar... was soll das denn bitte? Aber nicht nur das... dabei gehen dann meist auch die Inhalte des Projektbaums (Treeview) verloren... werden ganz oder teilweise nicht mehr angezeigt.
    ;~ ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
    ;~ Nachdem ich eine Instanz von ISN AUTOIT STUDIO gestartet habe, kann ich folgende Fenster finden:
    #include <Array.au3>
    #include <Debug.au3>
    #include <WinAPISysWin.au3>
    
    Local $aWinList = WinList('[REGEXPTITLE:(?i).*ISN AutoIt Studio.*]')
    _ArrayColInsert($aWinList, 2)
    For $i = 1 To $aWinList[0][0] Step 1
        $aWinList[$i][2] = _WinAPI_GetClassName($aWinList[$i][1])
    Next
    _DebugArrayDisplay($aWinList, '$aWinList', "", 0, Default, "Title|Handle|ClassName")
    ;~ Row  |Title                                                     |Handle        |ClassName
    ;~ Row 0|13                                                        |              |
    ;~ Row 1|ISN AutoIt Studio - Update                                |0x0004246E    |AutoIt v3 GUI
    ;~ Row 2|ISN AutoIt Studio wird gestartet...                       |0x0005193E    |AutoIt v3 GUI
    ;~ Row 3|ISN AutoIt Studio - Update                                |0x00072B62    |AutoIt v3 GUI
    ;~ Row 4|ISN AutoIt Studio                                         |0x00080FE0    |AutoIt v3 GUI
    ;~ Row 5|Über ISN AutoIt Studio                                    |0x00042414    |AutoIt v3 GUI
    ;~ Row 6|ISN AutoIt Studio - Bugtracker                            |0x00042394    |AutoIt v3 GUI
    ;~ Row 7|ISN AutoIt Studio                                         |0x0004209C    |AutoIt v3 GUI
    ;~ Row 8|ISN AutoIt Studio                                         |0x00042094    |AutoIt v3 GUI
    ;~ Row 9|Weitere Pfade für ISN AutoIt Studio Projekte angeben      |0x000418B4    |AutoIt v3 GUI
    ;~ Row 10|ISN AutoIt Studio - Debug                                |0x000418CA    |AutoIt v3 GUI
    ;~ Row 11|LPS-Manager - ISN AutoIt Studio                          |0x000F113C    |AutoIt v3 GUI
    ;~ Row 12|ISN AutoIt Studio - Erstkonfiguration                    |0x00500EE8    |AutoIt v3 GUI
    ;~ Row 13|ISN AutoIt Studio - Debug Console                        |0x00080FF0    |AutoIt v3 GUI
    
    ;~ "ISN AutoIt Studio - Update" ist 2x, "ISN AutoIt Studio" ist 3x vorhanden... hier wäre es schön, wenn alle Fenster einen unverwechselbaren Titel hätten.
    ;~ Wieso wird "ISN AutoIt Studio - Erstkonfiguration" überhaupt erzeugt? Die Erstkonfiguration habe ich doch längst hinter mir...
    Alles anzeigen
  • Mehrere AutoIt Dateien benutzen

    • Bitnugger
    • 21. Mai 2019 um 15:59
    Zitat von xSunLighTx3

    Kann Lua Multithreading?

    Von Haus aus nicht, es gibt aber Erweiterungen dafür, mit denen es dann möglich ist, z.B. Lua Lanes.

    Zitat von xSunLighTx3

    Lua ist doch auch einfach nur ne Interpretsprache.

    Lua ist eine Scriptsprache... schau bei Wikipedia: https://de.wikipedia.org/wiki/Lua

  • Mehrere AutoIt Dateien benutzen

    • Bitnugger
    • 20. Mai 2019 um 22:39
    Zitat von Sezer

    weil irgendwann ist es ja total langsam wegen über 10.000 Zeilen

    Die Anzahl der Zeilen spielt natürlich auch eine Rolle... aber viel wichtiger ist die Anzahl der Zeichen im Script!

    Mein aktuelles Projekt hat etwa 450000 Zeichen in 8100 Zeilen... und es läuft immer noch sehr schnell/gut. Im Editor (SciTE) macht sich das allerdings schon negativ bemerkbar. Um dem entgegen zu wirken, können geprüfte Funktionen in Gruppen zusammengefasst und dann als Include geladen werden, z.B. alle WM_*-Funktionen --> #include <_WM.au3>.

  • ISN AutoIt Studio

    • Bitnugger
    • 16. Mai 2019 um 21:06
    Zitat von Phantom

    Es gibt einen Bug bei folgendem Szenario, bei dem eine Funktion von einer anderen umschlossen werden soll.

    Ich würde das jetzt nicht unbedingt als Bug bezeichnen... und das kannst du wie folgt umgehen...

    Du hast dies hier stehen...

    Local $sString2 = Int($sString) + 5

    ...und schreibst nun vor dem Int Str... dann wird dir in der Dropdownliste das String angeboten, welches du dann mit Enter übernehmen kannst. Dann drückst du die Tasten Shift+Ende, um den Text hinter String zu markieren, und kannst die Selektion dann mit ( in Klammern setzen, denn die schließende Klammer wird dann automatisch an das Ende der Selektion eingefügt.

  • Funktionsname inkl. Parameter mit RegEx filtern

    • Bitnugger
    • 16. Mai 2019 um 19:53
    Zitat von BugFix

    Ich hatte zu diesem Thema mal diese Funktion erstellt:

    Auch nicht übel, für mein Vorhaben aber nicht zu gebrauchen... hier kannst du das \s in den Patterns durch \h ersetzen...

  • Betatest PassIt2 (Datenübertragung zwischen PCs) - Abgeschlossen - VIELEN DANK

    • Bitnugger
    • 16. Mai 2019 um 17:08

    Hört sich sehr gut an... mein Interesse ist geweckt... könnte so ein Tool sehr gut gebrauchen... habe aber erst ab nächste Woche Zeit dafür.

  • Funktionsname inkl. Parameter mit RegEx filtern

    • Bitnugger
    • 16. Mai 2019 um 16:39

    Inspiriert durch das SciTE_Interface von BugFix , dass ich um einige Funktionen erweitert und auch an vielen Stellen geändert habe, bin ich auf die Idee gekommen, mir ein Tool zu schreiben, dass mir in allen Scite-Instanzen den Funktionsnamen (mit oder ohne Parameter) in der SciTE-Toolbar anzeigt, wenn sich das Caret in einer Func/EndFunc-Zeile oder dazwischen befindet, denn mich hat es schon immer sehr genervt, dass ich bei sehr langen Funktionen nirgends sehen konnte, in welcher Funktion ich mich gerade befinde und welche Parameter sie hat.

    In der erstes Version habe ich es mit einem Label (Alpha, einfach zu händeln, aber der Text ist nur einfarbig) gemacht, in der zweiten mit RichEdit (Beta), wo jedes Zeichen eine beliebige Farbe und auch Schriftart/-stil haben kann, die aber schwerer zu händlen ist. Ich habe euch beide Versionen (mit dem RexEx-Pattern von chesstiger , dass schon sehr gut funktioniert) inkl. nötiger Includes in den Anhang gelegt, damit ihr euch ein Bild davon machen könnt.

    Da ich in der SciTE-Toolbar nur den Funktionsnamen inkl. Parameter sehen will, brauche ich ein RegEx-Pattern, dass mir den nachfolgenden Teil ausfiltert, der nicht mehr zur Funktion gehört.

    Zitat von alpines

    Nimm doch direkt \s* das matcht 0...unendlich und catcht nicht.

    Ja, hatte ich in meiner ersten Version auch so gemacht... jetzt würde ich natürlich \h* nehmen... aber du kennst das sicher auch, wenn du dich stundenlang im Kreis drehst, siehst du nachher den Wald vor lauter Bäumen nicht...

    Zitat von AspirinJunkie

    https://regex101.com/r/O1wi2V/6

    Oha, sieht ja echt mega aus... aber wärst du bitte so lieb und würdest mir das nach AutoIt portieren... bekomme es einfach nicht hin, dass es dann auch funktioniert. 8|

    _SciTE_ShowFuncName.png

    Dateien

    _SciTE_ShowFuncName.zip 38,54 kB – 438 Downloads

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™