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

Beiträge von Oscar

  • Diskussion zum Thema : "AutoIt Interne Funktionen : Erwartetes Ergebnis -> Tatsächliches Ergebnis"

    • Oscar
    • 31. März 2019 um 17:44
    Zitat von Musashi

    WinGetPos scheint auch die in GUICreate angegebenen Werte für Width und Height zu ignorieren ?!

    Nein, Du bekommst mit "WinGetPos" nur die wirkliche Windowsgröße (inkl. Border). Das, was Du bei GuiCreate angibst, ist die ClientSize.

    Siehe hier:

    Code
    Global $g_sSpacer = '-----------------------------------------------------------------------------------------------------------------------------------' & @CRLF
    _Example_BAD()
    _Example_OK()
    Func _Example_BAD()
        ConsoleWrite($g_sSpacer)
        Local $hGUI = GUICreate('', 320, 160, 199, 99)
        _PrintPos('! _Example_BAD() : $aPos after GUICreate("")            ', $hGUI)
        GUISetState(@SW_MINIMIZE)
        _PrintPos('! _Example_BAD() : $aPos after GUISetState(@SW_MINIMIZE)', $hGUI)
        GUIDelete()
    EndFunc
    Func _Example_OK()
        ConsoleWrite($g_sSpacer)
        Local $hGUI = GUICreate('', 295, 95, 199, 99)
        _PrintPos('+ _Example_OK()  : $aPos after GUICreate("")            ', $hGUI)
        GUISetState()
        _PrintPos('+ _Example_OK()  : $aPos after GUISetState()            ', $hGUI)
        GUISetState(@SW_MINIMIZE)
        _PrintPos('+ _Example_OK()  : $aPos after GUISetState(@SW_MINIMIZE)', $hGUI)
        GUIDelete()
        ConsoleWrite($g_sSpacer)
    EndFunc
    Func _PrintPos($sText, $hWnd)
        Local $aPos = WinGetPos($hWnd)
        ConsoleWrite(StringFormat('%-59s =    X: %6i,   Y: %6i,     W: %6i,      H: %6i\n', $sText, $aPos[0], $aPos[1], $aPos[2], $aPos[3]))
        $aPos = WinGetClientSize($hWnd)
        ConsoleWrite(StringFormat('%-59s =    W: %6i,   H: %6i\n', 'Client-Size', $aPos[0], $aPos[1]))
    EndFunc
    Alles anzeigen
  • rückwärtszähler in MsgBox möglich?

    • Oscar
    • 29. März 2019 um 09:46
    Zitat von Musashi

    Sobald ein $MB_ICONxxx angegeben wird, findet keine Aktualisierung der MsgBox mehr statt.

    Das hat damit zu tun, dass dann die Instance nicht mehr stimmt. Es muss dann "[CLASS:Static; INSTANCE:2]" sein.

    Edit: alpines war schneller.

  • rückwärtszähler in MsgBox möglich?

    • Oscar
    • 29. März 2019 um 05:24

    Das runterzählen geht auch mit der Standard-MsgBox, wenn man die Timer-UDF zu Hilfe nimmt (die wird nicht unterbrochen von einer MsgBox):

    Code
    #include <Timers.au3>
    Global $hDummyGui = GUICreate('dummy')
    Global $iSec = 10
    _Timer_SetTimer($hDummyGui, 1000, '_ShowSeconds')
    
    MsgBox(0, 'Time-Test', 'Diese MsgBox wird nach ' & $iSec & ' Sekunden geschlossen!', $iSec)
    
    _Timer_KillAllTimers($hDummyGui)
    
    Func _ShowSeconds($hWnd, $Msg, $iIDTimer, $dwTime)
        #forceref $hWnd, $Msg, $iIDTimer, $dwTime
        $iSec -= 1
        ControlSetText('Time-Test', '', '[CLASS:Static; INSTANCE:1]', 'Diese MsgBox wird nach ' & $iSec & ' Sekunden geschlossen!')
    EndFunc
    Alles anzeigen
  • Problem mit der akkuanzeige

    • Oscar
    • 28. März 2019 um 19:39
    Zitat von Pad385

    Die Akkuanzeige aktualisiert nicht kann mir da jemand helfen ?

    In Deiner Update-Funktion musst Du das Label für die Akku-Anzeige auch aktualisieren.

    Es reicht nicht, nur den aktuellen Wert auszulesen.

  • [gelöst] Netzwerk-Profis gefragt

    • Oscar
    • 18. März 2019 um 15:28

    Der Port hatte sich gerade wieder abgemeldet, aber mit den "Soft Perfect Scannern" funktioniert es nicht.

    Einmal Fing aktualisiert und schon ist der Port wieder da. Das ist für mich eine gute Lösung!

    So brauche ich das WLAN nicht aus-/einschalten.

    Also "Thema gelöst"! :):thumbup:

  • [gelöst] Netzwerk-Profis gefragt

    • Oscar
    • 18. März 2019 um 14:08

    Jetzt wird's echt verrückt!

    Ich habe mal nach "netzwerk scan" gegoogelt, weil ich dachte, das es vielleicht hilft, wenn man das Netzwerk scant.

    Mit dem "advanced_ip_scanner" war ich nicht erfolgreich (Port blieb verschwunden), obwohl das Programm alle Netzwerkgeräte gefunden hat.

    Jetzt habe ich mir mal auf mein Smartphone "Fing" installiert und gestartet und nach dem scan, war der Port in der Arduino-IDE (auf meinem PC) plötzlich wieder da.

  • [gelöst] Netzwerk-Profis gefragt

    • Oscar
    • 18. März 2019 um 13:43
    Zitat von alpines

    die FritBox broadcastet vermutlich ins Netz, dass sich jemand verbunden hat

    Hmm....kann man das nicht irgendwie "von Hand" auslösen?

  • [gelöst] Netzwerk-Profis gefragt

    • Oscar
    • 18. März 2019 um 13:36

    alpines: Ich denke, Peter meint, dass ein regelmäßiger Ping das abmelden verhindern würde.

    Ein Ping zum wiederanmelden funktioniert jedenfalls nicht. Ob ein regelmäßiger Ping das abmelden verhindert, habe ich noch nicht getestet.

    Obwohl ich vermute, dass das nicht so ist (ich warte jetzt erstmal, ob in den Fritzbox-Ereignissen etwas auftaucht).

    Das Problem ist halt, dass ich nicht weiß, woran es nun liegt. Windows, Arduino-IDE oder Python (muss zusätzlich installiert sein)?

    Aber was läuft da im Hintergrund, wenn ich in der FritzBox das WLAN aus-/einschalte?

    Weil: mehr mache ich nicht.

    Edit: Jetzt ist der Port weg! Aber in der Ereignisliste der FritzBox taucht nichts auf. :/

    Der ESP ist aber auch nicht abgemeldet vom WLAN.

  • [gelöst] Netzwerk-Profis gefragt

    • Oscar
    • 18. März 2019 um 12:15
    Zitat von BugFix

    Protokolliere mal alle WLAN-Events (ist standardmäßig aus), vielleicht bringt das mehr Infos.

    Ok, habe ich mal aktiviert! Mal abwarten, ob da was kommt...

  • [gelöst] Netzwerk-Profis gefragt

    • Oscar
    • 18. März 2019 um 11:07
    Zitat von alpines

    Schau mal ob es sowas gibt und ob du das deaktivieren kannst oder passiert das immer nach ein paar Stunden auch wenn du aktiv alle paar Sekunden / Minuten auf das Board flasht / schreibst?

    Nein, ich kann den Webserver auf dem ESP problemlos erreichen (hab auch keinen Energiesparmodus einprogrammiert).

    Ich kann im Browser die HTML-Seiten abrufen und ihm auch Befehle (ein-/ausschalten) geben. Selbst ein Ping beantwortet er.

    Aber all das führt nicht dazu, dass der Port wieder erscheint.

    Immer nur das aus- und wieder einschalten des WLAN im Router hilft.

    Das ist zwar ein Workaround, aber es wäre natürlich schöner, wenn es etwas einfacheres geben würde (irgendein Windows-CMD-Befehl oder so).

    Beim WLAN aus-/einschalten schmeisse ich immer das Notebook von meiner Frau aus dem Netz und die ist dann nicht so begeistert.

  • [gelöst] Netzwerk-Profis gefragt

    • Oscar
    • 18. März 2019 um 08:28

    Ich denke, dass es hier einige Netzwerk-Profis gibt, deswegen stelle ich die Frage mal hier.

    Dazu muss ich etwas weiter ausholen...

    Ich bin gerade dabei einige SONOFF-Produke (TH10, S20 POW R2) umzuprogrammieren. Dazu benutze ich die Arduino-IDE (inkkl. Bordverwalter für den ESP8266).

    Soweit so gut! Das funktioniert auch alles. Jetzt will ich die ESP aber auch per OTA (over the air = WLAN) programmieren. Also Erstprogrammierung über FTDI (USB-Seriell-Wandler), danach per OTA.

    Auch das funktioniert einwandfrei, solange der ESP8266 als Port erkannt wird.

    Und genau das ist mein Problem:

    Nach einigen Stunden, in der die Arduino-IDE offen ist, verschwindet der Port plötzlich aus dem Menü und die OTA-Programmierung funktioniert nicht mehr.

    Ich kann nicht sagen, woran das liegt oder wann das genau passiert (Neustart von Windows hilft jedenfalls nicht), aber ich habe einen Workaround gefunden.

    Wenn ich im Router (FritzBox) das WLAN ausschalte und dann wieder einschalte, dann taucht der Port in der Arduino-IDE wieder auf. Ohne weitere Aktion meinerseits!

    Meine Frage ist nun: Was passiert dabei? Warum findet Windows bzw. die Arduino-IDE dann den Port wieder?

    Screenshots:

    port_no.pngport_yes.png

  • ordner für jeden tag eines datumbereiches

    • Oscar
    • 14. März 2019 um 15:57

    Ich würde "_DateAdd" verwenden, weil Du Dir damit viel Arbeit sparst.

    Außerdem würde ich das Format lieber so "yyyy-mm-dd" wählen, weil die Sortierung unter Windows sonst grausam wird.

    Scriptbeispiel:

    Code
    #include <Date.au3>
    $sDate1 = '2019/03/28'
    $sDate2 = '2019/04/04'
    _CreateDirs(@ScriptDir, $sDate1, $sDate2)
    
    Func _CreateDirs($sScourceDir, $sDate1, $sDate2)
        Local $sNewDate = $sDate1
        If $sDate1 > $sDate2 Then
            $sDate1 = $sDate2
            $sDate2 = $sNewDate
            $sNewDate = $sDate1
        EndIf
        FileChangeDir($sScourceDir)
        Do
            ConsoleWrite(StringReplace($sNewDate, '/', '-') & @CR)
            DirCreate(StringReplace($sNewDate, '/', '-'))
            $sNewDate = _DateAdd('D', 1, $sNewDate)
        Until $sNewDate > $sDate2
    EndFunc
    Alles anzeigen
  • Variable per Button wählen

    • Oscar
    • 10. März 2019 um 08:54
    Zitat von super47

    ich habe eine anwendung in der spiele analysiert werden.

    Ist das jetzt eine neue Umschreibung für "Bot"?

  • Mit Datum rechnen

    • Oscar
    • 22. Februar 2019 um 12:17
    Zitat von DerSchatten

    Danke, aber die Funktion _DateTimeFormat macht das schon. Oder rechnet das Teil vielleicht intern immer noch falsch?

    Nicht die Funktion rechnet falsch, sondern Du benutzt sie falsch!

    Die Funktion erwartet "yyyy/mm/dd hh:mm:ss" und Du übergibst die Rückgabe von "_DateTimeFormat".

    Benutze meine obige Funktion zum umwandeln ins "Calc-Datum" und benutze damit dann "_DateDiff".

  • Mit Datum rechnen

    • Oscar
    • 22. Februar 2019 um 09:15
    Zitat von DerSchatten

    wie bekomme ich das Datumsformat von yyyy.mm.dd nach dd.mm.yyyy ?

    Mit StringRegExp! ;)

    Hier mal zwei kleine Funktionen, die das umwandeln übernehmen:

    Code
    #include <Date.au3>
    $sDate1 = '02.09.2017 10:14:25'
    $sDate2 = '08.09.2017 11:00:00'
    
    $sDate1 = _GerToCalc($sDate1)
    ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $sDate1 = ' & $sDate1 & @CRLF & '>Error code: ' & @error & @CRLF) ;### Debug Console
    $sDate2 = _GerToCalc($sDate2)
    ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $sDate2 = ' & $sDate2 & @CRLF & '>Error code: ' & @error & @CRLF) ;### Debug Console
    $iSeconds = _DateDiff('s', $sDate1, $sDate2)
    ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $iSeconds = ' & $iSeconds & @CRLF & '>Error code: ' & @error & @CRLF) ;### Debug Console
    $sDate1 = _DateAdd('s', $iSeconds, $sDate1)
    $sDate1 = _CalcToGer($sDate1)
    ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $sDate1 = ' & $sDate1 & @CRLF & '>Error code: ' & @error & @CRLF) ;### Debug Console
    
    Func _CalcToGer(ByRef $sDate)
        Return StringRegExpReplace($sDate, '(\d{4})/(\d{2})/(\d{2}) (.+)', '$3.$2.$1 $4')
    EndFunc
    
    Func _GerToCalc(ByRef $sDate)
        Return StringRegExpReplace($sDate, '(\d{2})\.(\d{2})\.(\d{4}) (.+)', '$3/$2/$1 $4')
    EndFunc
    Alles anzeigen
  • net user in MSG-Box ausgeben

    • Oscar
    • 8. Februar 2019 um 05:16
    Zitat von alpines

    Oscar movest du das bitte nach H&Ü?

    [verschoben]

  • Ein NewsDisplay mit AutoIt und Arduino

    • Oscar
    • 16. Januar 2019 um 12:20

    Mit der neuen Version (V1.1 siehe Post#1) ist der ATtiny85 leider außen vor. Ein Nano/UNO sollte es schon sein.

    Ich habe den SRAM-Speicher des Nano jetzt mal fast ausgereizt (1715 Bytes), weil ich einen Nachrichtenspeicher eingebaut habe. Der kann 15 Nachrichten speichern.

    Mit dem zwischenspeichern habe ich die Anzeige auf dem LCD an das Ende der Übertragung verlegt, sodass jetzt auch höhere, serielle Schnittstellengeschwindigkeiten möglich sind.

    Mit 115.200 und 230.400 Baud funktioniert es problemlos und sogar die maximale Schnittstellengeschwindigkeit von 2.000.000 Baud funktioniert bei mir.

    Allerdings bringt das nichts, weil die Verarbeitungsgeschwindigkeit des Nano dann nicht für ein kürzeres Antwortverhalten ausreicht.

    So ca. 12-13 ms dauert es auch mit der maximalen Geschwindigkeit. Das entspricht der Antwortdauer bei 230400 Baud.

  • Forenupdate - November 2018 - Probleme / Anregungen / Feedback - Sammelthread

    • Oscar
    • 15. Januar 2019 um 16:10
    Zitat von Oscar

    Beim einfügen von AutoIt-Code fehlt in der Codebox noch die Auswahl "AutoIt" für das SyntaxHighlighting

    Ich zitiere mich mal selbst aus Post#22.

    Hat sich da etwas getan? Gibt es etwas Neues?

  • Ein NewsDisplay mit AutoIt und Arduino

    • Oscar
    • 15. Januar 2019 um 05:16
    Zitat von Andy

    und noch einige ATtiny85 und 45 rumliegen habe, ist mir direkt in den Sinn gekommen, den ATtiny85 zu benutzen.

    Ja, der ATiny85 könnte noch gehen. RAM-Verbauch liegt bei 454 Byte. Für den 45er ist das allerdings zu viel.

    Zitat von Andy

    Und übrigens ist es auch sehr einfach, das LCD mit einem ESP8266 anzusprechen, den kann man dann auch direkt übers WLAN betreiben.

    Ja, auch keine schlechte Idee! :):thumbup:

    Ich muss mal meine NodeMCU raussuchen...

  • Ein NewsDisplay mit AutoIt und Arduino

    • Oscar
    • 14. Januar 2019 um 19:02

    Ich habe die Software noch etwas erweitert. Sowohl auf der Arduino-Seite, wie auch auf der AutoIt-Seite (siehe Post#1).

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™