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

Beiträge von meistertogo

  • Feld zur Tastenauswahl

    • meistertogo
    • 23. Dezember 2013 um 19:10

    Hallo Commander21,

    Du müsstest doch lediglich erfassen, welche Taste gedrückt wird, nachdem der Benutzer die Neubelegung einer bestimmten Taste bzw. Funktion gewünscht hat.
    Dieser Vorgang ist für alle Tasten derselbe.

    Hilfreich sein könnten deshalb:

    [autoit]

    _IsPressed()
    HotKeySet()
    @HotKeyPressed
    GUISetAccelerators()

    [/autoit]
  • Buttons für Tab zusammenfassen

    • meistertogo
    • 26. Oktober 2013 um 14:10

    Wenn Du Deinen Code effizienter gestalten möchtest, solltest Du auf jeden Fall Arrays (s. dazu am besten das Array-Tutorial von BugFix) und Schleifen verwenden (d. h. Du müsstest das GUI dann ohne den Koda-FormDesigner erstellen).

    Das Chat-Fenster würde ich in ein eigenes GUI ausgliedern (u. U. als Child-Fenster, (s. dazu u. a. den letzten Parameter der Funktion

    [autoit]

    GUICreate()

    [/autoit]

    )), da dann die Handhabung verschiedener Styles und Bezüge einfacher ist.

    Außerdem macht in Deinem Fall vielleicht die Verwendung des GUIOnEventModes (

    [autoit]

    Opt("GUIOnEventMode", 1)

    [/autoit]

    ) Sinn.

  • Buttons für Tab zusammenfassen

    • meistertogo
    • 26. Oktober 2013 um 12:03

    Vielleicht hilft Dir die Funktion

    [autoit]

    GUICtrlCreateGroup()

    [/autoit]

    i. V. m. der Funktion

    [autoit]

    #include-once
    #include <GUIConstants.au3>
    GUICtrlSetState($GUI_FOCUS)

    [/autoit]

    bzw.

    [autoit]

    GUICtrlSetState($GUI_NOFOCUS)

    [/autoit]

    .

  • _FileWriteFromArray-Fehler

    • meistertogo
    • 24. Oktober 2013 um 21:19

    Großartige Leistung!

    Die Funktion funktioniert absolut einwandfrei.

    Wirklich große Klasse! Respekt!

  • _FileWriteFromArray-Fehler

    • meistertogo
    • 24. Oktober 2013 um 19:46

    Habe diesen Hilfe-Artikel jetzt schon gefühlte tausendmal rauf- und runtergelesen.
    Werde scheinbar dennoch nicht schlau(er) daraus.

  • _FileWriteFromArray-Fehler

    • meistertogo
    • 24. Oktober 2013 um 19:40

    Ja, dieses Ergebnis tritt bei mir ebenfalls auf.

  • _FileWriteFromArray-Fehler

    • meistertogo
    • 24. Oktober 2013 um 18:42

    Funktioniert jetzt (nach erfolgreicher Aktualisierung auf AutoIt-Version 3.3.8.1) problemlos, die Datei wird korrekt erzeugt.

    Vielen Dank!

    Darauf wäre ich ohne Eure Hilfe vermutlich nicht ohne Weiteres gekommen.

    Nochmals vielen Dank!

  • _FileWriteFromArray-Fehler

    • meistertogo
    • 24. Oktober 2013 um 18:37

    Meine AutoIt-Version werde ich sicherheitshalber aktualisieren.
    Auf das Verzeichnis habe ich vollen Zugriff und alle benötigten Rechte, um Dateien zu erstellen etc.

  • _FileWriteFromArray-Fehler

    • meistertogo
    • 24. Oktober 2013 um 18:33

    Momentan verwende ich (gem. der Hilfedatei) AutoIt-Version "3.3.6.1".

  • _FileWriteFromArray-Fehler

    • meistertogo
    • 24. Oktober 2013 um 18:15
    Zitat von rynow

    Du hast eine Klammer zuviel:

    Jetzt nicht mehr :) .
    War vermutlich beim Testen dazwischengerutscht, dürfte für den Fehler jedoch nicht ausschlaggebend gewesen sein.

  • _FileWriteFromArray-Fehler

    • meistertogo
    • 24. Oktober 2013 um 17:38

    Rynows Beitrag in seiner Urfassung lautete (sinngemäß): "Mit welcher Fehlermeldung bricht er den[n] im Debug ab?"
    Durch Editieren wurde daraus erst:

    Zitat von rynow


    Das heißt, dass deine Array nicht korrekt Dimensioniert ist. Poste doch deinen kompletten Code.


    Wie dem auch sei, ein 2D-Array (z. B.

    [autoit]

    $aArray[10][5]

    [/autoit]

    ) sollte eigentlich geschrieben werden können.
    Ein 3D-Array würde wie folgt aussehen:

    [autoit]

    $aArray[10][5][2]

    [/autoit]

    .

    Hier mein Minimalskript:

    Minimalskript
    [autoit]

    #include-once
    #include <Array.au3>
    #include <File.au3>

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

    Global $aArray[10][5]

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

    For $z = 0 To 4
    For $i = 0 To 9
    $aArray[$i][$z] = Random(0, 10, 1)
    Next
    Next

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

    _ArrayDisplay($aArray)

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

    $sDatei = FileOpen(@ScriptDir&"\ArrayDatei.txt", 2);der Parameter "2" ist nicht von Bedeutung für das Auftreten der Fehlermeldung
    _FileWriteFromArray($sDatei, $aArray);<--
    FileClose($sDatei)

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

    ;Folgendes funktioniert, erzeugt allerdings keine Datei:
    ;_FileWriteFromArray(@ScriptDir, $aArray)

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

    ;Folgendes gibt denselben Error aus:
    ;_FileWriteFromArray(@ScriptDir&"\ArrayDatei.txt", $aArray)

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

    Exit

    [/autoit]
  • _FileWriteFromArray-Fehler

    • meistertogo
    • 24. Oktober 2013 um 17:18

    Habe meinen ersten Beitrag entsprechend überarbeitet.

  • _FileWriteFromArray-Fehler

    • meistertogo
    • 24. Oktober 2013 um 17:05

    Hallo Community,

    mithilfe der Funktion

    [autoit]

    _FileWriteFromArray()

    [/autoit]

    würde ich gerne ein 2D-Array (5 Spalten, 15 Zeilen) in eine Textdatei schreiben.

    Allerdings bricht das Programm mitten in der Funktion ab, sodass ich das

    [autoit]

    @error

    [/autoit]

    -Makro gar nicht mehr abfragen kann.

    Wäre für Rat, Erfahrungen und Hilfe sehr dankbar.

    PS: Die in SciTE angezeigte Abbruchmeldung in der Datei

    [autoit]

    "File.au3"

    [/autoit]

    lautet:

    Code
    ####\AutoIt3\Include\File.au3 (256) : ==> Array variable has incorrect number of subscripts or subscript dimension range exceeded.:
    If FileWrite($hFile, $a_Array[$x] & @CRLF) = 0 Then
    If FileWrite($hFile, ^ ERROR
  • CMD Befehl für Shutdown Script

    • meistertogo
    • 16. Oktober 2013 um 16:44

    Bezüglich der Zeilen 8-28 Deines Spoilers ein kleiner Tipp:
    Verwende die Funktion

    [autoit]

    GUISetFont()

    [/autoit]

    , wenn Du die Schriftart für alle Controls eines GUI festlegen möchtest.

    PS: Einen Countdown kann man auch einfach ohne GUI anzeigen lassen:

    [autoit]


    For $i = 10 To 1 Step -1
    MsgBox(0, "Countdown", "Noch "&$i&" Sekunden bis zum erwarteten Ereignis.", 1)
    Next

    [/autoit]


    Für die Darstellung eines Countdowns innerhalb eines GUI empfehle ich Dir z. B. die Funktionen

    [autoit]

    GUICtrlSetData()

    [/autoit]

    und

    [autoit]

    Sleep()

    [/autoit]

    in Verbindung mit einem Label-Control.

  • 10 Finger vs. SHIFT - A - W- D - SPACE Gamerhaltung

    • meistertogo
    • 11. Oktober 2013 um 14:55

    Ich kann das 10-Finger-System zum Schreiben (insbesondere längerer Texte) am Computer absolut empfehlen, auch wenn es sicherlich eine gewiße Zeit der Einarbeitung bzw. -gewöhnung erfordert.
    Um Geschwindigkeiten von

    Zitat von alpines

    662 Tastenanschläge[n] die Sekunde

    zu erreichen, muss man vermutlich sehr lange üben und über spezielles Highspeed-Equipment verfügen ;-).

    Zur Verwendung im Gaming-Bereich müsste man vermutlich zunächst alle Tasten entsprechend belegen, was ich allerdings für zu umständlich halte, im Vergleich zum daraus resultierenden Nutzen. Wahrscheinlich ist es einfacher, ein (individuelles) Gaming-System und das 10-Finger-System für sonstige Anwendungen zu beherrschen.

  • "Mehrere ComboBox-Controls, selbe Liste?" & "ComboBox: Einzelne Einträge deaktivieren?"

    • meistertogo
    • 9. Oktober 2013 um 19:35

    Danke!

    Genau diese Funktion habe ich gesucht.

    Nochmals vielen Dank!

  • "Mehrere ComboBox-Controls, selbe Liste?" & "ComboBox: Einzelne Einträge deaktivieren?"

    • meistertogo
    • 9. Oktober 2013 um 17:57
    Codebeispiel für die Problematik
    [autoit]

    #include-once
    #include <GUIConstants.au3>

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

    Global $aGUI[4], $aInhalt[3] = ["Inhalt 1", "Inhalt 2", "Inhalt 3"];hier folgen (in $aInhalt) weitere Inhalte

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

    $aGUI[0] = GUICreate("ComboBox-Problematik")
    $aGUI[1] = GUICtrlCreateCombo("Box 1", 5, 5, 75, 25)
    $aGUI[2] = GUICtrlCreateCombo("Box 2", 5, 30, 75, 25)
    ;hier folgen weitere ComboBox-Controls (daher im folgenden allgemeine Schreibweisen)
    GUISetState(@SW_SHOW)

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

    For $i_1 = 1 To 2;s. Kommentar oben
    For $i_2 = 0 To UBound($aInhalt)-1
    GUICtrlSetData($aGUI[$i_1], $aInhalt[$i_2])
    Next
    Next

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

    While 1
    $msg = GUIGetMsg()
    Switch $msg
    Case $aGUI[1] To $aGUI[2];s. Kommentar oben
    _ComboBoxUpdate ()
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    WEnd

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

    Func _ComboBoxUpdate ();diese Funktion soll optimiert werden

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

    EndFunc

    [/autoit]


    Die Problematik innerhalb dieses Beispiels stellt sich wie folgt dar:
    Ist in Control1 Inhalt1 ausgewählt, soll dieser in Control2 nicht mehr zur Auswahl stehen (bis in Control1 ein anderer Inhalt ausgewählt wird); ebenso soll es sich mit Control2 bzw. anderen Inhalten und weiteren Controls verhalten, weshalb ich an einer möglichst allgemeinen Lösung interessiert bin.

  • 2 GUI's und Child

    • meistertogo
    • 9. Oktober 2013 um 17:21

    Die Funktion

    [autoit]

    GUICreate()

    [/autoit]

    bietet die Möglichkeit der Zuweisung eines (bereits erstellten bzw. existierenden) Parent-Fensters im letzten Parameter (s. Hilfe zu dieser Funktion).
    Ob und, wenn ja, inwiefern mit dieser Zuweisung etwaige Sperrungen einhergehen, ist mir nicht bekannt.

  • "Mehrere ComboBox-Controls, selbe Liste?" & "ComboBox: Einzelne Einträge deaktivieren?"

    • meistertogo
    • 9. Oktober 2013 um 16:06

    Hallo Community,

    folgendes Problem wurde bisher scheinbar noch nicht behandelt:

    Mehrere ComboBox-Controls bieten dieselben Einträge (in einem 1-D-Array zu finden) zur Auswahl an.

    Wurde ein Eintrag in einem Control gewählt, soll er in den anderen Controls nicht mehr zur Auswahl stehen.
    Wird ein ausgewählter Eintrag durch eine andere Auswahl ersetzt, soll er wieder in allen Controls zur Auswahl zur Verfügung stehen.

    Meine Fragen daher:

    • Ist es möglich einzelne Einträge einer ComboBox "anzusprechen" (u. U. mit dem Status [autoit]$GUI_DISABLE[/autoit])?
    • Sind einfachere Möglichkeiten (vielleicht mithilfe der in AutoIt vorhandenen ComboBox-UDF-Funktionen) zur Lösung des Problems möglich, als ein Array mit den Inhalten aller Controls zu deklarieren, zu aktualisieren und entsprechend alle Controls vollständig zu updaten (d. h. alte Liste löschen, neue (veränderte) Liste einfügen, alten Default einfügen)?

    Vielen Dank!

  • Wie ein AutoIT-GUI-Fenster umbenennen? GUICreate & GUICtrlSetData

    • meistertogo
    • 13. Juli 2013 um 14:16

    Hallo nomenEtOmen,

    da Deine Frage beantwortet wurde, wäre es nett, wenn Du, durch bearbeiten Deines ersten Beitrags, das Präfix auf "gelöst" setzen würdest.

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™