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

Beiträge von Andy

  • ASM-Tricks

    • Andy
    • 22. November 2015 um 15:14

    Hi,
    wie hier bereits beschrieben, existiert für die Berechnung einer Folge von Werten und dessen Sinus/Cosinus ein mathematischer "Trick". Dabei wird lediglich für den Startwert der Sinus/Cosinus ermittelt und dann benötigt man zur Ermittlung der folgenden Werte lediglich Additionen und Multiplikationen.
    Als "Goodie" ist die DEG-Berechnung statt RAD bereits enthalten!

    Ggf. gibt es ja mittlerweile das Pendant zu PMADDWD (Multiply and Add Packed Integers) für Floats/Double bei den SSE-Befehlen^^. Damit wäre imho das geschwindigkeitsmäßige Optimum erreicht ohne jegliche Interpolation...
    Du kannst ja mal schauen, inwieweit du das integrieren kannst/willst!

    AutoIt
    $pi = ATan(1) * 4
    $start = $pi / 180           ;erster Wert (hier gleichzeitig das Intervall)
    
    
    
    
    $a = Cos($start)             ;berechnen
    $b = Sin($start)             ;berechnen
    $sin = 0                     ;startwerte vorgegeben
    $cos = 1                     ;startwerte vorgegeben
    
    
    For $y = $start To $pi Step $start ;das Intervall ist hier der startwert -> bei Bedarf anpassen)
    
    
        $ns = $b * $cos + $a * $sin;MUL + ADD
        $nc = $a * $cos - $b * $sin;MUL + ADD
        $cos = $nc               ;das Ergebnis
        $sin = $ns               ;;das Ergebnis  ;ein evtl. benötigter Tangens reduziert sich auf ein simples DIV
        ConsoleWrite('y=' & $y / $start & @TAB & "    " & ' $sin = ' & $sin & @TAB & "    Fehler: " & $sin - Sin($y) & @CRLF) ;### Debug Console
    
    
    Next
    Alles anzeigen
  • Frage an Sprayer / Airbrush / Maler / Farbenspezialisten

    • Andy
    • 15. November 2015 um 12:14

    @Alina, nein, keinen "Roboter", so etwas habe ich bereits^^, besteht aus 2 Motoren, welche über eine Seilführung eine mittels Servo ausgelöste Sprühdose aktivieren.
    Ich wollte unabhängig von der Montage der Motoren werden und gleichzeitig unabhängig vom "Fahrweg" der Sprühdose.
    Generell kann man mit meinem Modell auch beliebig viele Farben nacheinander "drucken", allerdings muss dann immer zur passenden Farbsprühdose gewechselt werden!
    Ich habe auch schon mit Farbstiften getestet, welche einzelne Punkte "tupfen", aber das ist ein extrem zeitaufwendiges Unterfangen. Allerdings kann man den "Druckkopf" fast beliebig groß bauen, da der Abstand der Stifte untereinander immer fix ist und somit mehrere Pixel mit unterschiedlichen Farben gleichzeitig coloriert werden können.

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne deine Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklärst du dich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne deine Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklärst du dich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.


    Meine Idee ist, nicht "nacheinander" (wie bei einem Roboter zwangsläufig vorgegeben) die einzelnen Pixel anzufahren, sondern bei "zufälligem" Erreichen des Pixels dort die richtige Farbe aufzutragen.


    @CentuCore, ja, wie gesagt funktioniert das Ganze bereits recht gut, auch mit den von dir genannten Einschränkungen des Sprühnebels.


    Zitat von CentuCore

    Was du auch beachten musst ist, dass da flüssige Farbe gesprüht wird.

    Ja, bei meinen Sprühdosenversuchen ist genau wie bei den oben verlinkten Videos, die Sprühdauer der Knackpunkt! Großer Abstand erlaubt längere Sprühzeit aber resultiert in viel Sprühnebel => Aquarelleffekt. X/
    Das wäre noch zu verschmerzen, aber da idR in der Horizontalen gearbeitet wird, führt zu viel Farbe zwangsläufig zu "Rotznasen".
    ich habe selbst schon viel lackiert, diverse Systeme, auch schon viel mit div. Techniken gemalt. Daher ist mir auch klar, wieviel Farbe/Lacke man benötigt um die Bilder an die Wand/Decke/3-D-Objekt zu bekommen.
    Äirbrush hat den großen Vorteil, dass die Düse/Sprühvorrichtung relativ klein ist, Nachteil ist eher der erforderliche Luftdurchsatz, bei Akku-Kompressoren für die vorgesehenen 4-5 Düsen ist die Leisungsfähigkeit schlichtweg übel. Mit zuwenig Luftdruck entstehen statt gewünschter schöner kleiner Farbtröpfchen hässliche große Tropfen.

    Wobei ich das differenziert sehe, mal angenommen ein Bild hat 1000x1000 Pixel, dann wäre ein Pixel bei einer Leinwandgröße von 1x1 Meter "nur" 1mm² groß. Bei einem Betrachtungsabstand von 2-3m ist das die Auflösung eines handelsüblichen HD-Fernsehers!
    Jetzt geh davon aus, dass durch die angesprochenen technischen Einschränkungen des Sprühens ein Pixel 5x5mm groß ist, dann wäre das gesamte Bild somit 5x5 Meter groß, da machen die meisten Plakatwände schlapp^^. Und die sind nicht dazu gemacht, aus 1m Entfernung betrachtet zu werden ;)
    Deckend gefärbt benötigt man dafür mehrere Kilo Lack/Farbe, also fallen Sprühdosen definitiv raus, es muss ein Nachfüllsystem her.


    @minx, darauf soll es hinauslaufen, transportabel.......


    @Oscar,
    Diese Folge hatte ich sogar schon mal im Fernsehen geschaut^^.
    Dort sind aber sämtliche Farben "vorgemischt" und werden lediglich "simultan" an die Wand geschossen, und das noch aus mehreren Metern Entfernung. Paintballkanonen machen das wesentlich einfacher und schneller, ich hatte bereits Videos gesehen wo ganze Häuserwände "verschönert" wurden, incl. feinster "Rotznasen" :D
    Sauerei GARANTIERT :rock:


    Zitat von Oscar

    eine Menge Probleme (Abstand, Schräghaltung, Zittern. etc.) gibt, wenn Du das Gerät in der Hand halten willst.

    Ich experimentiere gerade mit Lagesensoren aus Smartphones, das sieht vielversprechend aus und kostet so gut wie nichts. Ich habe vor, zunächst mehrere Systeme zu kombinieren um die Lage im Raum wenigstens auf unter 1cm genau zu lokalisieren, alles andere ist zzt. utopisch!
    Ultraschallsensoren sind vielversprechend, jeweils ein autarker Sensor in den Ecken des Bildes, welcher den Abstand zum Sprühgerät ermittelt habe ich bereits getestet, man hat bei diesem Projekt VIELE Baustellen^^. Allerdings gehören die Sensoren ans Sprühgerät, und da wird die Winkelabhängigkeit der Sensoren zum Problem, entweder müssen die schallreflektierenden "Ecken" (als aufklebbare Körper) weiter weg positioniert werden mit dem Resultat einer geringeren Auflösung/Fehlerrate, oder es müssen mehr sensoren am Sprühkopf angebracht werden was massiv aufwendigere Programmierung /Kalibrierung erfordert...
    Da es um große "Gemälde" geht, welche eine eher geringe Pixeldichte kombiniert mit einem größeren Betrachtungsabstand haben sollen, ist das bissl "zittern" von der Software zu kompensieren. Wird ein zuvor definierter Abstand zur Leinwand überschritten, wird einfach kein "Pixel" gemalt....

  • Frage an Sprayer / Airbrush / Maler / Farbenspezialisten

    • Andy
    • 14. November 2015 um 15:54

    Hi zusammen,

    seit langem schon schwirrt mir ein Projekt im Kopf herum, welches sich um Malen/Sprayen von beliebigen Bildern auf Wänden (größeren Flächen) dreht.

    Ich spinne mal los:
    Stellt euch ein System von beispielsweise 5 Airbrush- oder Spraydosen vor, mit den Farben Rot, Gelb, Blau, Schwarz und Weiß. (Man beachte G=Gelb und nicht Grün ^^ http://www.bettinawiedig.de/htm/Farbenlehre.htm)
    Die Düsen dieses Systems sind auf einen einzigen Punkt ausgerichtet.
    Angenommen, man könnte die einzelnen Sprühköpfe/Düsen im Millisekundenbereich ansteuern, könnte man somit aus den einzelnen Farben im Bereich RGB dann "Mischfarben" herstellen.
    Die Frage an die Spezialisten unter euch wäre nun, wie sich erfahrungsgemäß gesprühte Farben mischen?!

    Wieso Millisekunden?
    Naja, bei "Computer-Bilder"-RGB liegt der Farbbereich der einzelnen Farbe bei 0 bis 255. Also würde ein rotes "Pixel" gesprüht, wenn nur die rote Düse 255 Millisekunden geöffnet würde. Ein gelbes "Pixel", wenn die gelbe Düse 255 Millisekunden geöffnet wäre.
    Was passiert, wenn man nun Grün als Mischung von Blau und Gelb sprühen wollte? Würde 128ms Blau und 128ms Gelb zum gewünschten Ergebnis Grün führen? Oder müsste man die Sprühzeiten auf 255ms erhöhen?
    Aber diese Frage wäre letztendlich nur durch ausprobieren zu beantworten....
    Man könnte auch jede Farbe einzeln (nacheinander) sprühen, die Frage ist nur, wie erzeugt man gemischte Farben, erst die helle, dann die dunkle oder umgekehrt?

    Jetzt zum Projekt:
    Ich stelle mir ein akkubetriebenes, in der Hand gehaltenes Farbsprüh-Gerät vor, dessen x- und y-Position vor einer Wand entweder über Kamera oder andere recht genaue Sensorik ermittelt werden kann.
    Möchte ich jetzt ein beliebiges Bild auf diese Wand malen, bewege ich das Gerät einfach beliebig vor der Wand hin und her, hoch und runter. Anhand der Position des Geräts erfolgt der Sprühbefehl des "Pixels" als kurzer Sprühimpuls, entweder mit einer einzelnen Farbe oder wie oben beschrieben "fertig" als Mischfarbe RGB, Schwarz oder Weiß.
    Im Prinzip ein überdimensionaler Tintendrucker, der je nach Position des Druckkopfes einen Farbklecks auf die Wand "malt".
    Somit könnte auch der unbegabteste einen "fotorealistischen" Van-Gogh oder jedes andere Foto "malen", einfach durch hin- und herbewegen des "Sprayers".

    Die technische/elektrische Ansteuerung und Farbmischung der Düsen würde ich mit einem Arduino erledigen wollen, die Position des Sprayers lässt sich hoffentlich hinreichend genau per (Laptop)-Kamera oder einem anderen Positionsbestimmungssystem (Vorschläge?) ermitteln.
    Im Endeffekt soll alles auf ein Programm (Smartphoneapp) herauslaufen. Bild in App laden, die 4 Ecken des späteren Bildes an der Wand mit dem Sprayer markieren (ähnlich Kalibrierung eines Touch-Panels) und die App ermittelt je nach Position des Sprayers das Bildpixel mit der entsprechenden Farbe und gibt dem Sprayer dann den Sprühbefehl. Bissl mit dem Sprayer vor der Wand rumwedeln und es entsteht wie aus Zauberhand das Bild...

    Würde man die 4 Ecken des Bildes auf der Wand mit 4 auswertbaren Sendern festlegen, dann könnte man komplett auf die Positionierung per Kamera verzichten!

    Vorschläge, Ideen und rege Diskussion sowie Tips zur Umsetzung sind SEHR erwünscht! 8o

  • Func Probleme

    • Andy
    • 13. November 2015 um 13:17
    Zitat von baerchen

    Wo ist hier das Problem?

    Dass du nicht das komplette Script gepostet hast....

  • IE.au3 interner Fehler?

    • Andy
    • 11. November 2015 um 13:30

    Script funktioniert mittlerweile bei mir unter 3.3.10.2 einwandfrei.

    Allerdings ist das Script beim ersten Start in der Zeile $oIE = _IECreate($sUrl) stehengeblieben, ggf. sollte sich ein HTML-Spezialist mal den Sourcecode dieser Website anschauen, ich denke da liegt der Hase im Pfeffer und nicht bei der IE.au3!

  • Variableninhalt

    • Andy
    • 9. November 2015 um 18:09

    In Scite sind reihenweise Debug-Funktionen hinterlegt.
    Schaue dir im Menü "Extras" die Debug- und Tracefunktionen an!

  • ​In einem Text nach FQDN Server Namen suchen

    • Andy
    • 4. November 2015 um 13:26
    Zitat von Donsen64

    Nur leider bin ich zu blöd das entsprechende Pattern dazu zu erstellen.

    Über deine Blödheit erlaube ich mir kein Urteil, über deine Faulheit schon!

    Ist das so schwer? <-klick mich, ich bin ein Link

  • Augabe auf SciTE-Konsole im Skript verarbeiten?

    • Andy
    • 28. Oktober 2015 um 17:25
    Zitat von seventh_son

    ich rufe in meinem Skript ein batch file über ein CMD-Window auf (versteckt). Die Ausgaben des Batch-Files erscheinen im Ausgabefenster von SciTE.

    Mit Sicherheit nicht, wenn es im Batchfile bzw. im dort aufgerufenen Programm keine Umleitung nach Scite gibt!
    Daher: Script und Batchfile posten!
    Btw. werden Daten aus der CMD entweder aus dem STDOUT oder STDERR-Stream ausgelesen, je nach gesetztem Flag vom RUN().

    Das $STDIO_INHERIT_PARENT-Flag gäbe zwar den Inhalt der CMD/Batch an Scite bzw. an die Console des aufrufenden Scriptes weiter, aber es würde von gelinde gesagt geistiger Umnachtung herrühren, dieses Flag explizit zu setzen und dann hier einen entsprechenden Thread zu eröffnen....und das wollen wir ja dem TE nicht unterstellen ;)

    Folgendes Testscript, in der test.bat steht eine Zeile: dir c:\ /N

    AutoIt
    #include <Array.au3>
    
    
    $iPID = Run(@ComSpec & " /c DIR c:\ /n", @ScriptDir, @SW_HIDE, 2)     ;cmd aufrufen und auslesen
    $sT = ""
    Do
        $sT &= StdoutRead($iPID)
    Until @error
    $ret = StringSplit(StringTrimRight(OemToChar($sT), 1), @CRLF, 1)
    _ArrayDisplay($ret)
    
    
    ConsoleWrite(@CRLF & "+>" & @CRLF & "+> Umleitung in Scite Console Flag 0x10" & @CRLF)
    $iPID = Run(@ComSpec & " /c DIR c:\ /n", @ScriptDir, @SW_HIDE, 0x10)  ;Ausgabe in Scite console
    
    
    
    
    $iPID = Run(@ComSpec & " /c test.bat", @ScriptDir, @SW_HIDE, 2)       ;Batch aufrufen und cmd auslesen
    $sT = ""
    Do
        $sT &= StdoutRead($iPID)
    Until @error
    $ret = StringSplit(StringTrimRight(OemToChar($sT), 1), @CRLF, 1)
    _ArrayDisplay($ret)
    
    
    ConsoleWrite(@CRLF & @CRLF & "+>" & @CRLF & "+> Umleitung Batch in Scite Console Flag 0x10" & @CRLF)
    $iPID = Run(@ComSpec & " /c test.bat", @ScriptDir, @SW_HIDE, 0x10)    ;Batch Ausgabe in Scite console
    
    
    
    
    ;===============================================================================
    ; Name:             OemToChar
    ; Description:      Wandelt einen ASCII- in einen ANSI-String
    ; Parameter(s):     $szSrc = String der umgewandelt werden soll
    ; Requirement(s):   keine
    ; Return Value(s):  bei Erfolg: umgewandelter String
    ;                   bei Fehler: "" und @error = 1
    ; Author(s):        bernd670
    ;
    ;===============================================================================
    Func OemToChar(ByRef $szSrc)
        Local $strSrc = DllStructCreate("char[" & StringLen($szSrc) + 1 & "]")
        Local $strDst = DllStructCreate("char[" & StringLen($szSrc) * 2 + 1 & "]")
        DllStructSetData($strSrc, 1, $szSrc)
        DllStructSetData($strDst, 1, 0)
        Local $lRetVal = DllCall("user32.dll", "long", "OemToChar", "ptr", DllStructGetPtr($strSrc), "ptr", DllStructGetPtr($strDst))
        If IsArray($lRetVal) And $lRetVal[0] = 1 Then Return SetError(0, 0, DllStructGetData($strDst, 1))
        Return SetError(1, 0, "")
    EndFunc                                                               ;==>OemToChar
    Alles anzeigen
  • Liste sortieren

    • Andy
    • 26. Oktober 2015 um 18:53
    Zitat von AutoMit

    Übrirgens - gibt es für Scite eine Möglickeit per Shortcut immer so viele Tabs einzufügen bis zur Spalte 53?

    imho nicht, aber es gibt AlignComment, das kannst du dir umschreiben

  • Problem mit nem Vorhaben und meinem Arduino

    • Andy
    • 23. Oktober 2015 um 07:45
    Zitat von De_Kerwer

    aber wie sende ich denn nen Input an AutoiT und Autoit wandelt es um als Tastatur eingabe am PC

    Wenn das (mein) Beispiel-Script bei dir läuft, kümmern wir uns darum^^
    Bis dahin kannst du dich in der Hilfe zu Send() und/oder ControlSend() umschauen...

  • Text in Fenster suchen/finden und anschließend den nachfolgenden Text in den Zwischenspeicher kopieren?

    • Andy
    • 21. Oktober 2015 um 10:13
    Zitat von Padde86

    Lassen sich keine negative Quantifier benutzen?

    Du hast die Funktion der Regular Expressions nicht verstanden...
    Wieso lässt du dir nicht einfach die Zeile VOR dem EUR ausgeben anstatt die danach?


    AutoIt
    $text="bla" & @crlf&"blub"& @crlf&"test"& @crlf& "tralala EUR..." & @crlf& "ende"&@crlf
    
    
    $ret=StringRegExp($text, "(?m)(^.+$)\r\n(?:^.+EUR.+)", 3)  
    
    
    msgbox(0,0,$text & @crlf & $ret[0])

    (?m) multiline, ^und $ sind Anfang und Ende der Zeile
    (^.+$) ^Zeilenanfang .+ eins oder mehr Zeichen $ Zeilenende in Klammern ist dein MATCH!!!
    \r\n CR und LF
    (?: nicht matchende Gruppe
    ^.+EUR.+) Zeileninhalt enthält EUR

    der Match enthält die Zeile, welche VOR der Zeile mit EUR steht

  • Schlimmer Fehler - Programm friert sporadisch nach gewisser Zeit ein - Timer in While-Schleife

    • Andy
    • 21. Oktober 2015 um 07:44
    Zitat von KriZza

    Der Debug hat mir auch hier kein Aufschluss gegeben.

    Verstehe ich ehrlich gesagt nicht.
    Um das mal krass zu formulieren willst du dass wir uns daran beteiligen im Nebel rumzustochern...

    Was ist der SINN von Debugging?
    Einen Fehler zu lokalisieren und diesen dann zu eliminieren. Der Sinn ist NICHT, irgendwelche Programmausgaben zu generieren, diese nicht zu beachten und darauf zu hoffen, dass sich der "Fehler" irgendwann selbst behebt oder irgendjemand anderes nach heftigem Reiben an der Kristallkugel eine Lösung in den Raum wirft!

    Wenn dein Programm "einfriert", welche Funktion (Programmabschnitt, Zeile) wurde zuletzt ausgeführt? Wie ist der Inhalt der in dieser Funktion benutzten Variablen?


    Zitat von KriZza

    Meint ihr das GDI Funktionen so ein verhalten verursachen können?

    Es wäre nicht das erste mal, dass in einer esoterischen Funktion Bugs enthalten sein können, bei den "Standard"-GDI-Funktionen schließe ich das aber aus. IdR. werden dort nur die API-Aufrufe gewrappert.

    Zitat von KriZza

    2 Dinge habe ich geändert und der Fehler ist bislang nicht mehr aufgetaucht

    So gehts auch, was war der Anlaß dafür?

  • Zeilen sortieren - in Blöcken - Textzeilen sortieren

    • Andy
    • 20. Oktober 2015 um 16:26

    Hi,
    vorab, versuche mal, den Post vom geschätzten Kollegen AspirinJunkie umzusetzen, ich meine das xy-Problem...
    Fragen zu StringRegExp - Array in mehreren Spalten und leere Zeilen

    Ansonsten:
    Deine obige Text-Vorlage in die Zwischenablage kopieren, und folgendes Script laufen lassen.


    AutoIt
    #include <Array.au3>
    $a = ClipGet()                                          ;aus der zwischenablage
    ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $a = ' & $a & @CRLF & '>Error code: ' & @error & @CRLF) ;### Debug Console
    
    
    $blocks = StringSplit($a, @CRLF & @CRLF & @CRLF, 3)     ;in blöcke unterteilen
    
    
    _ArrayDisplay($blocks)
    
    
    For $block In $blocks                                   ;alle blöcke
        $block_zeilen = StringSplit($block, @CRLF, 3)       ;in zeilen splitten
        _ArrayDisplay($block_zeilen)
        For $i = 1 To UBound($block_zeilen) - 1             ; zeilenweise
            If StringInStr($block_zeilen[$i], "cookie") = 0 Then ;nur wenn nicht cookie oder oder oder
                $block_zeilen[$i] = StringReplace($block_zeilen[$i], "www.", "*") ;ersetzen
                $block_zeilen[$i] = StringReplace($block_zeilen[$i], "http://", "") ;ersetzen
                $block_zeilen[$i] = StringReplace($block_zeilen[$i], "ftp://", "'ftp://") ;ersetzen
            EndIf
        Next
    
    
        _ArraySort($block_zeilen, 0, 1)                     ;block sortieren ab 1
        _ArrayDisplay($block_zeilen)
    Next
    Alles anzeigen

    sollte dir weiterhelfen.
    Btw,. wenn du schon in der Lage bist, das Problem bis runter zum Pseudocode zu benennen, wieso schreibst du in dieser Zeit kein lauffähiges Script?

  • Suche im Forum - Google Fundstellen - wo finde ich die Seiten im Forum

    • Andy
    • 19. Oktober 2015 um 13:25
    Zitat von AutoMit

    Was mache ich bei der Nutzung der Suchfunktion falsch?

    Du nutzt die Suchfunktion des Forums statt der Google-Suche auf der Forumseite!

    klickposition site:autoit.de

  • Problem mit nem Vorhaben und meinem Arduino

    • Andy
    • 18. Oktober 2015 um 17:52

    Hi,

    probier das hier mal aus....ich steuere damit die Eingabe und lese die Ports des Arduinos aus, WÄHREND DAS PROGRAMM DES ARDUINOS LÄUFT!

    im Prinzip wird eine OnEvent-Funktion auf dem Arduino getriggert, und dann die zu übermittelnden Daten seriell nach Autoit übertragen.

    Auf dem Arduino startest du den Sketch SerialEventAutoit.ino , an diesen hängst du entweder den Sketch AutoitSerialINOUT.ino einfach an, oder lädst ihn in einen separaten TAB in der IDE. Kompilieren, starten, die Debug-LED 13 auf dem Arduino sollte jetzt blinken...
    Schalte auf dem Arduino am Analogport 3 IN bspw. einen LDR, dann kannst du schön mit dem Abdecken diverse "Helligkeiten" detektieren, zur Not geht ein einfacher Drehpoti!
    Auf dem DIGITALPORT 3 OUT /PWM schaltest du eine LED (mit Vorwiderstand) , diese kannst du dann, während der eigentliche Sketch auf dem Arduino läuft "nebenbei" ein- und ausschalten!
    Weiterhin setzt du an Digitalport 8 eine weitere LED, diese wird vom AutoItscript an- und ausgeschaltet.


    In AutoIt startest du das Script Blink.au3.
    Mit der Leertaste kannst du dir in der Console die seriellen Ausgaben des Arduino als "Debug-Modus" an- und ausschalten.
    Mit den Tasten 1 und 0 schaltest du die LED am DIGITALPORT 3 an und aus.
    Die LED an Port 8 wird vom Script zum blinken gebracht.
    In der Console siehst du den Status des LDR oder des Drehpotis,

    Der Inhalt kann nicht angezeigt werden, da du keine Berechtigung hast, diesen Inhalt zu sehen.

  • Tastatur starten beim "Lenovo Yoga 300"

    • Andy
    • 17. Oktober 2015 um 12:05

    hi Alina,
    ich habe zwar kein Lenovo Yoga 300, sondern ein Acer Switch 10, aber im Grunde ein ähnliches Gerät.
    Bei mir ist es so, dass ich die Touch-Tastatur als Icon in der Taskleiste aktiviert habe, so habe ich die Wahl, entweder die (angesteckte) Tastatur zu nehmen, oder die touch-Tastatur.
    Die touch-Tastatur muss bei angesteckter Tastatur aber erst aktiviert werden! Imho per Doppel-"tippen" in das Eingabefeld.

    Beim reinen "Tablet"-Betrieb ist es bei mir (Win 8.1) so, dass die touch-Tastatur automatisch aufgerufen wird, wenn ich in ein Eingabefeld tippe!

  • Schlimmer Fehler - Programm friert sporadisch nach gewisser Zeit ein - Timer in While-Schleife

    • Andy
    • 16. Oktober 2015 um 17:10

    Im Startpost steht ausschliesslich etwas übers "einfrieren" des Scripts, der Speicherüberlauf tritt doch nur bei Anwendung der Trace/Debuglines auf?!

    "Einfrieren" heißt, dass die GUI keine Eingaben mehr entgegen nimmt, oder dass keine erwarteten Programmaktivitäten beobachtbar sind.
    Ursachen dafür sind meist eine Endlosschleife oder eine vom Programm erwartete Userinteraktion.
    Wenn ich im Startpost sehe, dass sogar externe Programme involviert sind, vervielfacht sich das Problem!


    Zitat von KriZza

    Nur mal kurz eine Kennzahl, im Hauptscript sind 1246 IniRead´s hinterlegt.. Das wird auf jeden Fall dauern

    Du sollst nicht jedes einzelne IniRead() dokumentieren, sondern das Problem im Code lokalisieren!
    Beim "Einfrieren" des Programms muss in der letzten Zeile der Console der Weg zum nächsten Schritt stehen...
    Und diesen nächsten Schritt musst du dann wieder eingrenzen! Und logischerweise ALLE ÜBERFLÜSSIGEN Debug-Lines rausschmeissen!
    Bis du zuletzt den Logikfehler oder Laufzeitfehler gefunden hast...

  • Selbstschutz mit AutoIT

    • Andy
    • 16. Oktober 2015 um 16:52

    Hi!
    Die Frage ist, wieso Kunden eines Sicherheitsunternehmens über den Taskmanager einen (DEN !! ) sicherheitsrelevanten Prozess beenden wollen....

    Zitat von landy

    Ich möchte somit dem Kunden einfach nur eine "Garantie" geben können, dass regelmäßige Scans auf seinen Endpoints stattfinden und die Benutzer nicht einfach mir nichts dir nichts das Tool beenden können.

    Du willst "Garantien" geben?! Na dann viel Spaß! Bei Kunden die sich weigern, Sicherheitsrelevante Prozesse durchzuführen, würde ich die Notbremse ziehen und meine Preise fürs Consulting vervielfachen! Denn das ist der einzige Zugriff, den du wirklich selbst beeinflussen kannst! Das "Problem" erledigt sich dann meist sehr schnell von selbst!
    "Garantien" kannst du nur geben, wenn du Prozesse beeinflussen kannst.
    Deine gestiegenen exorbitanten Preise begründest du vor der Geschäftsleitung des Kunden damit, dass du deine eigene Firma im Falle des Sicherheitstechnischen Supergaus beim Kunden absichern musst...

    Sehr geehrte Geschäftsleitung,
    wie bereits mehrfach in Ihrem Hause angesprochen werden von uns erstellte sicherheitsrelevante Programme von Ihren Mitarbeitern nicht genutzt bzw. unterbrochen und in Einzelfällen deren weitere Ausführung unterbunden.
    Um uns für die im Falle einer aus diesen Gründen erfolgten Schadcode-Infektion in Ihrem Hause nicht unsere im Branchenumfeld sehr gute Reputation für IT-Sicherheit zerstören zu lassen, müssen wir im Wiederholungsfall des Abschaltens unserer Sicherheitssoftware durch Ihre Mitarbeiter Konseqenzen ziehen und uns dahingehend versichern.
    Die dafür entstehenden Kosten iHv. 3.276.000,- Euro netto p.A. werden dann an Sie weiterberechnet.
    Wir möchten nochmals betonen, daß wir auch in Zukunft alles dafür tun werden, um die IT-Sicherheit in Ihrem Unternehmen weiter zu gewährleisten! Dies setzt das Bewußtsein ihrer Mitarbeiter voraus, dass nur eine funktionierende Analyse und Vorbeugung durch unsere Software die IT-Sicherheit in Ihrem Unternehmen sicherstellt.
    Mit freundlichen Grüßen
    blablub

    Das beste, was dir passieren kann, ist die Kündigung dieser Geschäftsbeziehung seitens des Kundens! Wenn bisher niemand in diesem Unternehmen sich dafür zuständig sieht, das offensichtlich firmenschädigende Verhalten einiger Mitarbeiter zu beenden, dann wird das auch in Zukunft nicht geschehen!
    Solche "Kunden" braucht kein Mensch...

  • Schlimmer Fehler - Programm friert sporadisch nach gewisser Zeit ein - Timer in While-Schleife

    • Andy
    • 16. Oktober 2015 um 10:30

    hmm, imho müsste dein Script schon ziemlich lange laufen, wenn die Scite-console den Speicher vollaufen lässt...

    Nimm die Trace-lines raus, und setze "von Hand" per ALT+d in jede der IF-Verzweigungen eine Abfrage.

  • Schlimmer Fehler - Programm friert sporadisch nach gewisser Zeit ein - Timer in While-Schleife

    • Andy
    • 15. Oktober 2015 um 14:09

    genau so macht man das...
    Wenn dein Script jetzt einfriert, dann steht in der letzten Zeile der Console der zuletzt umgesetzte Befehl. Genausogut kann es sein, dass du in einer Schleife gefangen bist und nicht wieder herauskommst.
    Alles in allem musst du wissen, in welchem Codesegment der "Fehler" auftritt, um ihn näher einzugrenzen.
    Im nächsten Schritt lässt du dir nur im kritischen Segment die Meldungen ausgeben, ergänzt ggf. durch Variableninhalte.
    Schau dir dazu im Menü auch DebugtoConsole an, damit ( Cursor auf die Variable und dann ALT+d ) bekommst du Infos in der Console zum Variableninhalt.

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™