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

Beiträge von funkey

  • Eben bei Amazon...

    • funkey
    • 25. Januar 2009 um 18:42

    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

  • Happy Birthday Oscar

    • funkey
    • 18. Januar 2009 um 19:42

    Hi Oscar! Ich wünsche dir alles, alles Gute zu deinem heutigen 42. Geburtstag!
    Bleib so hilfsbereit und freundlich wie eh und je!

    [Blockierte Grafik: http://www.ihcuttigen.ch/index/Geburtstag.gif]

  • Mouseclick senden

    • funkey
    • 18. Januar 2009 um 19:34

    Mit ControlSend kannst du Zeichen auch an nicht aktive Fenster schicken.

  • Hotkey Problem

    • funkey
    • 17. Januar 2009 um 18:57

    Wofür brauche ich einen Hotkey, wenn ich das gleiche wieder weitegebe :?:

    Auszug aus der Hilfe zu HotKeySet
    [autoit]

    HotKeySet("{Esc}", "captureEsc")
    Func captureEsc()
    ; ... can do stuff here
    HotKeySet("{Esc}")
    Send("{Esc}")
    HotKeySet("{Esc}", "captureEsc")
    EndFunc

    [/autoit]
  • Gui oder GUICtrlCreateGraphic mit $WS_HSCROLL, aber wie?

    • funkey
    • 17. Januar 2009 um 08:04

    Raupi, du bist der beste! :thumbup:
    Vielen Dank, dass du mir so gut geholfen hast.
    Ich hätte niemals auf eine ChildGui aufgedacht und die GuiScrollbars.au3 kannte ich auch noch nicht.
    Mit diesem Problem hast du gestern bestimmt den ganzen Tag verbracht. Danke, danke!

  • List Items

    • funkey
    • 16. Januar 2009 um 13:12
    [autoit]

    Local $text = ""
    For $i = 0 To _GUICtrlListBox_GetCount($hwnd) -1
    $text = _GUICtrlListBox_GetText($hWnd, $i) & "|"
    Next

    [/autoit][autoit][/autoit][autoit][/autoit]
  • List Items

    • funkey
    • 16. Januar 2009 um 13:04

    Ich glaube nicht, dass jeder Eintrag ein sepparates Handle hat. Reicht dir denn der Name oder der Index des Eintrages nicht aus. Wieso? Code?

  • FileSelectFolder Problem // Scorps MP3-Kopierer v0.94

    • funkey
    • 16. Januar 2009 um 12:49

    Du darfst dir die Variablen nicht immer wieder überschreiben.

    Spoiler anzeigen
    [autoit]

    #AutoIt3Wrapper_Res_Fileversion=0.91
    #RequireAdmin
    #include <GuiConstantsEx.au3>
    #Include <File.au3>
    Dim $SoftwareTitel = "Scorp's Mp3-Kopierer v0.91"
    Dim $Pfad

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

    GuiCreate($SoftwareTitel, 300, 190)
    GuiSetIcon("%SystemRoot%\system32\SHELL32.dll", 41)
    $context = GuiCtrlCreateContextMenu ()
    $contextInfo = GuiCtrlCreateMenuitem ("Informationen",$context)

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

    $Quelle =""
    $Ziel = ""


    GuiCtrlCreateLabel("Aus dem Quellverzeichnis werden zufällig Dateien ausgesucht und ins Zielverzeichnis kopiert.", 10, 10, 300, 40)

    GuiCtrlCreateLabel("Größe:", 10, 53)
    $AllowedSize = GuiCtrlCreateInput("3000", 60, 50, 30, 18)
    GuiCtrlCreateLabel("Mbyte", 93, 53)

    GuiCtrlCreateLabel("Quelle:", 10, 83)
    $Quelle = GUICtrlCreateInput($Quelle, 60, 80, 200)
    $QuelleSuchen = GuiCtrlCreateButton("+", 265, 80, 20, 20)

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

    GuiCtrlCreateLabel("Ziel:", 10, 113)
    $Ziel = GUICtrlCreateInput($Ziel, 60, 110, 200)
    $ZielSuchen = GuiCtrlCreateButton("+", 265, 110, 20, 20)


    $weiter = GuiCtrlCreateButton("Weiter", 200, 150, 65)
    $schliessen = GuiCtrlCreateButton("Schließen", 50, 150, 65)

    $AllowedSize = GUICtrlRead($AllowedSize)

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

    GUISetState()
    While 1
    $msg = GUIGetMsg()
    Select
    case $msg = $QuelleSuchen
    $QuellPfad = FileSelectFolder("Den Quellordner auswählen:", "root dir", 2)
    If $QuellPfad <> '' Then GUICtrlSetData($Quelle, $QuellPfad)
    case $msg = $ZielSuchen
    $ZielPfad = FileSelectFolder("Den Zielordner auswählen:", "root dir", 3)
    If $ZielPfad <> '' Then GUICtrlSetData($Ziel, $ZielPfad)
    Case $msg = $contextInfo
    MsgBox(64, "Informationen", "Der "&$SoftwareTitel&" wurde von Norman Schlorke entwickelt."&@LF&@LF&"Kontakt:"&@LF&"ICQ: 344-167-834"&@LF&"Mail: norman.schlorke@gmx.de")
    Case $msg = $GUI_EVENT_CLOSE Or $msg = $schliessen
    ExitLoop
    Case $msg = $weiter
    If $AllowedSize < 50 Or $AllowedSize > 5000 Then
    MsgBox(48, "Fehler!", "Die Eingabe der Größe in Mbyte war nicht gültig:"&@LF&"Die Eingabe darf nur zwischen 50 und 5000 sein!")
    ExitLoop
    EndIf
    $AllowedSize = $AllowedSize*1024*1024 ;Allowed Size in Byte umrechnen
    GUIDelete()
    GuiCreate($SoftwareTitel, 300, 250)

    $alles = _FileListToArray($Quelle, "*.mp3")
    $Anzahl = Ubound($alles)
    If $Anzahl < 1 Then
    MsgBox(48, "Fehler!", "Es wurden keine MP3-Dateien gefunden!"&@LF&@LF&$SoftwareTitel&" wird geschlossen!")
    ExitLoop
    EndIf
    $Groesse = 0
    $anzahlDateien = 0
    DirRemove($Ziel,1)
    DirCreate($Ziel)
    MsgBox(64, "Dateien werden kopiert", "Dateien werden kopiert..."&@LF&"Das kann ein bisschen dauern.")
    While $Groesse < $AllowedSize ;3758096384
    $Zufall = Random(1,$Anzahl, 1)
    $aktDatei = $Quelle&"\"&$alles[$Zufall]
    $DateiGroesse = FileGetSize($aktDatei)
    If $DateiGroesse > 20971520 Then
    Else
    FileCopy($aktDatei, $Ziel,8)
    $anzahlDateien = $anzahlDateien+1
    $Groesse = $Groesse + $DateiGroesse
    EndIf
    WEnd

    GuiCtrlCreateLabel("Es wurden "&$anzahlDateien&" Dateien zufällig ausgewählt und kopiert.", 10, 123)
    GuiCtrlCreateLabel("Insgesamt wurden "&Round($Groesse/1024/1024, 2)&" Mb kopiert.", 10, 163)
    $schliessen = GuiCtrlCreateButton("Schließen", 50, 215, 65)

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

    GUISetState()
    EndSelect
    WEnd

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

    GUIDelete()

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

    Exit

    [/autoit]
  • Gui oder GUICtrlCreateGraphic mit $WS_HSCROLL, aber wie?

    • funkey
    • 16. Januar 2009 um 12:40

    Irgendwie muss es doch gehen?
    Ich hoffe, dass es soetwas wie beim Beispiel zu _GUICtrlComboBox_SetHorizontalExtent gibt!

  • Gui oder GUICtrlCreateGraphic mit $WS_HSCROLL, aber wie?

    • funkey
    • 16. Januar 2009 um 11:15

    Ich gebe zu dieser Parameter bei der Funktionen _GUITrendCreate ist noch ein Überbleibsel vom Testen. Die anderen Funktionen verwenden allerdings diesen Parameter.
    Aber das hat leider nichts mit meinem Problem zu tun :(
    Ich brauche diese Variable beim richtigen Programm und nicht bei dieser Simulation.

  • spiegel spiel

    • funkey
    • 16. Januar 2009 um 08:49

    Ich hab da bei meinem Fussball-Spiel (siehe Signatur) auch sowas ähnliches eingebaut. Nur teilweise auch etwas mit Random experimentiert, damit das Spiel schwieriger wird ;)

  • Gui oder GUICtrlCreateGraphic mit $WS_HSCROLL, aber wie?

    • funkey
    • 16. Januar 2009 um 08:43

    Hallo, ich hab auch mal wieder eine Frage. Und zwar bastle ich an einer Trendanzeige für die ich einen horizontalen Scrollbalken benötigen würde. Die Frage ist nur wie man dem Scrollbalken sagt was sein 'horizontaler Extend' ist, also wo Anfang und Ende des Scrollbereiches ist.
    Also wenn der Trend am Ende der Gui angelangt ist, dann soll der Trendbereich scrollbar sein.
    Ich hoffe mit folgendem Beispiel versteht ihr mein Anliegen.

    Spoiler anzeigen
    [autoit]

    #include <Array.au3>
    #include <Date.au3>
    #include <GUIConstantsEx.au3>
    #include <StructureConstants.au3>
    #include <WinAPI.au3>
    #include <WindowsConstants.au3>
    #Include <File.au3>

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

    Opt("GUIOnEventMode", 1)

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

    Global $aWerte[1], $Run = 1
    Global $title = 'Trend-Test'
    Global $iWidth = 800, $iHeight = 500
    Global $tRECT = DllStructCreate($tagRECT)

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

    $aWerte[0] = _Now()
    #Region Simulation
    For $i = 1 To 790
    _ArrayInsert($aWerte, UBound($aWerte), Random(300, 350))
    Next
    #Endregion Simulation

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

    $gui = GUICreate("Trend-Simulation by funkey", $iWidth, $iHeight, -1, -1, BitOR($GUI_SS_DEFAULT_GUI ,$WS_HSCROLL)) ;funktioniert nicht so wie ich will
    GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")

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

    $Trend = _GUITrendCreate($aWerte, 0, 0, $iWidth *2, $iHeight)
    _GUITrendInitialize($aWerte, $Trend, $iHeight)

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

    GUISetState()

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

    AdlibEnable("_Simulation", 500)

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

    While 1
    Sleep(5000)
    WEnd

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

    Func _GUITrendCreate($aDaten, $iPosx, $iPosy, $iWidth, $iHeight, $Color = '0xFF0000')
    Local $TrendID
    $TrendID = GUICtrlCreateGraphic($iPosx, $iPosy, $iWidth, $iHeight);, $WS_HSCROLL) ;funktioniert nicht so wie ich will
    GUICtrlSetBkColor($TrendID, 0xffffff)
    GUICtrlSetGraphic($TrendID, $GUI_GR_COLOR, $Color)
    Return $TrendID
    EndFunc

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

    Func _GUITrendInitialize($aDaten, $TrendID, $iHeight)
    GUICtrlSetGraphic($TrendID, $GUI_GR_MOVE, 0, $iHeight - $aDaten[1])
    For $i = 0 To UBound($aDaten) - 2
    GUICtrlSetGraphic($TrendID, $GUI_GR_LINE, $i, $iHeight - $aDaten[$i+1])
    GUICtrlSetGraphic($TrendID, $GUI_GR_MOVE, $i, $iHeight - $aDaten[$i+1])
    Next
    EndFunc

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

    Func _GUITrendUpdate($aDaten, $TrendID, $iHeight)
    GUICtrlSetGraphic($TrendID, $GUI_GR_LINE, UBound($aWerte) -1, $iHeight - $aWerte[UBound($aWerte)-1])
    GUICtrlSetGraphic($TrendID, $GUI_GR_MOVE, UBound($aWerte) -1, $iHeight - $aWerte[UBound($aWerte)-1])
    DllStructSetData($tRECT, 1, UBound($aWerte) -2)
    DllStructSetData($tRECT, 2, 0)
    DllStructSetData($tRECT, 3, UBound($aWerte) -1)
    DllStructSetData($tRECT, 4, $iHeight)
    _WinAPI_RedrawWindow($gui, $tRECT)
    EndFunc

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

    Func _Exit()
    Local $Zeit = StringReplace(_Now(), ':', '_')
    If Not FileExists(@ScriptDir & '\logfiles\') Then DirCreate(@ScriptDir & '\logfiles\')
    _FileWriteFromArray(@ScriptDir & '\logfiles\Daten_'&$Zeit&'.log', $aWerte)
    Exit
    EndFunc

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

    Func _Simulation()
    _ArrayInsert($aWerte, UBound($aWerte), Random(300, 350))
    _GUITrendUpdate($aWerte, $Trend, $iHeight)
    EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit]
  • String auslesen und prüfen ob ein Punkt enthalten ist

    • funkey
    • 16. Januar 2009 um 07:59

    ?(

    [autoit]

    StringInStr

    [/autoit]

    ?(

  • CD-ROM Laufwerk selbst auswerfen

    • funkey
    • 16. Januar 2009 um 07:49

    Kurz mal ein Beispiel:

    Spoiler anzeigen
    [autoit]

    $Drive = 'X:'
    $Datei = 'autorun.exe'

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

    CDTray($Drive, 'open')
    MsgBox(0, "", "Bitte die nächste CD einlegen und dann OK drücken")
    CDTray($Drive, 'closed')
    Do
    Sleep(50)
    $Bereit = DriveStatus($Drive)
    Until $Bereit = 'READY'
    If Not FileExists($Drive&'\'&$Datei) Then
    CDTray($Drive, 'open')
    MsgBox(0, "", "Bitte die richtige CD einlegen!")
    Else
    install()
    EndIf

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

    Func install()
    MsgBox(0, "", "Das Programm wurde erfolgreich installiert!")
    EndFunc

    [/autoit]
  • ControlSend geht nicht richtig

    • funkey
    • 15. Januar 2009 um 12:32

    Das kann ich kaum glauben, dass die _SendMessage-Methode nicht funktioniert :!::?: Zeig mal wie du es gemacht hast.

    Spiel mal mit diesen Parametern:

    [autoit]

    Opt("SendKeyDelay", 5) ;5 milliseconds
    Opt("SendKeyDownDelay", 1) ;1 millisecond

    [/autoit]
  • ControlSend geht nicht richtig

    • funkey
    • 15. Januar 2009 um 12:19

    Hm. Dann könntest du noch mit _SendMessage probieren

    Beispiel _SendMessage
    [autoit]

    #include <SendMessage.au3>
    #include <WindowsConstants.au3>

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

    $pid = Run("notepad")
    WinWait("[CLASS:Notepad]")
    WinActivate("[CLASS:Notepad]")
    $controlhwnd = ControlGetHandle("[CLASS:Notepad]","","[CLASS:Edit]")

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

    $aString = StringSplit('Bla_1_WW_Blupp', '', 2)
    For $i = 0 To UBound($aString) -1
    _SendMessage($controlhwnd, $WM_CHAR, Binary($aString[$i]))
    Next

    [/autoit]
  • ControlSend geht nicht richtig

    • funkey
    • 15. Januar 2009 um 11:33

    Wenn ControlSetText nicht funktioniert wird's schwierig.

    Probier mal jeden Buchstaben einzeln zu senden:

    [autoit]

    $aString = StringSplit('Bla_1_WW_Blupp', '', 2)
    For $i = 0 To UBound($aString) -1
    ControlSend($handle, "", "", $aString[$i])
    Next

    [/autoit]
  • AktionsKeys[HotKeySet] blokieren Eingabe dieser

    • funkey
    • 15. Januar 2009 um 11:19
    Mini-Beispiel
    [autoit]

    #include <GUIConstantsEx.au3>
    HotKeySet('a', '_MsgBox')

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

    GUICreate('Bla')
    GUISetState()

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

    While 1
    $msg = GUIGetMsg()
    If $msg = $GUI_EVENT_CLOSE Then ExitLoop
    Sleep(20)
    WEnd

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

    Func _MsgBox()
    If BitAND(WinGetState('Bla'),8) Then MsgBox(0, "Hallo", "Du hast a gedrückt")
    EndFunc

    [/autoit]
  • AktionsKeys[HotKeySet] blokieren Eingabe dieser

    • funkey
    • 15. Januar 2009 um 10:48

    Hast du dir schon mal die Hilfe zu HotkeySet angeschaut?


    [autoit]

    ; capture and pass along a keypress
    HotKeySet("{Esc}", "captureEsc")
    Func captureEsc()
    ; ... can do stuff here
    HotKeySet("{Esc}")
    Send("{Esc}")
    HotKeySet("{Esc}", "captureEsc")
    EndFunc

    [/autoit]
  • Fenster schließen ?

    • funkey
    • 15. Januar 2009 um 10:31
    Zitat von L3viathan2142

    Das ist auch Schwachsinn...

    WinWait wartet bis das Fenster vorhanden ist, oder bis das Timeout erreicht wurde. In meinem Beispiel 3 Sekunden!
    Also wenn das Fenster nicht immer erscheint, dann macht das Skript nach 3 Sekunden weiter.
    Ich habe es so gemacht, da Dino ja auch das Fenster mit WinExists prüft, da diese Prüfung aber nur einmalig stattfindet, ist hier ein WinWait mit Timeout besser.
    Aber wie ich ja schon gesagt habe:

    Zitat von funkey

    Wenn das Fenster immer angezeigt wird (so wird es sein ) ....

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™