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

Beiträge von funkey

  • Einlesen eines Strings mit RFID-Kartenleser

    • funkey
    • 24. November 2021 um 15:47

    Den Code von OnAutoitExit() hast du nicht dabei, aber ich gehe davon aus, dass dort die Variable $g_hStub_KeyProc noch benötigst, die du aber vorher schon abnullst. Vllt hilft das schon, diese Zeile wegzulassen oder nach OnAutoitExit() auszuführen.

  • Variablen in RAM speichern - Daten zentralisieren - für mehrere Scripts zugänglich machen

    • funkey
    • 24. November 2021 um 14:41

    Oder das da: https://www.autoitscript.com/forum/topic/20…bject_internal/

    Hängt alles davon ab, was man erreichen will.

  • Variablen in RAM speichern - Daten zentralisieren - für mehrere Scripts zugänglich machen

    • funkey
    • 24. November 2021 um 14:37

    Da gibt es mehrere Ansätze: Diesen habe ich als erstes gefunden: https://www.autoitscript.com/forum/topic/20…dows-messaging/

  • GUICtrlSetColor Problem

    • funkey
    • 23. November 2021 um 09:57

    Da wirst du ein RichEdit brauchen

    C
    #include <ColorConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <GuiRichEdit.au3>
    
    
    Func UpdateEditField( $idEditField, $sString, $bError )
       Local $sValue = GUICtrlRead( $idEditField )
       If $bError = True Then
    ;~       Beep( 500, 500 )
          _GUICtrlRichEdit_SetCharColor( $idEditField, _WinAPI_SwitchColor($COLOR_RED ))
          _GUICtrlRichEdit_AppendText( $idEditField, @CRLF & $sString )
          _GUICtrlRichEdit_SetCharColor( $idEditField, _WinAPI_SwitchColor($COLOR_BLACK ))
       Else
          _GUICtrlRichEdit_AppendText( $idEditField, @CRLF & $sString )
       EndIf
    EndFunc
    
    
    Global $hGui = GUICreate("Test", 400, 400)
    Global $nBtn = GUICtrlCreateButton("Add Text", 10, 10, 100, 30)
    Global $hRichEdit = _GUICtrlRichEdit_Create($hGui, "Text", 10, 90, 380, 300)
    
    GUISetState(@SW_SHOW)
    
     While 1
            Switch GUIGetMsg()
                Case $GUI_EVENT_CLOSE
                    _GUICtrlRichEdit_Destroy($hRichEdit)
                    ExitLoop
                Case $nBtn
                    UpdateEditField( $hRichEdit, Chr(Random(65, 90, 1)), Random(0, 1, 1 ))
            EndSwitch
        WEnd
    Alles anzeigen
  • Modbus TCP geht nur bei SlaveID =1

    • funkey
    • 4. Oktober 2021 um 18:48

    So wie das aussieht ist die ID fest in die Funktion _ModbusTCP_ReadValues verbaut. Man bräuchte nur die Funktion leicht anzupassen, um die ID zu übergeben.

  • Url im Hintergrund öffnen und wieder schließen

    • funkey
    • 24. September 2021 um 13:52

    Habs nur schnell zusammenkopiert. Nun ist's ausgebessert

  • Url im Hintergrund öffnen und wieder schließen

    • funkey
    • 24. September 2021 um 11:13

    Ich würde das so irgendwie machen:

    Code
    Global $remIP = "192.168.0.3"
    Global $remPort = 80
    
    TCPStartup()
    Global $ConnectedSocket = TCPConnect($remIP, $remPort)
    TCPSend($ConnectedSocket,"GET /?Rly3=1 " & @CRLF & @CRLF)
    Global $recv = TCPRecv($ConnectedSocket, 4096)
    TCPCloseSocket($ConnectedSocket)
    TCPShutdown()

    Ungetestet

  • emulierte Tastatureingabe eines RFID-Scanners in Variable schreiben

    • funkey
    • 16. September 2021 um 16:27
    Zitat von hipfzwirgel

    Hallo funkey,

    auch das wäre ein interessanter Ansatz, vielen lieben Dank dafür. Damit sieht es aber bis jetzt so aus, als könne man in Autoit den StdIn-Stream nur
    anhand von Umwegen entgegen nehmen und in eine Variable speichern. Vielleicht hilft mir ja das Barcodescanner-Script von Oscar weiter...

    Mein Beispiel ist sicher der einfachste Weg um das Problem zu lösen.

    Ein anderer Weg, wäre ein Low-Level Tastatur-Hook, der aber wahrscheinlich in leicht abgewandelter Form als Keylogger verwendet werden könnte. Somit kannst du in diese Richtung von uns keine Hilfe erwarten, sorry.

  • emulierte Tastatureingabe eines RFID-Scanners in Variable schreiben

    • funkey
    • 16. September 2021 um 12:54

    Und wenn du das Input-Feld außerhalb der Gui 'anzeigst'?

    C
    #include <GUIConstantsEx.au3>
    #include <MsgBoxConstants.au3>
    #include <WinAPISysWin.au3>
    
    Opt("GUIOnEventMode", 1)
    
    Global $hGui = GUICreate("test")
    GUISetOnEvent($GUI_EVENT_CLOSE, "SpecialEvents")
    GUISetOnEvent($GUI_EVENT_MINIMIZE, "SpecialEvents")
    GUISetOnEvent($GUI_EVENT_RESTORE, "SpecialEvents")
    
    Global $nLbl = GUICtrlCreateLabel("Bitte einen Text eingeben. Das Ergebnis ist nicht sichtbar", 10, 100, Default, Default, 0, 0)
    Global $nEdit = GUICtrlCreateInput("", 10, -100, 300, 20)
    
    GUICtrlCreateButton("Show", 10, 200, 100, 25)
    GUICtrlSetOnEvent(-1, "_ShowInput")
    GUICtrlCreateButton("Hide", 120, 200, 100, 25)
    GUICtrlSetOnEvent(-1, "_HideInput")
    
    GUISetState(@SW_SHOW)
    
    While 1
            Sleep(100)
    WEnd
    
    Func _ShowInput()
        GUICtrlSetPos($nEdit, 10, 100)
        GUICtrlSetState($nLbl, $GUI_HIDE)
    EndFunc
    
    Func _HideInput()
        GUICtrlSetState($nLbl, $GUI_SHOW)
        GUICtrlSetPos($nEdit, 10, -100)
        _WinAPI_SetFocus(GUICtrlGetHandle($nEdit))
    EndFunc
    
    Func SpecialEvents()
        Select
            Case @GUI_CtrlId = $GUI_EVENT_CLOSE
                GUIDelete()
                Exit
        EndSelect
    EndFunc   ;==>SpecialEvents
    Alles anzeigen
  • Modbus TCP geht nur bei SlaveID =1

    • funkey
    • 16. September 2021 um 06:56

    Dann zeig mal deine Modbus-Funktionen wie BugFix schon sagte. Die ID im Protokoll zu ändern sollte kein Problem sein.

  • Modbus TCP geht nur bei SlaveID =1

    • funkey
    • 15. September 2021 um 15:57

    Die ID hat nichts mit der IP zu tun. Die ID ist im Protokoll verankert. Allerdings wenn beide Geräte eine unterschiedliche IP haben, dann würde ich die ID bei beiden Geräten auf dem Standard-Wert von ! belassen und dann müsste auch das Skript funktionieren. Unterschiedliche IDs braucht man z.B. wenn man ein Modbus-TCP Gateway hat, welches sekundärseitig mehrere Geräte über Modbus-RTU ansprechen soll.

  • Frohes Weihnachtsfest

    • funkey
    • 23. Dezember 2020 um 22:19

    Hallo an alle! Schöne Weihnachten!!!:)

  • Einbinden DLL für das Einlesen von Messwerten über die serielle Schnittstelle

    • funkey
    • 13. November 2017 um 17:55

    Es gibt auch DLL's, die z.B. über eine Registrierungsfunktion verfügen, wo man also eine Seriennummer übergeben muss (könnte ich mir auch bei dieser DLL vorstellen). Damit das funktioniert, muss immer die DLL zuerst geöffnet werden, und dann mit dem Handle weitergearbeitet werden. Das ist also immer die sicherere Variante.

  • [Gesucht] Englisch Selbstlernbuch für Anfänger

    • funkey
    • 19. Dezember 2016 um 13:38

    https://www.ravensburger.de/shop/tiptoi/bu…2904/index.html

    Damit kann jeder in die englische Sprache einsteigen ;)

  • DBX Datenbank ?

    • funkey
    • 3. Juni 2015 um 09:58

    DBX und DBF sind ja glaube ich fast kompatibel. Du könntest mal meine DBF-UDF probieren, aber leider sind alle meine Links in AutoIt.de nicht mehr da X( . Vielleicht finde ich die UDF noch irgendwo in meinem Chaos.

    Weiß jemand, ob man die Links in den Beiträgen bzw. alle Uploads wieder herstellen kann?

    Gruß funkey

  • DllCall dhcpsapi.dll

    • funkey
    • 6. Mai 2015 um 12:51

    Ich kann das leider nicht testen, aber so hätte ich das versucht:

    AutoIt
    Global Const $tagDHCPDS_SERVER = "DWORD Version;ptr ServerName;DWORD ServerAddress;DWORD Flags;DWORD State;ptr DsLocation;DWORD  DsLocType;"
    Global Const $tagDHCPDS_SERVERS = "DWORD Flags;DWORD NumElements;ptr Servers;"
    
    
    Func _DhcpEnumServers()
    	Local $aRet = DllCall("Dhcpsapi.dll", "DWORD", "DhcpEnumServers", "DWORD", 0, "ptr", 0, "ptr*", 0, "ptr", 0, "ptr", 0)
    	If $aRet[0] <> 0 Then
    		Return SetError(1, $aRet[0])
    	EndIf
    
    
    	Local $iNum = DllStructCreate("DWORD NumElements", $aRet[3] + 4)
    
    
    	Local $tagDHCP_Temp = $tagDHCPDS_SERVERS
    
    
    	For $i = 1 To $iNum
    		$tagDHCP_Temp &= $tagDHCPDS_SERVER
    	Next
    
    
    	Local $tDHCP_Servers = DllStructCreate($tagDHCP_Temp, $aRet[3])
    
    
    	Local $aData[$iNum][4]
    
    
    	For $i = 0 To $iNum - 1
    		$aData[$i][0] = DllStructCreate("wchar[256]", DllStructGetData($tDHCP_Servers, 4 + $i * 7))
    		$aData[$i][0] = DllStructGetData($aData[$i][0], 1)
    
    
    		$aData[$i][1] = DllStructGetData($tDHCP_Servers, 5 + $i * 7)
    		$aData[$i][1] = _inet_ntoa($aData[$i][1])
    		$aData[$i][2] = DllStructGetData($tDHCP_Servers, 6 + $i * 7)
    		$aData[$i][3] = DllStructCreate("wchar[256]", DllStructGetData($tDHCP_Servers, 8 + $i * 7))
    		$aData[$i][3] = DllStructGetData($aData[$i][3], 1)
    	Next
    
    
    	;DllCall("Dhcpsapi.dll", "none", "DhcpRpcFreeMemory", "ptr", $aRet[3])
    
    
    	Return $aData
    EndFunc   ;==>_DhcpEnumServers
    
    
    Func _inet_ntoa($pIn_Addr) ;only IPv4 (deprecated)	--> use _inet_ntop() instead
    	Local $aRet = DllCall("ws2_32.dll", "str", "inet_ntoa", "ptr", $pIn_Addr)
    	Return $aRet[0]
    EndFunc   ;==>_inet_ntoa
    
    
    
    
    #include <Array.au3>
    
    
    Global $aDHCPServerInfo = _DhcpEnumServers()
    If @error Then
    	MsgBox(16, "Error", "Error: " & @extended)
    Else
    	_ArrayDisplay($aDHCPServerInfo, "Arraydisplay", "", 0, Default, "ServerName|ServerAddress|Flags|DsLocation")
    EndIf
    Alles anzeigen
  • DllCall dhcpsapi.dll

    • funkey
    • 6. Mai 2015 um 10:58

    Etwas davon ist hier schon vorhanden: http://www.autoitscript.com/forum/topic/74…ntinfo-wrapper/

    Vielleicht hilft dir das schon.

  • LibNoDave-UDF zur Kommunikation mit Simatic SPS

    • funkey
    • 20. April 2015 um 22:24

    Da kann nicht mal ein Obfuscator mithalten, aber ich werde versuchen mich da morgen durchzuwühlen.


    Edit: Der Fehler muss aber von 'LogAitDave_V3.0.exe' kommen und das ist keine AutoIt Datei und auch der Quellcode davon ist nicht dabei!?

  • LibNoDave-UDF zur Kommunikation mit Simatic SPS

    • funkey
    • 20. April 2015 um 20:51

    LibNodave kenn ich ;)
    Aber das Include-File und die Funktionen die du aufrufst habe ich noch nie gesehen. Ohne diese Datei(en) wird dir keiner hier helfen können.

  • LibHaru Wrapper-UDF - PDFs erstellen mit der libHaru-DLL

    • funkey
    • 7. Dezember 2014 um 14:01

    Hab mal die UDF überarbeitet. Die Funktionen brauchten noch die 'cdecl' Aufrufkonvention. Wahrscheinlich hatte ich damals zum testen eine andere DLL oder so. Das Beispiel sollte nun funktionieren.

    BTW: Ich kann keine rar-files mehr anhängen, sondern nur noch zip. Ist kein Problem, wollte es nur anmerken.

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™