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

Beiträge von Runa

  • Per Tastenkombination vordefinierte Chatnachrichten senden ?

    • Runa
    • 18. März 2016 um 12:17

    Angepasste Version von Kanashius' Script:

    AutoIt
    #include <Misc.au3>
    #include <MsgBoxConstants.au3>
    
    
    Global $iPressTime = 1000 ;Zeitspanne bis zum Senden der Nachricht in Millisekunden (1s = 1000 ms)
    
    
    Local $hDLL = DllOpen("user32.dll")
    While sleep(10)
    	;Senden mit T+STRG
    	If _IsPressed("11", $hDLL) and _IsPressed("54", $hDLL) Then
    		Local $iCount = 1
            $timerStart=TimerInit()
    		Do
    			; Auf weitere Tastendrücke warten
    			If _IsPressed("11", $hDLL) and _IsPressed("54", $hDLL) Then
    				;Warten bis Taste losgelassen wird
    				While _IsPressed("11", $hDLL) and _IsPressed("54", $hDLL)
    					Sleep(10)
    				WEnd
    				;Zähler für Anzahl der Tastendrücke erhöhen, sobald Taste losgelassen wird
    				$iCount += 1
    			EndIf
    		; Bis eine Sekunde vergangen ist
    		Until TimerDiff($timerStart) > $iPressTime
    		;senden
    		_sendChatNr(TimerDiff($timerStart))
    	;Schließen mit ESC+ALT
        ElseIf _IsPressed("1B", $hDLL) and _IsPressed("12", $hDLL) Then
            ExitLoop
        EndIf
    WEnd
    
    
    DllClose($hDLL)
    exit
    
    
    Func _sendChatNr($number)
    	Switch $number
    		Case 0
    			_sendChat("Message1")
    		Case 1
    			_sendChat("Message2")
    		Case 2
    			_sendChat("Message3")
    		Case Else
    			_sendChat("Message3")
    	EndSwitch
    EndFunc
    
    
    Func _sendChat($message)
    	;Actives Fenster ermitteln
    	$handle=WinGetHandle("[active]")
    	;Senden
    	ControlSend($handle,"",0,"{t}")
    	ControlSend($handle,"",0,$message)
    	ControlSend($handle,"",0,"{ENTER}")
    EndFunc
    Alles anzeigen
  • CSV Datei Zeilen zählen - extrem schnell - GNUWin32

    • Runa
    • 17. März 2016 um 16:00

    Danke AspirinJunkie. Hab das mal getestet:

    AutoIt
    Local $ReadFile = @ScriptDir & "\Text.csv"
    $sFile  = 'set file="' & $ReadFile & '"' & @CRLF
    $sFile &= 'set /a cnt=0' & @CRLF
    $sFile &= 'for /f %%a in (''type "%file%"^|find "" /v /c'') do set /a cnt=%%a' & @CRLF
    $sFile &= 'EXIT /B %cnt%'
    $iRuns = 1000
    ConsoleWrite(@CRLF & "Test mit " & $iRuns & " Durchläufen...")
    $iTotalTime = 0
    $iMin = 1000
    $iMax = 0
    For $i = 1 To $iRuns
    	$iT = TimerInit()
    	FileWrite(@ScriptDir & "\Count.bat", $sFile)
    	$iLines = RunWait(@ScriptDir & "\Count.bat", "", @SW_HIDE)
    	$iTime = TimerDiff($iT) / 1000
    	FileDelete(@ScriptDir & "\Count.bat")
    	$iTotalTime += $iTime
    	If $iTime < $iMin Then $iMin = $iTime
    	If $iTime > $iMax Then $iMax = $iTime
    Next
    ConsoleWrite(@CRLF & "1: Gesamtdauer im Schnitt (sec): " & Round($iTotalTime/$iRuns, 2))
    ConsoleWrite(@CRLF & "1: MIN                         : " & Round($iMin, 2))
    ConsoleWrite(@CRLF & "1: MAX                         : " & Round($iMax, 2))
    $iTotalTime = 0
    $iMin = 1000
    $iMax = 0
    For $i = 1 To $iRuns
    	$iT = TimerInit()
    	StringReplace(FileRead($ReadFile), @LF, @LF, 0, 1)
    	$iTime = TimerDiff($iT) / 1000
    	$d_Lines = @extended
    	$iTotalTime += $iTime
    	If $iTime < $iMin Then $iMin = $iTime
    	If $iTime > $iMax Then $iMax = $iTime
    Next
    ConsoleWrite(@CRLF & "2: Gesamtdauer im Schnitt (sec): " & Round($iTotalTime/$iRuns, 2))
    ConsoleWrite(@CRLF & "2: MIN                         : " & Round($iMin, 2))
    ConsoleWrite(@CRLF & "2: MAX                         : " & Round($iMax, 2))
    Alles anzeigen

    Output hier:

    Spoiler anzeigen


    Test mit 1000 Durchläufen...
    1: Gesamtdauer im Schnitt (sec): 1.78
    1: MIN : 1.75

    1: MAX : 1.83
    2: Gesamtdauer im Schnitt (sec): 1.73
    2: MIN : 1.65
    2: MAX : 2.69

    Ich frage mich, warum die StringReplace-Variante so extreme "Ausbrüche" hat im Vergleich 8| Fühlbar ist da aber im Dauertest kaum ein Unterschied. Vielleicht nur wegen den Ausbrechern hier auf dem System. Werde das mal nachher auf meiner Workstation laufen lassen. Eventuell macht das einiges klarer.

  • CSV Datei Zeilen zählen - extrem schnell - GNUWin32

    • Runa
    • 17. März 2016 um 13:26

    Meine AutoIt-Version, die nicht die Installation eines weiteren Programmes erfordert (als Vergleich)

    AutoIt
    #include <Timers.au3>
    
    
    Local $ReadFile = @ScriptDir & "\Text.csv"
    Local $starttime = _Timer_Init()
    
    
    $sFile  = 'set file="' & $ReadFile & '"' & @CRLF
    $sFile &= 'set /a cnt=0' & @CRLF
    $sFile &= 'for /f %%a in (''type "%file%"^|find "" /v /c'') do set /a cnt=%%a' & @CRLF
    $sFile &= 'EXIT /B %cnt%'
    
    
    FileWrite(@ScriptDir & "\Count.bat", $sFile)
    $iLines = RunWait(@ScriptDir & "\Count.bat")
    FileDelete(@ScriptDir & "\Count.bat")
    
    
    
    
    ConsoleWrite(@CRLF & "Datei Groesse(MB) : " & Round((FileGetSize($ReadFile) / 1048576), 2))
    ConsoleWrite(@CRLF & "Zeilen            : " & $iLines)
    ConsoleWrite(@CRLF & "Dauer (sec)       : " & Round(_Timer_Diff($starttime)/1000, 2) & @CRLF)
    Alles anzeigen

    Datei Groesse(MB) : 68.66
    Zeilen : 2000000
    Dauer (sec) : 1.82

  • Größe von ComboBox einstellen nicht möglich? Height-Parameter ohne Funktion?

    • Runa
    • 15. März 2016 um 09:25

    BugFix : Wollte gerade die gleiche Funktion vorschlagen. Die Abweichung beträgt aber - soweit ich weiß und hier nachstellen konnte - immer 8 Pixel. Deine Methode ist da natürlich deutlich störunanfälliger.

  • Englisch im Deutschen Forum

    • Runa
    • 11. März 2016 um 17:34
    Zitat von Yaerox

    Dazu kommt, dass scheinbar viele hier nicht zu schätzen wissen, wie hilfsbereit und kulant dieses Forum ist. Glaubt ihr nicht? Postet mal eine Frage auf Stackoverflow, eines der bekanntesten Portalen für Programmierfragen.


    Ihr fragt etwas das es schon gibt? Die Moderatoren linken euch eine andere Frage die das beantwortet und schließt die Frage.
    Ihr fragt etwas ungenau? Eure Frage wird gesperrt, bis ihr diese umgeschrieben habt, und der entsprechende Moderator Sie versteht.
    Ihr fragt etwas und postet kein Beispielskript. Viel Spaß beim warten auf Antworten.
    Ihr diskutiert in "Antworten" und "Kommentaren", ein Moderator wird euch verwarnen und euch sagen das eure Antwort weder eine Frage noch ein Kommentar ist.
    Ihr schreibt Antworten bei denen Ihr euch nicht 100%ig sicher seid? Die Leute die es besser wissen werden euch eiskalt downvoten.


    Da Offtopic möchte ich das kurz kommentieren:

    • Ich habe nie eine Frage gestellt, die es bereits gab, daher wurde auch keine meiner Fragen bei SO gesperrt.
    • Vielleicht weiß ich immer zu genau was ich eigentlich brauche: Aber auch eine gesperrte Frage hatte ich nie.
    • Ich habe bisher nie ein Beispielscript gepostet. Allerhöchstens Querverweise auf andere Threads, mit dem Hinweis, dass diese Wege nicht funktionierten. Nur einmal hatte ich es, dass niemand antwortete - und das auch nur, weil keiner dort die Lösung wusste.
    • Diskussionen in ANTWORTEN sind immer eine peinliche Sache, und nur ein Versuch seinen Counter zu erhöhen. In Kommentaren hingegen wird regelmäßig diskutiert und das auch gerne gesehen. Hier in diesem Forum gibt es nur Antworten - eine Kommentarfunktion bietet die Forensoftware nicht.
    • Downvotes bekommt man nur bei Antworten, die zu 100% nicht zur Frage passen, oder schlicht nicht zur Lösung kommen. Auf SO wird vorausgesetzt, dass du mindestens mal dein Script getestet hast, bevor du es als Lösung hinwirfst.

    Zwischen AutoIt und SO gibt es zwei deutliche Unterschiede - und keiner davon ist die Hilfsbereitschaft oder Kulanz.

    • SO ist ein reines Frage -> Antwort - Portal. Unter jede Frage gehören nur richtige Antworten zu exakt der gestellten Frage. AutoIt ist ein Mischwerk aus vielen einzelnen Bereichen mit einem Hilfe-Bereich. Beachte: HILFE. Nicht Frage -> Antwort. Der Unterschied liegt klar auf der Hand: Im Hilfe-Bereich sind auch reine Hilfestellungen oder bloße Ideen angebracht. In einem Frage -> Antwort - Portal ist das nicht der Fall. Dort gehört unter die Frage nur die Antwort auf diese Frage. Ideen oder Hilfestellungen kommen *höchstens* in die Kommentare.
    • SO ist *deutlich* größer als AutoIt. Alleine deren Moderatorenteam ist größer als die gesamte Memberschaft dieser Seite - erst recht, wenn man das gesamte StackExchange betrachtet, von dem SO nur ein winziger Teil ist. SO ist im SE vielleicht ähnlich wie der Bereich "Skripte" auf dieser Seite. Und gerade, weil es so unglaublich viel größer ist, ist eine härtere Moderation notwendig. Hier werden Regeln öfter mal schlicht "ignoriert" bzw. ein Auge zu gedrückt.
  • Meine Reaktion auf gewisse Nutzer ...

    • Runa
    • 5. März 2016 um 02:35

    Weil du freundlich fragst:

    Ist geschehen. Sämtliche personenbezogenen Daten sind daraus entfernt, ebenso wie alle kritischen Takte dazu.

    Und ja, damit meinte ich dich.

    Wie du selbst gesagt hast, verweise ich in meinem Beitrag ebenfalls auf die Hilfe und gegebenenfalls Tutorials. Die habe ich dir nahegelegt, da es eine sehr mächtige Funktion ist, um die es in dem Beitrag ging. Direkt darunter postest du - ohne Bezug zu dem Thread in dem es vorgekommen ist und auf den du es eigentlich bezogen hast (siehe Post 9) - dass dich das dauerhafte RTFM aufregt, und dass man sich die Posts doch sparen solle, wenn man nicht schlicht freundlich helfen möchte.

    Es ist nur all zu menschlich in einem eigenen Thread, in dem jemand nach dem Hinweis auf eben "The Manual", in einem Post, der eben dieser Person gewidmet ist, den Teil eben auch auf den Beitrag zu beziehen. Um dir meine Sicht vielleicht begreiflicher zu machen: Ich weiß nicht, wer dich hier anpöbelt, und warum. Ich weiß allerdings, dass ich dir eine zielführende Hilfestellung inklusive dem Tipp gegeben habe, dass dazu noch ein paar Takte in der Hilfe und in diversen Tutorials stehen.
    Als Antwort bedankst du dich dann für die Antwort, und haust danach einen Katalog an Angriffen vom Zaun, die sich ohne viel Phantasie auf direkt den Beitrag beziehen lassen, auf den du dort geantwortet hast.

    Was kommt also bei mir an: "Beschimpft mich der Typ gerade wirklich, weil ich ihm eine Hilfestellung gegeben habe? Ernsthaft?!". Dann habe ich dich durch die Blume darauf hingewiesen, dass dein Beitrag exakt so gewertet werden kann, und dass ich mich dadurch angegriffen fühle. Deine Reaktion drauf war, dass du sagtest, ich hätte ja auf die Hilfe verwiesen, und ich solle gefälligst freundlich antworten, oder es gleich bleiben lassen. Den Post beendest du übrigens nach diesen Worten mit dem Satz "Vielen Dank an jene die mir geholfen haben." - werte diesen Satz mal nüchtern und aus der Sicht, die ich auf das Geschehen hatte.

    Vielleicht verstehst du nun, weshalb ich eine Entschuldigung deinerseits gefordert habe, die ich vermutlich nie bekommen werde (vgl. deiner Aussage bzgl. der Rosen...), und vielleicht verstehst du damit auch die ein oder andere hitzige Reaktion ein wenig klarer. Für mich ist die Sache durch, eine reine Zeitverschwendung, der ich keine weitere Zeile schenken werde.

  • Meine Reaktion auf gewisse Nutzer ...

    • Runa
    • 5. März 2016 um 01:57

    Mal ein Hinweis:

    Du postest dort etwas was deiner Aussage nichts mit dem Thread zu tun hat aber durch den Hinweis auf die Hilfe offensichtlich ein falschen Eindruck erweckt.

    Ist mir nun aber egal. Ich werde den Thread selbst nicht mehr beachten da wohl nichts sinnvolles mehr kommen wird.

    autoBert: Habe bereits geschrieben dass ich das tun würde.
    ;)

  • Meine Reaktion auf gewisse Nutzer ...

    • Runa
    • 4. März 2016 um 21:19

    Wir hatten nur an einer Stelle Kontakt. Dort hast du mir vorgeworfen, nicht freundlich zu helfen, nachdem ich dir ne komplett vollständige Lösung zu deinem Problem gepostet habe, mit dem Hinweis, dass diese Funktion sehr umfangreich ist und dass du sie dir (in der Hilfe oder nem Tutorial) angucken solltest, falls du dies noch nicht hast. Deine Reaktion darauf:

    Zitat von Blaxxun

    Was ich hier in diesem Forum ANDAUERND lese ist "RTFM" = Read the fucking manual.
    Würden sich die erfahrenen Leute sich das einfach sparen wäre das für Neuankommlinge sicher eine angenehmere Atmosphäre.
    Wenn jemand gar nicht weiß wo er anfangen soll zu suchen und nach 3 Stunden mal jemanden fragt bekommt man nur RTFM ins Gesicht gedroschen.
    Ich hasse das.

    (...)

    Es kümmert mich nicht dass ich mir hier gleich zu Beginn Feinde mache. Es gibt auch andere Foren.
    Ach ja und alte treads ausgraben darf man hier ja auch nicht. Und Maul aufmachen darf man auch nur wenn man ein Profi ist.

    Spart euch doch bitte diese Arroganz und helft halt nicht wenn ihr nicht helfen wollt. Aber verschont mich mit RTFM.

    Das ist deine Antwort auf einen Post, der deine Frage zu 100% vollständig beantwortet und äußerst freundlich formuliert ist. Einen Post von einer Person, die dich an keiner Stelle überhaupt angegriffen hat. Einen Post, den du auch in jedem anderen professionellen Forum in exakt dieser Form hättest bekommen können. Vergleiche könntest du in anderen Fachforen finden. Beispiel: mycsharp.de - in dem ich ebenso aktiv bin, ebenso wie in der Entwickler-Ecke oder dem Entwicklerforum. In jedem von diesen Foren hättest du für derartige Antworten schnell eine Ermahnung von einem der offiziellen bekommen.

    Meine Reaktion darauf war dir nochmal aufzuzeigen, dass mein Beitrag zu über 90% nur deine Frage beantwortet und die letzten 10% nur ein guter Tipp waren, der freundlich formuliert war. Es war kein "RTFM" oder ähnliches, wie du es dargestellt hast. Deine Reaktion abermals hyperaggressiv und äußerst unprofessionell:

    Zitat von Blaxxun

    Welchen Gang runter @Bioshade?
    Ich sagte lediglich verweist nicht ANDAUERND aufs Handbuch.
    Und das hast du ja offensichtlich getan,oder nicht?
    Helft einem freundlich oder lasst es bleiben.

    Anscheinend gibt es hier Leute die gerne streiten.
    Ich werde mich deshalb von hier verabschieden.

    Vielen Dank an jene die mir geholfen haben.


    Das ist deine Reaktion darauf, wenn man dir also hilft. Zwei Posts in dem du hyperaggressiv gegen Leute vorgehst, die genau das tun, was du wolltest: Deine Frage beantworten. Im Gegensatz zu vielen anderen Beiträgen, die du einfach mit einem "danke" quittiert hast, habe ich nicht einmal die Hilfe zitiert oder bloß gesagt, lies es da nach, da steht es.


    Zitat von Blaxxun

    Immer schön das eigene Ego aufpolieren und andere runtermachen. Und was?? Einen Zweit Account? Es wird immer besser mit den Unterstellungen.

    Wenn man hier um einfachste!! Hilfe fragt wird man systematisch zur Sau gemacht.

    Tolles Forum, voll mit "Profis" die absolut keine Etikette kennen.

    Und hier die nächsten Beleidigungen durch deine Person. Einfach herrlich. Aber einen riesen Aufstand machen, wenn man ÖFFENTLICH ZUGÄNGLICHE Informationen über dich benutzt, die du selbst erst zugänglich gemacht hast.

    Vielleicht ist es so für dich einfacher zu kapieren: Solange du deine Art nicht änderst, oder zumindest den Link entfernst, mit dem man erst zu den Informationen kam, hast du rechtlich überhaupt keine Grundlage gegen mich vorzugehen, selbst wenn ich es stehen lasse, noch die Chance, dass ich auch nur den Willen habe, es zu entfernen. Alles darin ist öffentlich verfügbar und der Rest ist keine Beleidigung sondern lediglich eine Äußerung im Rahmen der freien Meinungsäußerung.

    Es ist nun mal ein Fakt, dass deine Reaktionen denen von AutoMit sehr ähnlich sind: Sich über jeden Hinweis auf die Hilfe tierisch aufregen, dass ganze Forum schlecht machen und trotzdem immer wieder Hilfe-Threads eröffnen für ein Problem, dass Fortgeschrittenen oder Spezialisierten AutoIt Nutzer direkt "aus dem Effeff" beantworten können, weil sie das Problem auch schon einmal hatten.

    Gerne bin ich bereit, die öffentlich zugänglichen Informationen und meine Meinung dazu - zu deiner Person und Firma - zu entfernen. Allerdings erwarte ich dafür mindestens mal eine Entschuldigung *deiner* Person für derart herablassendes, beleidigendes und unprofessionelles Verhalten. Bis dahin kannst du nur vergeblich versuchen da etwas rechtlich durchzusetzen - und das ohne rechtliche Grundlage. Die Wahl deines Weges liegt bei dir: Der eine ist ein professioneller Weg, der dich sicherlich recht schnell an dein Ziel führt. Der andere ist ein fruchtloser Weg, der dich nur Geld kostet und allgemein eher der unreifere Weg ist.

    autoBert: Ich weiß. Ich bin in dem wie einigen anderen Foren ebenfalls unterwegs. Und ich wage zu behaupten, dass eine Übersetzung in der "Qualität" ebenfalls durch einen Übersetzer gejagt worden sein kann.

  • SciTE Umlaufe in Console

    • Runa
    • 4. März 2016 um 19:46

    Bei mir steht es in den SciTEGlobal.properties.

  • SciTE Umlaufe in Console

    • Runa
    • 4. März 2016 um 19:20

    Ergänzung zu BugFix:

    https://msdn.microsoft.com/de-de/library/…6(v=vs.85).aspx

    Hier hast du eine Auflistung aller möglichen Codepages. :)

  • Meine Reaktion auf gewisse Nutzer ...

    • Runa
    • 4. März 2016 um 19:16

    Liebe AutoIt-Benutzer,
    Liebe Mitglieder von AutoIt,

    wie einige von euch bereits wissen: Ich bin hauptberuflich sowohl Leiterin von Seminaren als auch Entwicklerin in mehreren Programmiersprachen, wobei auch viele Schritte (zum Beispiel für LoginScripts weiter über AutoIt realisiert werden. Ich bin es sowohl gewohnt, dass jemand mal schwerer von Begriff ist, oder es auch nach fünf Erklärungen weiterhin nicht verstanden hat. Damit hatte ich nie ein Problem, habe ich keines, und werde ich nie eines haben.

    Dennoch tauchen hier im Forum immer wieder Nutzer auf - vermutlich der Selbe mit mehreren Accounts - die immer wieder verlangen, dass man sie - trotz ihrer herablassenden Art und ohne dass sie auch nur einmal die Google-Suche, Forensuche oder überhaupt die Hilfe bemüht haben - schlicht darauf hinweist, dass sie dies für weiterführende Informationen gerne tun dürfen, einem immer wieder mit extrem kindischen und patzigen Antworten kommen. Meist sind das dann die Nutzer, die angeblich selbst in einem Forum Hilfestellungen geben, ohne mal auf weiterführende Informationen hinzuweisen. Mal abgesehen von dem Fakt, dass ihre Hilfe dann nur den Zweck hat, die User möglichst überhaupt nicht zu selbstständigen Arbeiten zu motivieren, sondern bloß den eigenen "Aktivitätscounter" hoch zu treiben, kommt das meist auch von Nutzern, die in ihrem Bereich überhaupt keine Ahnung haben. Und mit keine mein ich vielleicht so ein bisschen.

    An die gemeinten User:
    Mal ehrlich, wenn ihr schon versucht, jemanden öffentlich zu beleidigen, indem ihr die Professionalität dieser Personen in Frage stellt, weil diese euch einen Hinweis auf weiterführende Informationen in aller Freundlichkeit gibt, und ihr stets durch eine Art auffallt, mit der ihr in vielen Foren bereits eine Verwarnung erhalten hättet, solltet ihr wenigstens gucken, dass ihr nicht nur als Nutzer auffallt, die versuchen als Leecher Code in einem Hilfeforum zu bekommen, dabei noch möglichst allen Nutzern, die dir freundlich helfen wollen, dermaßen auf die Füße zu treten, dass diese sich Fragen, mit welchem Recht ihr dies tut, und viel wichtiger warum eigentlich, ob ihr eigentlich keine Hilfe haben wolltet oder ob ihr einfach noch ein kleines Kind seid.


    Mein Fazit daraus:
    Ich werde in Zukunft sorgfältiger prüfen, wer meine Hilfe überhaupt wert ist, und wer nicht. Solche Menschen wie die oben beschriebenen sind es definitiv nicht. Ich werde nun bei jedem Nutzer, der ein Hilfegesuch hier im Forum stellt, zuerst prüfen, welche Fragen diese Person sonst stellt, wenn die Frage einfach über die Hilfe gelöst hätte werden können. Praktisch einen Idiotentest. Des Weiteren füge ich sämtliche Nutzer der Blockierliste hinzu, die durch derartiges infantiles, herablassendes und beleidigendes Verhalten auffallen.

    Ich bitte meine Entscheidung diesbezüglich zu akzeptieren. Alle anderen Nutzer, die bereits von mir Hilfestellungen erhalten haben, oder die ich zu meinem Freundeskreis zähle, dürfen selbstverständlich weiter mit Hilfestellungen rechnen - gerne auch erneut via privater Nachricht.

    Mit freundlichen Grüßen


    Bioshade

  • Hilfe - Barcode-Scanner

    • Runa
    • 4. März 2016 um 09:36

    Warum baust du in die GUI nicht einfach ein Input mit Autofokus, einen "Defaultpushbutton" und eine Edit in die als Event auf dem Button geschrieben wird?


    Idee dahinter:

    Durch Autofokus steht der Cursor automatisch in dem Input. Jedes Zeichen wird automatisch an das Input gesendet. => Die Zeichenfolge landet in dem Input.

    Durch den defaultpushbutton haben wir ein Control, dass auf Enter reagiert und damit ein Event auslöst. => Wir können jedes Enter als Ende einer Zeichenfolge sehen.

    In das Edit wird nun über das Event vom Button der Inhalt aus dem Input geschrieben und der Fokus erneut auf das Input gesetzt (den Fokus hat da aktuell der Button)

  • SciTe und Umlaute

    • Runa
    • 4. März 2016 um 09:31

    Ich kann das Problem hier nicht nachvollziehen - versuche mal, deinen SciTE4AutoIt zu aktualisieren. Ich habe hier Version "Version 3.6.0" und das Problem taucht hier nicht auf. Den download hierzu findest du auf dieser Seite. :)

  • Dynamische Variablen (Variablennamen) aus IniReadSection heraus

    • Runa
    • 4. März 2016 um 09:27

    Du könntest über Assign und Eval arbeiten - hättest damit aber streng genommen keine wirklichen Variablen. Hier ein Beispiel aus der Hilfe:

    AutoIt
    #include <MsgBoxConstants.au3>
    
    
    ; Assign the variable string sString with data.
    Assign("sString", "This is a string which is declared using the function Assign")
    
    
    ; Find the value of the variable string sString and assign to the variable $sEvalString.
    Local $sEvalString = Eval("sString")
    
    
    ; Display the value of $sEvalString. This should be the same value as $sString.
    MsgBox($MB_SYSTEMMODAL, "", $sEvalString)
    Alles anzeigen


    Mittels Assign kannst du einen beliebigen String mit einem beliebigen Datensatz abspeichern. Problematisch erscheint mir hierbei, dass du dazu gezwungen würdest, das Auslesen der Variablen ebenso dynamisch zu machen...


    AutoIt
    $aSections = IniReadSectionNames("Test.ini")
    For $j = 1 To $aSections[0]
    	$aKeyValue = IniReadSection("Test.ini", $aSections[1])
    	For $i = 1 To $aKeyValue[0][0]
    		Assign("s" & $aKeyValue[$i][0], $aKeyValue[$i][1])
    	Next
    Next
    MsgBox(64, "Augenfarbe", Eval("sAugenfarbe"))

    Hier ein Minimalbeispiel... ich bin mir allerdings nicht sicher, ob die Lösung wirklich zu deinem Problem passt, immerhin sind Arrays nicht selten deutlich "sprechender" als irgendwelche Werte die jemand aus einer Ini-Datei zieht und die dann als "falsche" Variablen praktisch im Code gehalten werden... denn an keiner Stelle - außer beim Eval am Ende, hast du wirklich den Text, wie die Variable eigentlich heißt. Das bedeutet, dass keiner - ohne die Ini-Datei aufzumachen - weiß, welche Variablen überhaupt gerade existieren.

    Mein Rat: Erstelle lieber richtige Variablen, auch wenn dir das Konstrukt nicht gefällt und es nervig ist.. ansonsten müsstest du über die Arrays arbeiten, damit es überhaupt in irgendeiner Weise verständlich für jemanden wird, der sich den Code anguckt. Denn egal ob bei Arrays oder dem Assign / Eval-Konstrukt: Du hast nie die Namen drin stehen. Und gerade für Anfänger ist letzteres deutlich komplizierter zu verstehen, als das schlichte einfache Konstrukt, dass du im Startpost genannt hast.

  • String in Array übergeben jeden Buchstaben einzeln

    • Runa
    • 4. März 2016 um 09:10
    Zitat von Blaxxun

    Hallo Bioshade,

    Danke für deine Antwort. Ich verstehe nicht was in meiner Ausführung unverständlich formuliert ist.

    Was ich hier in diesem Forum ANDAUERND lese ist "RTFM" = Read the fucking manual.
    Würden sich die erfahrenen Leute sich das einfach sparen wäre das für Neuankommlinge sicher eine angenehmere Atmosphäre.
    Wenn jemand gar nicht weiß wo er anfangen soll zu suchen und nach 3 Stunden mal jemanden fragt bekommt man nur RTFM ins Gesicht gedroschen.
    Ich hasse das.

    Ich komme aus dem Bereich 3D Modeling und VFX und ich habe ganze Bücher an Text geschrieben um Neulingen zu helfen. Und NIEMALS habe ich mit erhobenen Zeigefinger gesagt RTFM.

    Wozu ist denn so ein Forum gut wenn sowieso alles in der Hilfe steht???

    Es kümmert mich nicht dass ich mir hier gleich zu Beginn Feinde mache. Es gibt auch andere Foren.
    Ach ja und alte treads ausgraben darf man hier ja auch nicht. Und Maul aufmachen darf man auch nur wenn man ein Profi ist.

    Spart euch doch bitte diese Arroganz und helft halt nicht wenn ihr nicht helfen wollt. Aber verschont mich mit RTFM.

    Alles anzeigen

    Fahr mal einen Gang runter. In meinem Beitrag steht weder RTFM, noch steht da keine Hilfestellung.

    Über 90% meines Beitrags sind rein auf deine Frage bezogen und reine Hilfestellung. Die letzten 10% sind lediglich ein freundlich formulierter Tipp, dass du das auch hättest in der Hilfe und in jedem Anfängertutorial hättest nachlesen können. Und dass falls du das nicht gemacht hast, dass ich dir nahelegen würde, das zu tun, da diese Funktion eben sehr mächtig ist, und in allen Programmiersprachen benötigt wird. Auch sagte ich, dass du die Frage weiter ausformulieren solltest, wenn du diese Werke eben bereits gelesen hast, sie allerdings nicht verstanden hast.

    Nach dem nächsten Beitrag deinerseits, der Leuten, die dir freundlich helfen dermaßen beleidigt, begrüße ich dich im Club AutoMit - dem Club für alle, die selbst nach dreifachen Bitten von mir auch keine einzeilige Hilfestellung mehr bekommen, denn keiner hier wird dafür bezahlt DIR eine Hilfestellung zu geben - genau genommen wird hier niemand dafür bezahlt IRGENDWEM eine Hilfestellung zu geben. Das machen hier alle freiwillig und gerne. Und warum Club AutoMit? Weil dein Schreibstil, deine herablassende Art und die Art, wie du Leute beleidigst, die dir helfen wollten exakt identisch ist. Vergleich dazu im OffTopic.

  • PNG->Hex

    • Runa
    • 3. März 2016 um 14:01

    Probiere mal die Methode von unserem PU "UEZ".

    AutoIt
    ; ============================================================================================================================
    ; Purpose  : Converts any file to HEX binary string
    ; Author   : Ward / UEZ
    ; ============================================================================================================================
    
    
    Local $VarName = StringStripWS(InputBox("Convert to Binary String", "Select a name for the variable." & @CRLF & @CRLF & "$ will automatically added to the beginning of the variable!:", "BinaryString"), 3)
    If $VarName = "" Then Exit
    
    
    Local $FileName = FileOpenDialog("Open a file", @ScriptDir, "DLL file (*.*)")
    If $FileName = "" Then Exit
    
    
    Local $Handle = FileOpen($FileName, 16)
    Local $BinaryString = FileRead($Handle)
    FileClose($Handle)
    
    
    Local $LineLen = 1024
    Local $DllString = String($BinaryString)
    
    
    Local $Script = "Func " & $VarName & "()" & @CRLF & @TAB & "Local _" & @CRLF & @TAB & "$" & $VarName & " = '" & StringLeft($DllString, $LineLen) & "'" & @CRLF
    $DllString = StringTrimLeft($DllString, $LineLen)
    
    
    
    
    While StringLen($DllString) > $LineLen
        $Script &= "    $" & $VarName & " &= '" & StringLeft($DllString, $LineLen) & "'" & @CRLF
        $DllString = StringTrimLeft($DllString, $LineLen)
    WEnd
    
    
    If StringLen($DllString) <> 0 Then $Script &= "    $" & $VarName & " &= '" & $DllString & "'" & @CRLF
     $Script &= @TAB & "Return Binary($" & $VarName & ")" & @CRLF & "EndFunc"
    ;~ ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $Script = ' & $Script & @crlf & '>Error code: ' & @error & @crlf) ;### Debug Console
    ClipPut($Script)
    
    
    MsgBox(64, "Convert to Binary String", "The result is in the clipboard, you can paste it to your script.")
    Alles anzeigen
  • String in Array übergeben jeden Buchstaben einzeln

    • Runa
    • 3. März 2016 um 13:56

    Hallo!

    Im RegEx matched der einfache "." jedes x-beliebige einzelne Zeichen.
    Im RegEx gibt man über den dritten Parameter an, wie man das Ergebnis gerne hätte.

    Steht beides in der Hilfe und in jedem Tutorial. Wenn du die nicht verstanden hast, solltest du deine Fragen ausführlicher formulieren. Solltest du sie schlicht nicht gelesen haben, solltest du das nachholen: StringRegExp ist eine sehr nützliche Funktion. ;)

    Code
    $sValue = "Dies ist ein Texttesttext"
    $aChars = StringRegExp($sValue, ".", 3)

    Ergebnis:
    [0] = D
    [1] = i
    [2] = e
    [3] = s
    [4] =
    [5] = i
    [6] = s
    [7] = t
    [8] =
    [9] = e
    [10] = i
    [11] = n
    [12] =
    [13] = T
    [14] = e
    [15] = x
    [16] = t
    [17] = t
    [18] = e
    [19] = s
    [20] = t
    [21] = t
    [22] = e
    [23] = x
    [24] = t

  • svchost verbraucht Internet

    • Runa
    • 29. Februar 2016 um 15:32

    misterspeed: Da bist du unzureichend informiert. Glaub mir: Ich habe täglich mit dem GWX zutun - und die Registry-Schlüssel reichen nur in 60% der Fälle - und dann auch NUR für zukünftige Versionen davon.

    Das oben beschriebene Tool macht es nur auf 100% aller Betriebsysteme wirksam, statt zu sagen "naja mehr als die Hälfte reicht ja, ne?". Im Gegensatz zu der von dir herausgesuchten Registry-Keys verhindert mein Vorgehen sogar das Update auf Windows 10, wenn dieses bereits heruntergeladen wurde. Bei deiner Methode würde dann Windows 10 aufgespielt werden. Und guess what: Lässt du dein System wieder auf das vorherige OS zurückrollen, sind deine Registry-Keys alle wieder zurückgesetzt.

    Der von dir gepostete Link beschreibt exakt mein Vorgehen und widerspricht dir damit:

    Punkt 1 - keine Pflicht, aber ermöglicht das gesamte Vorgehen ohne einen Neustart.
    Punkt 2 - In deinem Link direkt unter "GWX ganz entfernen"
    Punkt 3 - Darum hast du den Link erst gepostet - direkt unter "GWX ganz blocken"
    Punkt 4 - Letzter Absatz.

  • Passwort über Script automatisch ändern

    • Runa
    • 25. Februar 2016 um 19:23

    @Peter: Ist es verschlüsselt, kann er es selbst nicht mehr lesen, außer sein Programm kann es anzeigen. Und der Mensch ist von Natur aus "gemütlich". Demnach wird das Script in Reichweite liegen. Und wie jeder hier weiß, gibt es für AutoIt Decompiler - somit ist ein MasterPW wie auch deine Methode in etwa so sicher wie der Schlüssel zur Tür unter der Fußmatte. Und jeder mit der bloßen Kenntnis von AutoIt erkennt ein AutoIt-Script problemlos... somit hast du da kein "Henne Ei"-Problem, sondern ein ganz einfaches: AutoIt kann NIEMALS auch nur vor dem klassischen Endbenutzer sicher sein.

    Es zum Verwalten oder gar Generieren von Kennwörtern zu verwenden ist demnach genauso sinnvoll wie sich mit einem Prius zu einem Drag-Rennen anzumelden. Außer die Sicherheit geht einem ohnehin am Arsch vorbei, aber warum sollte man dann ein Script bauen, dass das Passwort regelmäßig ändert, statt einem, dass diesem Kennwort-Hinweis sprichwörtlich "jaja, leck mich" sagt, eben da letzteres deutlich leichter zu realisieren ist.

    Zu deinem "IRONIE"-Part: Es widerspricht in dem Fall den AGB von AutoIt.de.

  • Passwort über Script automatisch ändern

    • Runa
    • 25. Februar 2016 um 17:40
    Zitat von emmi1992

    Nun zum Script, welches von mir erdacht ist und hoffentlich in die Realität umsetzbar ist:

    Als erstes muss man natürlich ein Passwort haben, welches vom Script eingelesen werden muss, um dann ( wie ich zumindest hoffe ) an ein Formular für die Passwortänderung gegeben werden kann.

    Darauf sollte sich ein Zufallsscript einschalten, welches ein beliebiges Passwort aus 10 Zeichen mit Groß - und Kleinbuchstaben, Ziffern und Sonderzeichen erstellt.

    Dieses Passwort wird dann das zweite Passwort, welches vom Script eingelesen und in eine Log Datei gespeichert werden muss.

    Nun sollte man einen Zeitraum einstellen können, an welchen Tagen oder nach welcher Zeit das Script das Passwort nun wieder ändern soll.

    Ist dieser Zeitraum abgelaufen, schaltet sich das Script wieder ein und meldet sich mit dem ersten generierten Passwort an.

    Darauf erfolgt wieder der Prozess des Zufallsscript, wodurch dann das zweite generierte Passwort entsteht und nach Eintrag in das Log zum aktuellen ersten Passwort wird.


    Wozu nun eigentlich dieser Aufwand?

    Man vergisst nicht, das Passwort alle x Tage zu ändern und wenn ich wie schon beschrieben von Online Games ausgehe, kann man somit auch schnell weiterführend einen Automatischen Login erstellen, wo allerdings z.B. nach jedem Logout im Spiel das aktuelle

    Passwort geändert wird und somit ein Höchstmaß an Sicherheit bestehen sollte.

    Alles anzeigen
    • Dein Script muss das aktuelle Kennwort anzeigen können, oder den automatischen Login haben
    • Kann es das aktuelle Kennwort anzeigen, hat jeder Zugriff auf dein Kennwort, der Zugriff zu deinem Rechner hat
    • Hat es einen automatischen Login, widerspricht es so ziemlich jeder Onlinespiel-AGB die derzeit unterwegs ist. Auch ein automatischer Login ist eine Automatisierung und fällt in deren Nutzungsbestimmungen unter "Bots"
    • Passwort mit 10 Zeichen, aber du machst dir Gedanken um die Sicherheit? Mit einem einzelnen PC von ALDI - die haben ja immer mal wieder Billigmühlen im Angebot - knacke ich - je nach Beschaffenheit des zufällig generierten Kennworts eben dieses in < 1 Sekunde bis hin zu in Jahrhunderten nicht. Nehme ich nun einen guten Rechner respektive einen Server oder eine Workstation, verkürzt sich die Zeit drastisch im Vergleich. Ein gutes Kennwort sollte mindestens aus 16 Zeichen bestehen und möglichst keine Regelmäßigkeiten aufweisen oder Wörter enthalten. Relevant für die Bewertung des Kennwortes sollte die Informationsdichte sein - und der Zufallsgenerator sollte dies berücksichtigen. Diese Informationsdichte sollte mindestens 30 (benötigt etwa 24 Stunden zum knacken) betragen, damit du ein relativ sicheres Kennwort hast - und nur relativ.
    • Das Script sollte nicht durchgehend im Hintergrund laufen müssen. Der Hinweis mit der Aufgabenplanung ist hier der sinnigste, vor allem, da die Aufgabenplanung auch "verpasste Jobs" nachholen kann und man somit nicht auf 24/7 Betrieb angewiesen ist, oder versuchen muss die Seite via PHP zu manipulieren, was sehr schnell zu einer Sperre führen kann -> Automatismus, falscher Referrer, ... Des Weiteren würden hierbei deine Log-Dateien auf dem Server eines Fremdanbieters liegen, da diese ja via PHP erzeugt würden - bzw. hast du die Wahl, sie unverschlüsselt im Netz liegen zu lassen, sie unverschlüsselt via bsp. E-Mail zu versenden oder aber sie zu verschlüsseln und die Datei selbst nicht mehr lesen zu können - wobei beim nicht via E-Mail versenden "direkt daneben" die Anleitung liegt, wie man das ganze verschlüsselt hat, und wie man das ganze wohl wieder umkehrt.

    Ich fasse zusammen: Ein Thema, welches die Sicherheit deines Passworts nicht erhöhen KANN, solange es auf einem anderen Gerät erzeugt oder würde. Ein komplexes Passwort mit 10 Stellen Länge zu finden, dass bei einem aktuellen PC länger als 24 Stunden braucht um geknackt zu werden ist schon sehr optimistisch geschätzt, da das nicht einmal auf 10% der 10 stelligen Kennwörter zutrifft. Die meisten davon bekommst du schon mit lächerlichen 10 Wörterbüchern meist in weniger als 6 Stunden geknackt.

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™