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

Beiträge von BugFix

  • Array löschen

    • BugFix
    • 10. August 2008 um 19:39

    Du hast dich etwas unklar ausgedrückt: Du möchtest das Array NICHT LÖSCHEN, sondern KOMPLETT LEEREN. Das ist ein gravierender Unterschied.
    Mit $array = 0 wird die Variable als Array gelöscht und ist nur noch eine 'normale' Variable mit Inhalt '0'.
    Wenn du das Array leeren möchtest, um es hinterher wieder zu nutzen kannst du mit ReDim arbeiten. Aber dann bleibt der Eintrag in Array[0] erhalten und du mußt separat löschen.
    Besser:

    [autoit]

    Global $arBase[1] ; Array ohne Inhalt
    Global $DeinArray[500]
    ; statt zu löschen kannst du jetzt deiner Array-Variable das Leer-Array zuweisen:
    $DeinArray = $arBase
    ; nun ist $DeinArray wieder ein Array mit einem Element ohne Inhalt

    [/autoit]
  • Position im Script wieder finden

    • BugFix
    • 10. August 2008 um 17:40
    Zitat von firewalldevil

    dachte in der Schleife wird alles wiederholt, so müsste nachen dem Sleep doch wieder der Maus Befehl kommen ... , oder?


    Nein, nur per Hotkey wird die Prüfvariable $bSleep auf True gesetzt und somit kann der If-Zweig abgearbeitet werden. Macht ja auch wenig Sinn immer auf derselben Stelle zu klicken.
    Aber vllt. würde es helfen, wenn du mal verrätst, was du machen willst.

  • Array löschen

    • BugFix
    • 10. August 2008 um 14:56

    $array = 0 (z.B.)

  • 2 Combos

    • BugFix
    • 10. August 2008 um 14:49

    Ich glaube, ich verstehe. Du suchst sowas:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    #include<GuiComboBox.au3>
    Opt("GUIOnEventMode", 1)
    Global $content[8] = [1,2,3,4,5,6,7,8]

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

    $Form1 = GUICreate("Form1", 619, 179, 193, 115)
    GUISetOnEvent($GUI_EVENT_CLOSE, "Form1Close")
    $Combo1 = GUICtrlCreateCombo("", 40, 24, 241, 25)
    GUICtrlSetOnEvent(-1, "Combo1Change")
    $Combo2 = GUICtrlCreateCombo("", 328, 24, 241, 25)
    GUICtrlSetOnEvent(-1, "Combo2Change")
    $hCombo1 = GUICtrlGetHandle($Combo1)
    $hCombo2 = GUICtrlGetHandle($Combo2)
    GUISetState(@SW_SHOW)

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

    For $i = 0 To UBound($content) -1
    _GUICtrlComboBox_AddString($hCombo1, 'Eintrag ' & $content[$i])
    Next
    _GUICtrlComboBox_SetCurSel($hCombo1, 0)

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

    While 1
    Sleep(100)
    WEnd

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

    Func Combo1Change()
    _GUICtrlComboBox_ResetContent($hCombo2)
    For $i = 0 To $content[_GUICtrlComboBox_GetCurSel($hCombo1)] -1
    _GUICtrlComboBox_AddString($hCombo2, 'Eintrag ' & $content[$i])
    Next
    _GUICtrlComboBox_SetCurSel($hCombo2, 0)
    EndFunc
    Func Combo2Change()

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

    EndFunc
    Func Form1Close()
    Exit
    EndFunc

    [/autoit]
  • 2 Combos

    • BugFix
    • 10. August 2008 um 14:23
    Zitat von Frayzer

    jedoch kann ich die zahlen 2-7 immernoch auswählen.


    Mir ist nicht ganz klar, was du überhaupt willst.
    Schreib mal strukturiert auf:
    - Ist-Zustand
    - Aktion(en)
    - Soll-Zustand

  • 2 Combos

    • BugFix
    • 10. August 2008 um 13:29

    Wie wär's mit etwas Code? :whistling:

  • Position im Script wieder finden

    • BugFix
    • 10. August 2008 um 13:25

    Verwende eine Schleife in der alles abläuft, verändere mit den Hotkeys nur Variablen, deren Wert dann in der Schleife ständig geprüft wird und entsprechend reagiert wird.
    Hier mal als Bsp. für verschiedene Sleepzeiten, bei Ausführen des Hotkeys wird die Sleep-zeit festgelegt und eine Boolsche Variable für die Überprüfung, ob ein Sleep ausgeführt werden soll, auf True gesetzt. Analaog kannst du alle anderen Dinge so integrieren.

    Spoiler anzeigen
    [autoit]

    HotKeySet("{ESC}", "Terminate")
    HotKeySet("+!2", "Sleep2")
    HotKeySet("+!5", "Sleep5")
    HotKeySet("+!1", "Sleep10")

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

    Global $iSleep, $bSleep = False

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

    While True
    If $bSleep Then
    Sleep($iSleep)
    $bSleep = False
    EndIf
    Sleep(10) ; wegen Prozessorlast
    WEnd

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

    Func Terminate()
    Exit
    EndFunc

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

    Func Sleep2()
    $iSleep = 2000
    $bSleep = True
    EndFunc

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

    Func Sleep5()
    $iSleep = 5000
    $bSleep = True
    EndFunc

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

    Func Sleep10()
    $iSleep = 10000
    $bSleep = True
    EndFunc

    [/autoit]
  • Position im Script wieder finden

    • BugFix
    • 10. August 2008 um 11:19

    Also mehrere Punkte:
    - Warum werden in deinen Funktionen immer Endlosschleifen ausgeführt ??
    - Wenn du Variablen innerhalb von Funktionen mit Werten bestückst (z.B. Lesen INI) um sie dann außerhalb dieser Funktion zu verwenden, mußt du diese Variablen als Global deklarieren! (Sonst sind sie nicht verfügbar außerhalb der Funktion)
    - Bei der Verwendung von Endlosschleifen brauchst du nicht: While 1 = 1 schreiben, es reicht: While 1, oder besser: While True.

    Zum Anderen solltest du mal checken, ob du nicht mit ControlCommand(), ControlSend().. arbeiten kannst. Mausklickerei sollte wirklich nur dann verwendet werden, wenn kein anderer Weg zum Ziel führt.

  • ConsoleWrite Ausgabestream "einfangen"

    • BugFix
    • 10. August 2008 um 11:00

    Schau dir mal StdoutRead() an.

  • Probleme beim Submit eines Buttons

    • BugFix
    • 10. August 2008 um 10:23
    Zitat von arnold2601

    sry will nicht bei dem Game gesperrt werden!


    Und warum versuchst du dann überhaupt zu manipulieren?
    Wenn du hier Fragen einstellst, kannst du die nicht mal eben wieder löschen. Wer jetzt die Posts liest kann das Problem gar nicht nachvollziehen (die Sinnhaftigkeit dieses Tuns mal ganz außen vor gestellt).

  • mehrere einträge selektieren in listbox (mit hilfe der Control taste)

    • BugFix
    • 10. August 2008 um 10:11

    Probier mal:

    [autoit]

    Send("{CTRLDOWN}")
    MouseClick("left", $x, $y) ; mit Position des zu markierenden Eintrags
    ; MouseClick("left", $x, $y) ; für jeden weiteren zu markierenden Eintrag
    Send("{CTRLUP}")

    [/autoit]
  • Problem mit Schriftgröße

    • BugFix
    • 9. August 2008 um 23:58

    Hab nicht probiert ob Schriftgradanpassung ohne Neustart geht:
    Packe ein Skript in den Autostart des "Remote-Users", sodass nach dem Start der Schriftgrad angepaßt wird.
    Und bevor du abmeldest/herunterfährst startest du ein Skript, dass das wieder zurücksetzt.

  • µit - August

    • BugFix
    • 9. August 2008 um 07:41

    Bin mal neugierig, was ihr so zusammenbekommt. ;)
    Diesmal bin ich nicht dabei, habe nicht mal mp3-Files auf meinem PC mit denen ich sowas testen könnte. :D
    Also Viel Spaß euch allen.

  • Array Error

    • BugFix
    • 8. August 2008 um 17:40

    Wenn dein String immer so aussieht: "[abc] [def] [ghi]" usw. dann gehts auch so:

    [autoit]

    #include<array.au3>
    $str = "[katze] [huhu] [hallo]"
    $aItem = StringSplit(StringTrimLeft(StringTrimRight($str, 1), 1), '] [', 1 )
    _ArrayDisplay($aItem)

    [/autoit]
  • Partitionierungstool gesucht

    • BugFix
    • 8. August 2008 um 17:15
    Zitat von franzp

    ich kenn das unter den Namen gparted.

    Jo, das kenn ich auch :D - ich habe einen Buchstaben verschluckt, meinte "qtparted". ;)
    Ich glaube, auf den aktuellen CDs ist überall "gparted".

  • Partitionierungstool gesucht

    • BugFix
    • 8. August 2008 um 13:06

    Kostenlose Alternative, die du auch auf DOS/Windows anwenden kannst: qparted - wohl auf jeder Linux-LiveCD vorhanden. Da Partitionierungsaufgaben ja nicht jeden Tag anstehen, reicht es doch aus zu diesem Zweck von der CD zu starten.

  • Sprache wechseln

    • BugFix
    • 6. August 2008 um 23:11

    Für eine komplexe Mehrsprachigkeit empfiehlt es sich, für alle verwendeten Label, Texte, Messages etc. Einträge in einer INI-Datei zu erstellen. Die Sprachwahl kann zum Einen manuell durch den User ausgeführt werden oder zum Anderen unter Nutzung des Makros @OSLang automatisiert werden.

  • Tastendrücke protokollieren für Bildschirmexperiment

    • BugFix
    • 6. August 2008 um 11:52

    Wäre da nicht die einfachste Lösung, die Dokumente in einem Listview zur Auswahl anzubieten und per Doppelklick von dort zu öffnen? Da kannst du dann einen Zeitstempel setzen. Damit alles in einer Ebene bleibt, kannst du die Dokumente ja in einem Embedded-Browser öffnen, also nur deine selbst gestaltete Oberfläche verwenden. Dann hast du optimale Übersicht.

  • per zufall 1 von 10 variablen anzeigen

    • BugFix
    • 6. August 2008 um 11:42
    Zitat von Masterfreak0815

    die hat ein kolege gemacht ich schreibe ihm nur das program dazu

    Das ist aber wenig sinnvoll. Da die INI programmrelevanten Inhalt hat, kann auch nur der sie erstellen, der die Inhalte im Programm verarbeitet.
    Aber du kannst natürlich auch so vorgehen:

    [autoit]

    Global $arWorte[10]
    For $i = 1 To 10
    $arWorte[$i -1] = FileReadLine("Config.ini",$i)
    Next

    [/autoit]


    Dann hast du den Inhalt der INI im Array und kannst nun per Random ein Element wählen.

  • AutoInstallation - Änderung des Textfeldes

    • BugFix
    • 6. August 2008 um 11:37

    Schau dir mal: ControlSetText() an.

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™