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

Beiträge von Micha_he

  • [offen] - USB Autoswitch

    • Micha_he
    • 11. September 2017 um 10:03

    Wir verwenden die Modelle SX-1000U und SX-2000U2. Sind aber beide wohl nur noch per Gebrauchtmarkt erhältlich. Zu den Nachfolgern kann ich nichts sagen.

    Verbinden und Trennen geht per GUI und Kommandozeile. Es gibt auch eine Einstellung, das eine automatische Trennung auf eine Verbindungsanfrage+Zeitlimit erfolgen soll. Wir konnten dies aber mit der bei uns eingesetzten älteren Softwareversion nicht bestätigen.

    Silex Virtual Link V6.80: Timeout 10/30/60/90/120/150/180 s einstellbar, Popup mit Countdown und wenn eingestellt, automatischem Wechsel zum anforderden Rechner funktioniert ! Der Timeout wird aber je Benutzer eingestellt. Wenn also eine die Konfig umstellt, kann der andere anfordern bis er schwarz wird.

  • [offen] - USB Autoswitch

    • Micha_he
    • 9. September 2017 um 20:28

    Privat sowie auch dienstlich setze ich Device-Server der Fa. Silex ein. Ist zwar etwas teurer, aber damit sind die USB-Geräte von mehreren Rechner zugänglich und wie lokal angeschlossen. Drucker/Scanner alles ohne Probleme.

  • Forenupdate - September 2017 - Probleme / Anregungen / Feedback - Sammelthread

    • Micha_he
    • 3. September 2017 um 20:37

    Mit den Browsern Via & Dolphin in Desktop- und Mobilansicht (andere zur Zeit nicht getestet) kann ich unter Android die Foreneinträge nicht als gelesen markieren. Weder auf der Haupt-Forumseite noch auf der Seite "ungelesene Beiträge".

    Die Zeile in der der besagte Haken zu finden wäre, wird komplett nicht dargestellt !

  • Probleme mit Run und Leerzeichen im exe-Pfad

    • Micha_he
    • 13. Juli 2017 um 18:17

    Hatte meine Antwort gerade nochmal editiert, da ich den Variableninhalt aus dem Text herausgelesen haben.
    Schaue immer zuerst auf Quellcode und vergesse den Rest anständig zu lesen...

  • Probleme mit Run und Leerzeichen im exe-Pfad

    • Micha_he
    • 13. Juli 2017 um 17:57
    AutoIt
    Local $iPid = Run('"' & $sXPDFInfo & '" "' & $sPDFFile & '"', @ScriptDir, @SW_HIDE, 2)

    Lasst doch diese @Comspec Geschichten weg, wenn es sich nicht um einen Batch-internen Befehl handelt oder die Ausgabe in die Konsole unbedingt benötigt wird.

    Aber ggf. geht es so:

    AutoIt
    Local $iPid = Run(@ComSpec & ' /c ""' & $sXPDFInfo & '" "' & $sPDFFile & '""', @ScriptDir, @SW_HIDE, 2)
  • Hilfslinien bei Multigraph verschoben

    • Micha_he
    • 13. Juni 2017 um 10:07

    Ich hole das Thema nochmal nach oben, da ich den Fehler einfach nicht genau lokalisieren kann.
    Hier nochmal ein Minimal-Beispiel, welches den Fehler zeigt:

    Spoiler anzeigen
    AutoIt: Fehler_Test.au3
    #include <MultiGraph.au3>
    
    
    Opt("GUIOnEventMode", 1)
    
    
    Global $IDLed
    Global $hGUI
    
    
    
    
    $hGUI = GUICreate("Demo", 1250, 500)
    GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
    $IDLed = GUICtrlCreateGraphic(520, 13 , 14, 14)
    GUICtrlSetGraphic($IDLed, $GUI_GR_COLOR, 0xFF0000, 0xFF0000)
    GUICtrlSetGraphic($IDLed, $GUI_GR_PIE, 7, 7, 7, 0, 360)
    GUISetState(@SW_SHOW)
    
    
    _MG_Graph_erstellen (1, $hGUI, 80, 160, 500, 280)
    _MG_Graph_initialisieren (1)
    
    
    
    
    While 1
    	Sleep(100)
    WEnd
    
    
    
    
    Func _Exit()
    	Exit
    EndFunc
    Alles anzeigen

    Die UDF ist im Beitrag #1.

  • Brauch eure Hilfe bei meinem 2tem Projekt

    • Micha_he
    • 20. April 2017 um 08:59
    Zitat von xXIVXx

    Das scrip entspricht nicht meiner vorstellung.

    Sollte es ja auch nicht, wir sind im Bereich "Hilfe & Unterstützung". Es war als Tip gedacht, wie man ohne Commandline-Befehle an die MAC einer Netzwerkkarte kommt, die eine bestimmte IP hält...

    Zitat von xXIVXx

    aber ich habe es geschaft.

    dann: Alles gut !

  • Brauch eure Hilfe bei meinem 2tem Projekt

    • Micha_he
    • 19. April 2017 um 14:48

    Ah jetzt, ja. Ich habe nun sein "ipconfig /all" gesehen. Er will die MAC's der lokalen Netzwerkschnittstellen. Dann geht es mit dem Script natürlich nicht !

    Bei lokalen Netzwerkschnittstellen, findet man sogar in unsrem Forum schon etwas: https://autoit.de/index.php/Thre…5936#post135936.
    Da dort ja das AutoIt-Tool auch laufen soll, ist WMI ja eigentlich kein Problem...

    Noch schnell etwas per WMI, wenn nach der MAc einer speziellen lokalen IP gesucht werden soll:

    AutoIt
    msgbox(0,"", _GetLocalMACFromIPWMI("192.168.1.30"))
    
    
    
    
    Func _GetLocalMACFromIPWMI($sIP)
       $strComputer = "."
       $objWMIService = ObjGet("winmgmts:" _
    	   & "{impersonationLevel=impersonate}!\\" & $strComputer & "\root\cimv2")
       $colAdapters = $objWMIService.ExecQuery _
    	   ("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = TRUE")
       $n = 1
       $str = ''
       For $objAdapter in $colAdapters
    	  If Not $objAdapter.IPAddress = " " Then
    		 For $i = 0 To UBound($objAdapter.IPAddress)
    			If $objAdapter.IPAddress($i) = $sIP Then Return $objAdapter.MACAddress
    		 Next
    	  EndIf
       Next
    EndFunc
    Alles anzeigen
  • Brauch eure Hilfe bei meinem 2tem Projekt

    • Micha_he
    • 19. April 2017 um 14:36

    Möglicherweise hilft Dir dieses Script: https://www.autoitscript.com/forum/topic/16…ss-efficiently/

  • Hilfslinien bei Multigraph verschoben

    • Micha_he
    • 11. April 2017 um 08:24

    Ich habe den Fehler daraufhin einkreisen können, das es an dem "kleinen Rot/Grün-LED" ($IDLed) bzw. dem genutzten GUICtrlCreateGraphic() liegt.
    Nur warum ist mir noch nicht klar...

    Scheinbar richten sich UDF-interne Funktionen, nach der Positionsangabe die ich für das LED-Graphic-Objekt und nicht mehr nach dem gezeichnetten Rahmen, bzw. der Grafikfläche ?!


    Edit:
    Das was man dort sieht, scheint der UDF-interne 'Buffer' zu sein. Aber warum wird er sichtbar bzw. nicht wieder korrekt in die GDI-Grafik zurückgeschrieben (siehe Funktion _MG_Graph_Update() der UDF) ?

    Edit 2:
    Nach weiteren Test kann ich noch folgendes sagen: Die Ausführung von GUICtrlCreateGraphic() verändert die die Position des "$MG_a_Graphic"-Objektes so, das die Funktion "_MG_Graph_updaten()" beim Zeichnen des Bitmaps in dieses Grafik-Objekt, die Position 0/0 von der beim GUICtrlCreateGraphic() angegebenen Position aus rechnet und nicht von 0/0 der GUI.

  • Hilfslinien bei Multigraph verschoben

    • Micha_he
    • 10. April 2017 um 18:07

    Für eine Anwendung die ein Multimeter auslesen soll, habe ich ein Test-/Prototypen vorgefertigt, um die Funktionen zu testen.
    Sieht alles gut beim Test gut aus. Hier der Code:
    DMMGraph.au3
    Und die MultiGraph-UDF dazu:
    MultiGraph.au3

    Integriere ich den gleiche Code in meine bestehende Anwendung/GUI (hier reduziert auf das nötigste um den Fehler zu sehen), verschiebt sich das Zeichnen der Haupt- und Hilfgitterlinien nach rechts, neben den Graphen. Hat jemand eine Erklärung dafür ?

    Hier der Test-Code:
    Fehler_Test.au3
    (die UDF ist die gleiche oben)

    Danke schon einmal für Anschauen...

    Edit: Unbenutze UDF im Test-Code entfernt.

  • Loops wiederholen und unterbrechen

    • Micha_he
    • 29. März 2017 um 15:22

    NO1 :-): Warum wiederholts Du alles, was vorher schon geschrieben stand... Brauchst Du Beiträge... die zählen hier nicht :D

  • Loops wiederholen und unterbrechen

    • Micha_he
    • 29. März 2017 um 12:58

    Noch ein Tip: In Funktionen keine 'While 1 Wend'-Schleifen !

    Ich habe mal etwas Form reingebracht und nutze dabei den 'OnEventMode' bei zwei GUI's, ist einfacher.
    Damit kannst Du den Buttons Funktionen zuweisen. Dann nur noch ein Schleife die immer läuft, bis Ende.

    AutoIt
    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    
    
    Opt("GUIOnEventMode", 1) ; OnEvent-Modus ein
    
    
    Global $Counter
    Global $Limit = 3
    Global $Button1
    Global $gestartet = False
    
    
    #Region ### START Koda GUI section ### Form=D:\detrauti\Desktop\FAUF-Fertig.kxf
    $Form1 		= GUICreate("Form1", 615, 438, 192, 124)
    GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
    $TextBox1_1	= GUICtrlCreateLabel("neuer Auftrag Starten", 64, 48, 380, 49)
    GUICtrlSetFont(-1, 30, 400, 0, "Arial")
    $Button1Start = GUICtrlCreateButton("Start", 144, 216, 145, 97)
    GUICtrlSetOnEvent( -1, "_Auftrag_Starten") ; Funktion für Button 'Start'
    GUICtrlSetFont(-1, 30, 800, 0, "Arial Narrow")
    $TextBox1_2 = GUICtrlCreateLabel("Bereit?", 68, 144, 129, 49)
    GUICtrlSetFont(-1, 30, 400, 0, "Arial")
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    
    
    #Region ### START Koda GUI section ### Form=
    $Form2 		= GUICreate("Form2", 500, 300, 469, 41, BitOR($WS_SYSMENU,$WS_POPUP))
    GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
    $TextBox2_1	= GUICtrlCreateLabel("Stückzahl erreicht", 64, 48, 316, 49)
    GUICtrlSetFont(-1, 30, 400, 0, "Arial")
    $Button1 = GUICtrlCreateButton("JA", 144, 216, 145, 97)
    GUICtrlSetOnEvent( -1, "_Auftrag_Ja_Beenden") ; Funktion für Button 'JA beenden'
    GUICtrlSetFont(-1, 30, 800, 0, "Arial Narrow")
    $TextBox2_2 = GUICtrlCreateLabel("Arbeitsauftrag fertig?", 68, 144, 370, 49)
    GUICtrlSetFont(-1, 30, 400, 0, "Arial")
    GUISetState(@SW_HIDE)
    #EndRegion ### END Koda GUI section ###
    
    
    While 1
       If $gestartet = True Then
    	  Beep ( 500, 200)
    	  ConsoleWrite("---------------the current number is:"&$Counter&"----------------------------"&@CRLF)							;~ programm check
    	  Sleep(2000)
    	  ConsoleWrite("---------------the current hour is:"&@HOUR&"----------------------------"&@CRLF)								;~ programm check
    	  $Counter+=1
    	  ConsoleWrite("---------------the current number is:"&$Counter&"----------------------------"&@CRLF)							;~ programm check
    	  If $Limit = $Counter Then _Auftrag_Fertig()
       EndIf
       Sleep(100)
    WEnd
    
    
    
    
    Func _Auftrag_Starten()
       $Counter	= 0
       $Date1 = @YEAR&":"&@MON&":"&@MDAY																								;~ setting variable $Date1 [yyyymmdd]
       $StartTime1 = @HOUR*3600+@MIN*60+@SEC																							;~ setting variable $StartTime1 [hhmmss
       $gestartet = True
    EndFunc
    
    
    
    
    Func _Auftrag_Fertig()
       GUISetState(@SW_HIDE, $Form1)
       GUISetState(@SW_SHOW, $Form2)
    EndFunc
    
    
    
    
    Func _Auftrag_Ja_Beenden()
       GUISetState(@SW_HIDE, $Form2)
       GUISetState(@SW_SHOW, $Form1)
       $gestartet = False
    EndFunc
    
    
    
    
    Func _Exit()
       Exit
    EndFunc
    Alles anzeigen

    Ob das nun dem Nahe kommt was Du erwartest, kann ich nicht sagen.

  • Loops wiederholen und unterbrechen

    • Micha_he
    • 29. März 2017 um 11:01

    Ich glaube Du solltest Deinen Quellcode nochmal neu formatieren. So steigt man dort kaum durch !

    Tip was ich beim kurz draufschauen erkennen konnte:

    - Includes gehören alle an den Script-Anfang und nicht in Funktionsaufrufe
    - Wenn schon 2 GUI's, diese am besten auch am Anfang erzeugen und in den Funktionen nur ein-/ausblenden (GUISetState(@SW_SHOW), GUISetState(@SW_HIDE)). Sonst erstellts Du bei jedem Funktionsaufruf eine NEUE GUI !
    - keine identischen Variable für unterschiedliche GUI-Objekte ($Label1) verwenden. Nach dem Start der 2. GUI, kannst Du das 1. Label-Objekt mit der Variablen nicht mehr ansprechen !

  • Ausgabe von ConsoleWrite anschauen

    • Micha_he
    • 27. März 2017 um 12:57

    Ich mach das immer über eine globale Variable (z.B. Global $bDebug = False) im Script.
    Diese stelle ich dann auf True zum debuggen... und anschließend wieder zurück auf False, wenn das Debuggen erledigt ist.

    Ich Script dann:

    If $bDebug = True Then FileWrite(...)


    Es gibt auch noch ein _FileWriteLog() in der UDF 'File.au3', die Du dann noch includen musst.

  • [MultiGraph UDF] - dynamischer GDI+ LineGraph (als Software-Oszilloskop geeignet)

    • Micha_he
    • 22. März 2017 um 10:36

    Bei der Nutzung der UDF V1.0.0.3 in einer eigenen Anwendung, bin ich darauf gestoßen, das der Graph im nur bei jedem 2. Schritt in der GUI aktualisiert (dann aber beide neuen Werte korrekt anzeigt).

    Meiner Meinung nach müssten in der UDF in den Zeilen 311 & 1740, die Variable "iPlotCounter" jeweils mit "1" vorbesetzt werden.

    Damit würde dann bei der Abfrage (in der Funktion "_MG_Graph_plotten", Zeile 1731) zum Plotten, der Graph bei "$iPlotfrequenz = 1" auch in jedem Durchgang gezeichnet.


    Ggf. stellt ja SBond (nach Prüfung) nochmal eine aktualisierte Version hier ein, sonst würde ich meine hier auf Wunsch nochmal anhängen.

  • Daten aus einer XML-Datei auslesen und auswerten

    • Micha_he
    • 1. März 2017 um 13:51

    Wenn Du es fertig geliefert haben willst, gehörts es aber nicht unter Hilfe, sondern in Unterforum 'Programmieranfragen' !

  • Daten aus einer XML-Datei auslesen und auswerten

    • Micha_he
    • 1. März 2017 um 13:42

    In der Datei 'Tonerfüllstände.au3' kannst Du in Zeile 5 die Namen/IP's deiner Drucker eintragen. Das war es eigentlich. Dir UDF 'SNMP_UDF.au3' wird bei der Ausführung (oder beim späteren Kompilieren) automatisch mit geladen (Zeile 3).

    Wenn Du aus betrieblichen Gründen die XML nutzen musst/willst, bleibt Dir nur das 'zerpflücken' der XML mit StringInStr() oder StringBetween() über.

    Für den Mailversand, solltest Du mal nach InetSmtpMailAttach() suchen ! Mit der Funktion senden wir unsere Logfiles per Anhang an den Mailserver.

  • Daten aus einer XML-Datei auslesen und auswerten

    • Micha_he
    • 1. März 2017 um 13:25

    Ich hatte da mal was per SNMP bei unseren HP's ausgelesen, sollte aber bei vielen identisch möglich sein.
    Vielleicht besteht ja Interesse....

    Dateien

    TonerSNMP.zip 7,08 kB – 484 Downloads
  • DLL registrieren mit Rückgabewert

    • Micha_he
    • 3. Februar 2017 um 13:28

    Ich tippe darauf, das Du den Rückgabewert von @ComSpec (also der neu gestarten Kommandozeile) bekommst.

    Versuch dein Run() mal direkt mit 'RegSvr32.exe'. Liegt ja als Exe-Datei direkt im System32-Ordner und daher ist @ComSpec sowieso nicht notwendig !

    Edit (zum Errorlevel): RegSvr32 scheint das kein Errorlevel zurückzugeben !

    Edit (zur Rückgabe StdoutRead): RegSvr32 gibt Rückgaben in ein eigenes Output-Fenster. Wird schwer dies umzuleiten...

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™