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

Beiträge von Shadowigor

  • GUI updaten - Team To Do Liste

    • Shadowigor
    • 30. Januar 2013 um 10:33

    Aaaalso:

    1. Die Checkbox-Funktionen lassen sich vereinfachen. Dafür gibt es das Makro @GUI_CTRLID. Ausserdem vereinfacht es dir vieles, wenn du die Control-ID in ein Array packst. Das ganze könnte dann etwa so aussehen:

    Spoiler anzeigen
    [autoit]

    ...
    ; Da wo du die Checkboxen definierst. Kann man auch noch in eine Schleife packen.
    Global $Checkbox[AnzahlCheckboxenHier]

    [/autoit] [autoit][/autoit] [autoit]

    $Checkbox[0] = GUICtrlCreateCheckbox("Aufgabe 1", 35, 113, 200, 40)
    GUICtrlSetOnEvent(-1, "Checkbox")
    GUICtrlSetFont(-1, 10, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xFF0000)
    ...
    ; usw.

    [/autoit] [autoit][/autoit] [autoit]

    Func Checkbox1 ()

    [/autoit] [autoit][/autoit] [autoit]

    $Index = _ArraySearch($Checkbox, @GUI_CTRLID)

    [/autoit] [autoit][/autoit] [autoit]

    IniWrite (@ScriptDir & "\db.activity","active","1","1")

    If BitAnd(GUICtrlRead($Checkbox[$Index]),$GUI_CHECKED) Then
    GUICtrlSetBkColor($Checkbox[$Index], 0x00FF00)
    _FileWriteLog ($logpath, " * " & $Userdone & " * erledigte Aufgabe 1")
    GUICtrlSetData ($Label[$Index], $Userdone)
    IniWrite($Dataini, 'GUI Update Box', '$Checkbox' & $Index, "1")
    Else
    GUICtrlSetBkColor($Checkbox[$Index], 0xFF0000)
    _FileWriteLog ($logpath, " * " & $Userdone & " * hat Aufgabe " & $Index & " reaktiviert")
    GUICtrlSetData ($Label[$Index], "")
    IniWrite($Dataini, 'GUI Update Box', '$Checkbox' & $Index, "0")
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    IniWrite($Dataini, 'GUI Update User', '$Checkbox' & $Index & 'User', $Userdone)
    Sleep(10) ; 10 ist der Mindestwert
    FileDelete (@ScriptDir & "\db.activity")

    [/autoit] [autoit][/autoit] [autoit]

    EndFunc

    [/autoit]


    Ist aber ungetestet! Hab versucht das ganze so gut wie möglich zusammenzufassen.

    2. Dein Problem mit GuiUpdate sollte sich dadurch auch vereinfachen. Etwa so:

    Spoiler anzeigen
    [autoit]

    Func GuiUpdate ()

    [/autoit] [autoit][/autoit] [autoit]

    If $CB1update = 1
    GUICtrlSetBkColor($Checkbox1, 0x00FF00)
    GUICtrlSetState($Checkbox1, $GUI_CHECKED)
    GUICtrlSetData ($Label1, $CB1user)
    If $CB1user <> $Userdone Then GUICtrlSetState($Checkbox1, $GUI_DISABLE)
    Else
    GUICtrlSetBkColor($Checkbox1, 0xFF0000)
    GUICtrlSetState($Checkbox1, $GUI_UNCHECKED)
    GUICtrlSetData ($Label1, "")
    GUICtrlSetState($Checkbox1, $GUI_ENABLE)
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    EndFunc

    [/autoit]


    So. Teste das erstmal aus. Dann können wir ja noch weiterschauen.

    Gruss Shadowigor

  • TCPListen auf allen Ports

    • Shadowigor
    • 27. Januar 2013 um 20:31

    Genau das habe ich mir gedacht. Bei deiner Anfrage wählt das System einen zufälligen Port und sendet diesen mit. Deine Lampe antwortet dann auf diesem Port. Den Port selber musst du aber nicht wissen. Du kannst einfach das Handle nehmen welches du von TCPConnect erhalten hast und dann per TCPRecv auf diesem Port Daten empfangen. TCP ist nämlich Bidirektional.

  • TCPListen auf allen Ports

    • Shadowigor
    • 27. Januar 2013 um 20:03

    Nun ich bezweifle sehr stark dass sich die Ports ständig ändern, denn dafür ist TCP nicht vorgesehen. Du kannst auch nicht auf alle Ports hören, da das das Konzept von TCP völlig untergraben würde. Ich denke eher, dass DU die Verbindung zum anderen Host erstellen musst, denn die einzige Situation bei der sich Ports zufällig ändern ist der ausgehende Port. Sprich wenn du versuchst zu einem entfernten Host eine Verbindung aufzubauen, wählt dein Betriebsystem einen zufälligen Ausgangs-Port dem du dann deine Antwort sendest. Vielleicht musst du dich auch erst mit einem anderen Port verbinden und dort wird dir dann gesagt auf welchen Port du hören musst. Ist
    aber eher unwahrscheinlich. Es würde auch helfen wenn wir wüssten von welchem Programm du Daten erwartest.

    Gruss Shadowigor

  • Rückgabewert gesucht bei RDP Anmeldungen

    • Shadowigor
    • 25. Januar 2013 um 08:13

    Du könntest beispielsweise mit ControlGetText() versuchen aus einem Label herauszulesen ob es funktioniert hat oder nicht. Die ID des Labels solltest du mit der AU3Info.exe herausfinden können. Vielleicht verhält sich auch der Fenstertitel anders wenn es funktioniert.

    Gruss Shadowigor

  • Funktion StringReplace ist schrecklich langsam

    • Shadowigor
    • 19. Januar 2013 um 15:59

    Du könntest auch mal versuchen die StringReplace Funktion selber zu schreiben und dann die Änderungen direkt an String machen. Du bist aber natürlich 1000mal schneller wenn du eine C-Dll nimmst.

    Gruss Shadowigor

  • Automatischer export import via Autoit für das Programm Lexware Quickbooks

    • Shadowigor
    • 18. Januar 2013 um 19:42

    Ok, jetzt verstehe ich was du willst. Da dieses Programm ja keine Schnittstelle zur Automatisierung hat, musst du das ganze wohl oder übel über simulierte Tastendrücke bewerkstelligen. Da solltest du z.B. mit ControlClick schon sehr weit kommen. Den Pfad zu bestimmen sollte ja nicht so schwierig sein, du musst einen festen Pfad angeben oder einen FileOpenDialog erstellen. Du kannst die Dateien beim Abspeichern natürlich auch durchnummerieren und dann beim importieren immer die neueste nehmen.

  • Wie kommt ihr auf euren Nicknamen?

    • Shadowigor
    • 15. Januar 2013 um 20:32

    Bei diesem Thema muss ich gestehen, dass ich so etwas von überhaupt nicht kreativ bin und mein Nick auch nicht wirklich mein Verdienst ist :S

    Wie lustiger Weise bei fast allen kam die zwanghafte suche nach einem Nick auch bei mir bei einem MMO (scheint die erste Interneterfahrung vieler Kinder zu sein :D ). Ich habe mir dort erst einen völlig zusammengewürfelten Namen à la 'hau auf die Tastatur' gegeben, bin damit aber nie wirklich zufrieden gewesen. Ein Kumpel von mir hat dieses Game dann auch gespielt und dabei meinen jetzigen Namen benutzt. Da er dann aber immer seltener Spielte und schliesslich komplett aufhörte und mir der Name schon immer gefallen hat, abe ich ihn mal aus Einfallslosigkeit bei einem anderen Spiel eingesetzt. Dann noch in einem Forum, dann noch ein Spiel immer so weiter. Und jedes mal wenn mich mich an einem neuen Ort damit angemeldet habe, habe ich gedacht "So, jetzt bist du mal für ein paar Sekunden kreativ und kreirtst dir deinen eigenen Namen!". Wie man sehen kann hat meine Einfallslosigkeit jedoch gesiegt und mittlerweile habe ich mich mit ihr abgefunden :D

    Aber das ganze ist ein interessantes Thema. Bin gespannt ob noch mehr antworten.

    EDIT: Dafür ist mein Profilbild von mir. Da fühl ich mich gleich viel besser :D

  • Automatischer export import via Autoit für das Programm Lexware Quickbooks

    • Shadowigor
    • 14. Januar 2013 um 17:00

    Es wäre hilfreich wenn du dein Problem etwas genauer ausführst. Ausserdem gehört das wohl nicht in "Hilfe & Unterstützung" sondern eher nach "Programmieranfragen", da du ja, wie du selbst sagst, nicht in der Lage bist dir so ein Programm im Groben selber zu schreiben. Es ist aber vor allem wichtig, dass du dein Problem noch etwas präzisierst. Ich verstehs jedenfalls noch nicht ^^

  • InputBox : OnEvent NUR bei Enter

    • Shadowigor
    • 13. Januar 2013 um 03:27

    Sobald du die OnEvent-Funktion für das Input betrittst musst du einfach mittels _IsPressed() abfragen ob Enter gedrückt ist oder nicht. Sollte das nicht der Fall sein, kannst du die Funktion einfach wieder verlassen.

    Gruss Shadowigor

  • Zwei Webcam-Anwendungen

    • Shadowigor
    • 10. Januar 2013 um 11:42

    Ich könnte mir vorstellen, dass es generell nicht funktioniert wenn zwei Programme auf die Webcam zugreifen wollen. Hast du schon mal probiert zwei andere Programme zu starten welche beide auf die Webcam zugreifen?


    Gruss Shadowigor

  • Sprachsteuerung

    • Shadowigor
    • 7. Januar 2013 um 16:59

    Die Theorie der Spracherkennung an sich ist ja auch nicht das Problem. Da sind wir heute schon ziemlich weit. Das Problem ist alleine die implementierung. Wenn du Zeit und Lust hast ist es wahrscheinlich nicht so schwierig das umzusetzten, es ist halt nur verdammt aufwändig. Ich möchte ja gar nicht wissen was in so einem Diktiergerät so alles an Hardware und Software steckt ^^. Bei Siri und Co gebe ich euch recht. Das ist meiner Meinung nach nur ein schlechter Witz. Aber gleich so kompliziert muss es ja wohl nicht werden nehme ich mal an.

  • Sprachsteuerung

    • Shadowigor
    • 7. Januar 2013 um 15:34

    Rein theoretisch ist das schon möglich aber für eine Sprachsteuerung benötigt man schon ziemlich hohe Mathematik und ich schliesse aus deiner Frage nach der Machbarkeit, dass du wahrscheinlich nicht die entsprechenden Kentnisse davon hast (siehe Wikipedia). Du kannst natürlich ein fertiges Programm nehmen und dieses dann in AutoIt verwenden, aber da habe ich gerade keines zur Hand. Findest du aber bestimmt mit Google. Dieses sollte dann schon mit AutoIt ansteuerbar sein.

    Gruss Shadowigor

  • Suche TCP Tutorial

    • Shadowigor
    • 3. Januar 2013 um 12:54

    Das ist zwar nicht so ausführlich, dafür ist der Code sehr gut kommentiert.: http://wiki.autoit.de/wiki/index.php/Tutorial#TCP.2FIP

    Willst du ganz allgemein wissen wie TCP funktioniert, kanst du dir das mal ansehen. Ist aber nicht zwingend nötig dass du das alles verstehst, da fast alles davon von AutoIt übernommen wird: http://www.elektronik-kompendium.de/sites/net/0812271.htm

    Auch ein gutes Tutorial findest du hier (Bitte bringt mich nicht gleich um, wenn ich zur "Konkurenz" verlinke ^^): http://www.elitepvpers.com/forum/coding-t…p-tutorial.html

    Achja:

    Zitat von derBrot

    Dieser Beitrag wurde bereits 97 mal editiert


    ?( WTF?!

    Gruss Shadowigor

  • 2012 --> 2013

    • Shadowigor
    • 3. Januar 2013 um 12:32

    Och da möchte ich dir aber widersprechen. Was hast du denn gegen schattig? ^^

  • txt zusammenfassen

    • Shadowigor
    • 3. Januar 2013 um 12:29

    Ups... mein Fehler :whistling: Und die Includes hab ich auch noch vergessen :pinch: Danke IPU. So langsam sollte ich doch wissen, dass sich immer ein kleiner Fehler einschleicht wenn man das Script nicht testet... ^^

  • txt zusammenfassen

    • Shadowigor
    • 2. Januar 2013 um 00:08

    So?

    Spoiler anzeigen
    [autoit]

    Local $i, $aTemp, $aResult[1]
    Local $aFilenames = [ "1.txt", "2.txt", "3.txt", "4.txt" ] ; usw.
    Local $sResultFile = "Res.txt"

    [/autoit] [autoit][/autoit] [autoit]

    For $i = 0 To UBound($aFilenames) - 1
    _FileReadToArray($aFilenames[$i], $aTemp)
    _ArrayConcatenate($aResult, $aTemp)
    Next

    [/autoit] [autoit][/autoit] [autoit]

    _ArrayDelete($aResult, 0)
    $aResult = _ArrayUnique($aResult)
    _FileWriteFromArray($sResultFile, $aResult, 0, 0, @CRLF)

    [/autoit]


    Gruss Shadowigor

  • 2012 --> 2013

    • Shadowigor
    • 1. Januar 2013 um 16:59

    Frohes neues Jahr auch von mir! Jetzt muss der arme GtaSpider schon wieder das Logo ändern :D

  • Neues Logo

    • Shadowigor
    • 28. Dezember 2012 um 23:47

    Da muss ich mich anschliessen. Ich finde das jetzige Logo super und ich würde es nicht ändern.

    Gruss Shadowigor

  • Array im Array

    • Shadowigor
    • 24. Dezember 2012 um 13:58

    Du musst erst eine Variable von $b[0] erstellen also $c = $b[0]. $c ist dann das gleiche wie $a.

    Gruss Shadowigor

  • QR-Code Dll - Übergabe Errorlevel-Parameter, Aufruf: DestroyBuffer() ?

    • Shadowigor
    • 22. Dezember 2012 um 21:45

    Es scheint sich beim Typ 'QRecLevel' um einen Enum zu handeln. Wie man diesen in AutoIt korrekt übergibt bin ich mir nicht sicher. Aber als 'int' scheint es ja nicht zu funktionieren. Eine andere Möglichkeit fällt mir momentan jedoch auch nicht ein.

    DestroyBuffer muss definitiv ein Buffer übergeben werden. Ich kann mir gut vorstellen, dass AutoIt crasht, wenn man eine Funktion mit falschen Parametern aufrufen will. So wie ich das verstehe, ist diese Funktion aber dazu da, den Buffer von GetPNGW/GetPNGA oder GetHBitmapW/GetHBitmapA zu zerstören. Mir erschliesst sich der Zweck von GenerateBMPW noch nicht ganz, aber diese Funktion scheint ja nichts zurückzugeben oder zu akzeptieren welches zerstört werden müsste.

    Gruss Shadowigor

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™