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

  • Ini Datei Ergebnisse sortieren --- Befehl vorhanden?

    • BugFix
    • 28. Oktober 2009 um 21:22
    Zitat von Aquaplant

    Sozusagen wie eine Highscore.


    Ja was denn nun? Sozusagen ein Highscore oder tatsächlich? :D
    [score]
    peter=12500
    anna=7050

    Oder wie?

  • [BlockInput] Alternativen

    • BugFix
    • 28. Oktober 2009 um 20:52

    Es reicht wirklich, bitte mal auf vernünftigem Niveau bewegen.

    [Topic Closed]

  • Auto R.A.T. 0.12 Beta V4

    • BugFix
    • 28. Oktober 2009 um 20:10
    Zitat von snify

    Das mit svchost.exe hab ich gewählt, um den Prozess nicht mehr findbar zu machen um ihn aus versehen zu schließen.


    Bis auf diese Sache spiegelt dein Statement das wieder, was ich der Source entnommen habe.
    Die Notwendigkeit den Prozeß unauffindbar zu machen sehe ich nicht. Und gerade dieser Punkt stinkt uns gewaltig. Ich kenne keinen Normal-User, der mal eben aus "Versehen" einen Prozeß abschießt. Die meisten wagen sich ja nicht mal den Taskmanager aufzurufen.
    Und den Usern hier im Forum kann man schon soviel Sachverstand zutrauen, dass sie da nicht sinnlos rumfuhrwerken.

    Es mag dir übertrieben vorkommen, aber in sicherheitsrelevanten Themen sind wir sehr feinfühlig. Wie heißt es so schön: Vorsicht ist die Mutter der Porzellankiste.
    Und ich möchte dich bitten, dieses in Zukunft zu berücksichtigen. Wenn du dein Skript diesbezüglich überarbeitest, spricht aus meiner Sicht nichts dagegen, dass du die Source nochmal einstellst. Aber vielleicht möchte ja noch einer meiner Mitmoderatoren oder Administratoren einen Kommentar dazu abgeben.

  • Wert in einem Input mit UpDown-Arrows verändern

    • BugFix
    • 27. Oktober 2009 um 22:40

    Das erste Input dient zur Anzeige deiner Farbwerte.
    Das zweite Input ist nur 1 Pixel breit und innerhalb des ersten positioniert. Wenn UpDown geklickt wird, wird im (nicht sichtbaren) Input der Zahlenwert verändert. Die Werte sind mit GUIctrlSetLimit festgelegt auf 0 bis 9 (unsere Array-Indexe).
    Bei Klick auf UpDown wird der nun geänderte Index aus dem BlindInput gelesen und der Farbwert aus dem Array mit diesem Index in das Input 1 eingetragen. - Ist doch einfach, oder? ;)

  • Wert in einem Input mit UpDown-Arrows verändern

    • BugFix
    • 27. Oktober 2009 um 22:32

    Ich hab mal mit 'nem Blind-Input getrickst ;)

    [autoit]

    Global $aLabel[10] = ['Schwarz','Braun','Rot','Orange','Gelb','Grün','Blau','Violett','Grau','Weiß']

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

    $gui = GUICreate('test')
    $Input = GUICtrlCreateInput("", 40, 120, 97, 21)
    $Input_blind = GUICtrlCreateInput('', 150, 120, 1, 21)
    $Updown1 = GUICtrlCreateUpdown($Input_blind)
    GUICtrlSetLimit(-1, 9, 0)
    GUISetState()

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

    GUICtrlSetData($Input, $aLabel[0])

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

    While 1
    Switch GUIGetMsg()
    Case $Updown1
    GUICtrlSetData($Input, $aLabel[GUICtrlRead($Input_blind)])
    Case -3
    Exit
    EndSwitch
    WEnd

    [/autoit]
  • Wert in einem Input mit UpDown-Arrows verändern

    • BugFix
    • 27. Oktober 2009 um 22:24

    Du kannst nicht in einem Input Text schreiben und dann UpDown verwenden. UpDown verändert den Wert im Input (addieren/subtrahieren), was bei Text halt nicht geht. Darum hatte ich dir das Bsp. mit Input + 2 Button als Up-Button und Down-Button gegeben.

  • Autoit Vortrag

    • BugFix
    • 27. Oktober 2009 um 11:18

    Zusammenarbeit mit Objekten ist vielleicht noch interessant.
    z.B. Excel: Skriptbsp.: Diagramm in Excel

  • @CRLF hinzufügen geht nicht

    • BugFix
    • 27. Oktober 2009 um 09:59

    Löse es so, ist einfacher ;)

    Edit: Hab grad gesehen, du möchtest immer doppelte Leerzeichen haben. Hab das jetzt noch eingefügt und Ausgabe aller Titel der Playlist. Habe zusätzlich das Album mit aufgenommen, da teilweise kein Interpret in der Playlist enthalten ist.

    Spoiler anzeigen
    [autoit]

    $get = ClipGet() ; unbedingte gesamte Seite markieren (Strg+A, Strg+C)!
    $get = StringTrimRight($get, StringLen($get)-StringInStr($get, 'Hilfe | Impressum | Kontakt', 1, -1))
    $aInfo = StringSplit($get, 'Sendezeit:', 1)

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

    Local $aErgebnis[$aInfo[0]-1][3] ; [$i][0]=Titel, [$i][1]=Album, [$i][2]=Interpret
    Local $j = 0, $sWrite = ''
    For $i = 2 To UBound($aInfo) -1
    $ret = StringRegExp($aInfo[$i], 'Titel:?\s+([^\r]+)', 1)
    If Not @error Then $aErgebnis[$j][0] = $ret[0]
    $ret = StringRegExp($aInfo[$i], 'Album:?\s+([^\r]+)', 1)
    If Not @error Then $aErgebnis[$j][1] = $ret[0]
    $ret = StringRegExp($aInfo[$i], 'Interpret:?\s+([^\r]+)', 1)
    If Not @error Then $aErgebnis[$j][2] = $ret[0]
    $sWrite &= $j+1 & @CRLF & _
    StringReplace($aErgebnis[$j][0], ' ', ' ') & @CRLF & _
    StringReplace($aErgebnis[$j][1], ' ', ' ') & @CRLF & _
    StringReplace($aErgebnis[$j][2], ' ', ' ') & @CRLF & @CRLF
    $j += 1
    Next

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

    ConsoleWrite($sWrite & @CRLF) ; oder in Datei schreiben

    [/autoit]
  • Frage zum Scriptaufbau: Daten-Import aus Excel in eine externe Anwendung

    • BugFix
    • 27. Oktober 2009 um 09:33

    Anderer Vorschlag:
    Lies dir mal gründlich die Doku zu der Lohnabrechnungs-SW durch (oder wenn die nichts hergibt, frage mal die SW-Firma) und schau, was für Importfunktionen das Programm selbst bereithält. Was ich bisher an SW in den Fingern hatte, hat immer irgendeine Importmöglichkeit gehabt. Dann brauchtest du deine Exeldaten nur in eine (Lohn-SW)importfähige Datei auslagern. Und das ist mit AutoIt sicher kein Problem.

  • Aus der Haupttanwendung ein weiteres Fenster öffnen, dieses schliessen und zur Hauptanwendung zurückkehren

    • BugFix
    • 27. Oktober 2009 um 09:25

    Hatten wir gerade gestern mal wieder das Thema: [ offen ] Gui switchen.

  • Gui switchen.

    • BugFix
    • 26. Oktober 2009 um 22:58
    Zitat von JoKe1²3

    das du das so in paar minuten hingezaubert hast is echt stark

    :D
    Also ich könnte es auch in ein..zwei Minuten schreiben, aber sowas habe ich als Skriptbeispiel in meiner "Bibliothek" ;)
    Da reicht dann Copy & Paste.

    Zitat von JoKe1²3


    EDIT:\\ koenntest du mir erklären was es mit dem Local & die Aufzählungen der Variablen
    auf sich hat? Also um das unbedingt sein muss?

    Man sollte sich eigentlich von Anfang an daram gewöhnen, alle Variablen zu deklarieren. Und das passiert mit dem Wort Local. Näheres zu den Arten der Deklaration findest du in der Hilfe unter "Local, Global, Dim".

  • Gui switchen.

    • BugFix
    • 26. Oktober 2009 um 22:48

    Mal ein Bsp:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    Local $gui1, $gui2, $gui3, $gui4, $gui5, $btn1_1, $btn1_2, $btn1_3, $btn1_4, $btn2, $btn3, $btn4, $btn5, $msg

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

    $gui1 = GUICreate('GUI 1')
    $btn1_1 = GUICtrlCreateButton('Zeige GUI 2', 10, 20, 100, 20)
    $btn1_2 = GUICtrlCreateButton('Zeige GUI 3', 10, 50, 100, 20)
    $btn1_3 = GUICtrlCreateButton('Zeige GUI 4', 10, 80, 100, 20)
    $btn1_4 = GUICtrlCreateButton('Zeige GUI 5', 10, 110, 100, 20)

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

    $gui2 = GUICreate('GUI 2')
    $btn2 = GUICtrlCreateButton('Button 2', 10, 20, 100, 20)

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

    $gui3 = GUICreate('GUI 3')
    $btn3 = GUICtrlCreateButton('Button 3', 10, 20, 100, 20)

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

    $gui4 = GUICreate('GUI 4')
    $btn4 = GUICtrlCreateButton('Button 4', 10, 20, 100, 20)

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

    $gui5 = GUICreate('GUI 5')
    $btn5 = GUICtrlCreateButton('Button 5', 10, 20, 100, 20)

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

    GUISetState(@SW_SHOW, $gui1)

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

    While 1
    $msg = GUIGetMsg(1)
    Switch $msg[1] ; Window Handle
    Case $gui1
    Switch $msg[0] ; Event
    Case $GUI_EVENT_CLOSE
    ExitLoop
    Case $btn1_1
    GUISetState(@SW_HIDE, $gui1)
    GUISetState(@SW_SHOW, $gui2)
    Case $btn1_2
    GUISetState(@SW_HIDE, $gui1)
    GUISetState(@SW_SHOW, $gui3)
    Case $btn1_3
    GUISetState(@SW_HIDE, $gui1)
    GUISetState(@SW_SHOW, $gui4)
    Case $btn1_4
    GUISetState(@SW_HIDE, $gui1)
    GUISetState(@SW_SHOW, $gui5)
    EndSwitch
    Case $gui2
    Switch $msg[0]
    Case $GUI_EVENT_CLOSE
    GUISetState(@SW_SHOW, $gui1)
    GUISetState(@SW_HIDE, $gui2)
    Case $btn2
    MsgBox(0, '', 'Button 2 geklickt')
    EndSwitch
    Case $gui3
    Switch $msg[0]
    Case $GUI_EVENT_CLOSE
    GUISetState(@SW_SHOW, $gui1)
    GUISetState(@SW_HIDE, $gui3)
    Case $btn3
    MsgBox(0, '', 'Button 3 geklickt')
    EndSwitch
    Case $gui4
    Switch $msg[0]
    Case $GUI_EVENT_CLOSE
    GUISetState(@SW_SHOW, $gui1)
    GUISetState(@SW_HIDE, $gui4)
    Case $btn4
    MsgBox(0, '', 'Button 4 geklickt')
    EndSwitch
    Case $gui5
    Switch $msg[0]
    Case $GUI_EVENT_CLOSE
    GUISetState(@SW_SHOW, $gui1)
    GUISetState(@SW_HIDE, $gui5)
    Case $btn5
    MsgBox(0, '', 'Button 5 geklickt')
    EndSwitch
    EndSwitch
    WEnd

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

    GUIDelete($gui1)
    GUIDelete($gui2)
    GUIDelete($gui3)
    GUIDelete($gui4)
    GUIDelete($gui5)

    [/autoit]
  • VirtuelleKeyboard

    • BugFix
    • 25. Oktober 2009 um 23:01

    Und wenn du statt einzelner Controls Arrays verwendest, sparst du locker 100 Zeilen Code ein. ;)

  • Mehrere Buttons gleichzeitig Abfragen -> SELBE Aktion

    • BugFix
    • 25. Oktober 2009 um 21:21

    Hier ein Bsp.:

    [autoit]

    Local $aButton[25], $x = 10, $y = 20

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

    $gui = GUICreate('test')
    For $i = 0 To UBound($aButton) -1
    $aButton[$i] = GUICtrlCreateButton($i+1, $x, $y, 20, 20)
    $x += 30
    If $i = 12 Then
    $x = 10
    $y += 30
    EndIf
    Next
    GUISetState()

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

    Do
    $msg = GUIGetMsg()
    For $i = 0 To UBound($aButton) -1
    If $aButton[$i] = $msg Then MsgBox(0, 'click', 'Button: ' & ControlGetText($gui, '', $msg))
    Next
    Until $msg = -3

    [/autoit]
  • Mehrere Buttons gleichzeitig Abfragen -> SELBE Aktion

    • BugFix
    • 25. Oktober 2009 um 21:08
    Zitat von PokerFace

    Also das ich nicht für jeden Button ein "Case" schreiben muss


    Wenn es überall dieselbe Funktion auslösen soll:

    [autoit]

    Case $button1,$button2,$button3,....$button25
    ; dein Code

    [/autoit]


    Du solltest aber überlegen, Arrays einzusetzen. Dann kannst du das alles viel komfortabler in Schleifen abwickeln.

  • Hotkeyset gleichzeitig ?

    • BugFix
    • 25. Oktober 2009 um 20:23
    Zitat von Dankeschön

    Aber das muss doch möglich sein, besonders weil ich das glaube ich mal gesehen habe.


    Es geht, aber nicht flexibel. Du kannst es per Keyboard-Hook managen. Aber das ist dann, wie gesagt, eine fixe Angelegenheit.

  • Hotkeyset gleichzeitig ?

    • BugFix
    • 25. Oktober 2009 um 20:11

    1-2-3 ist aber kein Hotkey.
    Von den Standardtasten kannst du in einem Hotkey immer nur eine Taste verwenden. Maximale Länge ergibt sich aus:
    Shift+Strg+Alt+'sonstige_Taste'
    Ich denke, damit lassen sich soviele Kombinationen abbilden, dass 1-2-3 o.ä. nun wirklich nicht nötig ist.

  • Feste GUI Position

    • BugFix
    • 25. Oktober 2009 um 19:40

    Mathematik pur:
    X = Desktopbreite - GUIbreite
    Y = Desktophöhe - GUIhöhe (evtl. noch Taskbarhöhe abziehen, sofern sichtbar _WinApi_GetSystemMetrics )

  • Antrieb auf Lernen verschärfen

    • BugFix
    • 25. Oktober 2009 um 19:35

    Ich kann dir nur raten, erst mal AutoIt zu können. Dann wirst du sehen, dass es sehr viele Analogien zu C++ gibt und dann hast du einen guten Einstieg in die Sprache.
    Motivationshilfe kann dir keiner geben. Ich habe sowas aber noch nie gebraucht. Wenn mich eine Thematik interessiert, dann knie ich mich da rein (schon so manche Nacht durchgemacht vorm PC dadurch).
    Ich beschäftige mich (aber wirklich total nebenher) auch etwas mit C++. Da treibt mich an, dass ich viele meiner UDF-Sammlungen irgendwann mal geschwindigkeitsoptimiert in einer Dll verpacken möchte. Leider fehlt die Zeit, um das intensiv voran zu treiben.
    Also tritt dir selber in den Allerwertesten. :D

  • Problem mit IE.au3

    • BugFix
    • 25. Oktober 2009 um 16:49
    [autoit]

    $ret = _IEFormElementGetObjByName($oIE, 'FormName', -1)
    ConsoleWrite('Es existieren ' & @extended & ' Formen dieses Namens.' & @CRLF)
    ; die einzelnen Elemente können über Index '0' bis '@extended -1' angesprochen werden

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

    ; oder in einer Schleife durchlaufen:
    For $Form In $ret
    ; $Form ist jetzt das temporäre Objekt, das auf das aktuelle Formelement verweist
    Next

    [/autoit]

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™