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

Beiträge von Schnuffel

  • Minutenzähler

    • Schnuffel
    • 20. Juni 2009 um 23:21

    ich fürchte nein, aber Du kannst mein kleines Script verwenden.

    Spoiler anzeigen
    [autoit]

    $begin = TimerInit()
    sleep(3000)
    $dif = TimerDiff($begin)
    MsgBox(0,"Time Difference",_MinToTime(Floor($dif/60000)))

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

    ; #INDEX# =======================================================================================================================
    ; Title .........: TimeMin
    ; AutoIt Version: 3.2.3++
    ; Language: English
    ; Description: Functions that assist with Time calculation.
    ; ===============================================================================================================================
    ; ------------------------------------------------------------------------------
    ;
    ; AutoIt Version: 3.0
    ; Language: English
    ; Description: Functions that assist with Time management.
    ;
    ; ------------------------------------------------------------------------------

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

    ; #FUNCTION# ====================================================================================================================
    ; Name...........: _TimetoMin()
    ; Description ...: Change the format from Time to Minutes like: 08:45 --> +525
    ; Syntax.........: _TimetoMin($msg)
    ; Parameters ....: $msg - Time to convert, format: "(+/-)05:04"
    ; Return values .: Success - Time in minutes with "+/-digits"
    ; Failure: @error - 1 = Function called with wrong Parameter (not in format (+/-)hh:mm)
    ; Author ........: Oliver Zimmermann <o_z at gmx dot net>
    ; Modified.......:
    ; Remarks .......: If called with prefix then the function returns incl. prefix (+/-), otherwise without prefix
    ; Related .......: _MintoTime()
    ; Link ..........;
    ; Example .......; No
    ; ===============================================================================================================================
    Func _TimetoMin($msg)
    Local $vz, $Mins1, $Mins2, $sumtoMin
    If StringLeft($msg,1)="+" Then
    $msg=StringTrimLeft($msg,1)
    ElseIf StringLeft($msg,1)="-" Then
    $vz="-"
    $msg=StringTrimLeft($msg,1)
    EndIf
    $msg=StringSplit($msg,":")
    If @error=1 Then
    setError(1)
    Return 0
    EndIf
    If StringIsDigit($msg[1])=0 Or StringIsDigit($msg[2])=0 Or $msg[2]>59 Then
    setError(1)
    Return 0
    EndIf
    $msg[1]=$msg[1]*60
    $sumtoMin=$msg[1]+$msg[2]
    If $vz="" Then $vz="+"
    $msg=0
    setError(0)
    Return($vz&$sumtoMin)
    EndFunc

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

    ; #FUNCTION# ====================================================================================================================
    ; Name...........: _MintoTime()
    ; Description ...: Change the format from minutes to Time format like: 08:45 --> +525
    ; Syntax.........: _MintoTime($msg)
    ; Parameters ....: $msg - Minutes to convert, format: "+/-digits"
    ; Return values .: Success - Time in format "+/-hh:mm"
    ; Failure: @error - 1 = Function called with wrong Parameter (not in format (+/-)digits)
    ; Author ........: Oliver Zimmermann <o_z at gmx dot net>
    ; Modified.......:
    ; Remarks .......: If called with prefix then the function returns incl. prefix (+/-), otherwise without prefix
    ; Related .......: _TimetoMin()
    ; Link ..........;
    ; Example .......; No
    ; ===============================================================================================================================
    Func _MintoTime($msg)
    Local $Hours, $Mins, $vz
    If StringLeft($msg,1)="+" Then
    $msg=StringTrimLeft($msg,1)
    $vz=""
    ElseIf StringLeft($msg,1)="-" Then
    $vz="-"
    $msg=StringTrimLeft($msg,1)
    EndIf
    If StringIsDigit($msg)=0 Then
    SetError(1)
    Return(0)
    EndIf
    $Hours=StringSplit($msg/60,".")
    $Mins=$msg-($Hours[1]*60)
    If $Mins<10 Then $Mins="0"&$Mins
    If $Hours[1]<10 Then $Hours[1]="0"&$Hours[1]
    $msg=0
    setError(0)
    Return ($vz&$Hours[1]&":"&$Mins)
    EndFunc

    [/autoit]
  • Vertikaler Slider maximaler Wert oben & minimaler unten

    • Schnuffel
    • 20. Juni 2009 um 23:02

    oder aber hier ein Beispiel aus dem engl. Forum:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEX.au3>
    #include <WindowsConstants.au3>
    #include <SliderConstants.au3>

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

    ;Global Const $WM_HSCROLL = 0x0114
    ;Global Const $WM_VSCROLL = 0x0115

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

    $Gui = GuiCreate("Slider Update Demo", 250, 200)

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

    GUIRegisterMsg($WM_HSCROLL, "WM_HVSCROLL")
    GUIRegisterMsg($WM_VSCROLL, "WM_HVSCROLL")

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

    $Vertical_Label = GUICtrlCreateLabel("Vertical Slider Read: 0", 20, 20, 200)
    $Horizontal_Label = GUICtrlCreateLabel("Horizontal Slider Read: 0", 80, 120, 200)

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

    $Vertical_Slider = GUICtrlCreateSlider(20, 50, 30, 120,BitOr($GUI_SS_DEFAULT_SLIDER, $TBS_VERT))
    GUICtrlSetData($Vertical_Slider,100)
    $Horizontal_Slider = GUICtrlCreateSlider(60, 150, 160, 30)

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

    GUISetState()

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

    While 1
    $Msg = GUIGetMsg()
    Switch $Msg
    Case -3
    Exit
    EndSwitch
    WEnd

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

    Func WM_HVSCROLL($hWndGUI, $MsgID, $WParam, $LParam)
    Switch $LParam
    Case GUICtrlGetHandle($Vertical_Slider)
    $Vertical_val=100-GUICtrlRead($Vertical_Slider)
    ConsoleWrite($Vertical_val&@LF)
    GUICtrlSetData($Vertical_Label, "Vertical Slider Read: " & $Vertical_val)

    Case GUICtrlGetHandle($Horizontal_Slider)
    GUICtrlSetData($Horizontal_Label, "Horizontal Slider Read: " & GUICtrlRead($Horizontal_Slider))

    EndSwitch
    EndFunc

    [/autoit]
  • Vertikaler Slider maximaler Wert oben & minimaler unten

    • Schnuffel
    • 20. Juni 2009 um 22:59

    Ansonsten seh Dir mal die Funktion:
    _GUICtrlSlider_Create
    an, da gibt es mehr Optionen...

  • Func in Func

    • Schnuffel
    • 20. Juni 2009 um 21:38
    Zitat

    die dann nur von der 1. äußeren Funktion nutzbar ist?

    ich verstehe dein Problem auch nicht...
    mach das doch einfach so:

    Spoiler anzeigen
    [autoit]

    func main_1()
    while 1
    if irgendetwas then
    sub_main_1()
    endif
    sleep(1)
    wend
    endfunc

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

    func sub_main_1()
    ;die soll dann nur von der sub_main_1 angesprochen werden
    endfunc

    [/autoit]
  • Für alle Mathematiker und Knobler in diesem forum! Los Einsteins macht euch ans Werk die Autoit Welt benötigt eine neue Wahrscheinlichkeits theorie xd

    • Schnuffel
    • 19. Juni 2009 um 22:14

    @10UR
    wenn Du Dein Programm mit der selben Kreativität schreiben würdest,
    wie Du Thread's erstellst, dann müsstest Du für Dein Prog den Nobelpreis bekommen. :D
    Der Titel ist auf jeden Fall echt gut gewählt.

    Aber:
    Setzt Dich Dein Papa wegen Deinem "Vesprechen" schon so unter Druck ...
    Wieso fängst Du nicht einfach an. Dir wird dann schon geholfen.

  • Zeichen pro Zeile auslesen

    • Schnuffel
    • 16. Juni 2009 um 22:02

    schau mal in der Hilfe unter StringLen ;)

    Edit: uuuppssss, zu langsam

  • Capslock Status abfragen

    • Schnuffel
    • 15. Juni 2009 um 21:34

    ein Hoch auf Gary Frost...
    hier ist der Link

  • Interne Festplatten und Partitionen ermitteln

    • Schnuffel
    • 10. Juni 2009 um 20:31

    Vielleicht kannst Du Dir mit Hilfe von DevCon von MS noch was zaubern...
    Die für Dich interessante Classe dürfte DiskDrive sein.

    Link

  • Frequenz von 50 - 19000 Hz erstellen

    • Schnuffel
    • 10. Juni 2009 um 16:51

    Meinst Du das Dein Ton mit 50Hz beginnen und mit 19000 Hz enden soll und das innerhalb von 20 sec.?
    Das nennt man Pitchen.

    Ob Audacity das kann weiß ich aber nicht
    Edit:
    Hab ich gerade bei Google gefunden: Link

  • Msg mit Grafik ausgeben

    • Schnuffel
    • 10. Juni 2009 um 12:37

    Andernfalls musst Du den korrekten Pad zu Deiner Datei halt mit angeben bei FileInstall.
    Das geht auch.
    z.B. FileInstall("C:\Smiley.jpg",@TempDir&"\")

    PS eine Liste aller verwendbaren Makros gibt es in der Hilfe und Online: Link

  • Msg mit Grafik ausgeben

    • Schnuffel
    • 10. Juni 2009 um 11:57

    also, die Grafik Smiley.jpg liegt laut meiner Annahme FileInstall("Smiley.jpg",@TempDir&"\")
    im selben Verzeichnis wie Dein Script.
    Beim Compilieren wird die Datei in die exe eingebunden und muß nirgendwo mehr liegen.
    Wenn Du dann Dein Programm startest wird die Datei in das angegebene Verzeichnis entpackt.
    In meinem Beispiel @TempDir

    Wenn Du Dein Script nur zum Testen aufrufst, wird die Datei einfach kopiert in das angegeben Verzeichnis.
    D.h. solange Du mit deiner au3-Datei experimentierst sollte die Datei auch weiterhin in dem selben Verzeichnis liegen.

  • GUI - 2 Fragen

    • Schnuffel
    • 10. Juni 2009 um 11:23

    Hallo AutiIT-Leihe.

    Du mußt für Deine Frage nicht gleich 2 Threads aufmachen.
    Bisher hat noch jeder auf seine Frage eine brauchbare Antwort bekommen.
    Auch wenn er nur einen Thread aufgemacht hat.
    Manchmal brauchen die Dinge eben etwas Zeit. ;)

  • Msg mit Grafik ausgeben

    • Schnuffel
    • 10. Juni 2009 um 11:22

    Hallo AutoIT-Leihe,

    ich würde das so machen.
    Mit FileInstall bindest Du das Bild in die exe.
    Beim Starten wird das Bild in das temp-Verzeichnis entpackt und aufgerufen.

    Spoiler anzeigen
    [autoit]

    #include <GuiConstantsEx.au3>
    FileInstall("Smiley.jpg",@TempDir&"\")
    ; GUI
    GuiCreate("Achtung, Wichtige Information!!!", 320, 320)
    GuiSetIcon(@SystemDir & "\mspaint.exe", 0)

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

    ; CONTEXT MENU
    $contextMenu = GuiCtrlCreateContextMenu()
    GuiCtrlCreateMenuItem("Context Menu", $contextMenu)
    GuiCtrlCreateMenuItem("", $contextMenu) ;separator
    GuiCtrlCreateMenuItem("&Properties", $contextMenu)

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

    ; PIC
    GuiCtrlCreatePic(@TempDir&"\Smiley.jpg",20,20, 100,100)
    GuiCtrlCreateLabel(" ", 75, 1, 53, 15)
    GuiCtrlSetColor(-1,0xffffff)

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

    ; BUTTON
    $button = GuiCtrlCreateButton("OK", 110, 230, 100, 30)

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

    ; GUI MESSAGE LOOP
    GuiSetState()
    While 1
    $msg = GuiGetMsg()
    Switch $msg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $button
    Exit
    EndSwitch
    WEnd

    [/autoit]
  • StringTrimRight löscht alle Zeichen, statt nur 1

    • Schnuffel
    • 4. Juni 2009 um 20:57

    ersetze mit:

    Spoiler anzeigen
    [autoit]

    Func _delete() ;<--- löscht alles, soll bloß letztes Zeichen entfernen!!!
    GUICtrlSetData($rechenfeld, StringTrimRight(GUICtrlRead($rechenfeld), 1))
    EndFunc

    [/autoit]
  • .exe datei aufrufen mit script aber exe.datei erstellt configdatei in scriptordner anstatt im exeordner

    • Schnuffel
    • 14. Mai 2009 um 17:31

    setze einfach das WorkingDir ;)
    aus der Hilfe ...

    Zitat

    Run ( "filename" [, "workingdir" [, show_flag[, opt_flag ]]] )

  • Mauspositionen im Clienten sind an jeder Stelle identisch

    • Schnuffel
    • 11. Mai 2009 um 21:08
    Zitat

    ich habe versucht mit dem AU3 InfoTool(aber auch schon mit einigen anderen Tools) die Koordinaten von einem Spiel im Fenstermodus zu bekommen.


    Es gibt Spiele, die genau das aus gutem Grund verhindern.
    Da wirst Du mit Maus-Koordinaten nichts erreichen.

  • Filecopy Problem

    • Schnuffel
    • 10. Mai 2009 um 20:13

    also das Einzige, was ich so vielleicht ändern würde, wäre die Opt's an den Anfang zu stellen.

    Spoiler anzeigen
    [autoit]

    Opt("WinWaitDelay",100)
    Opt("WinTitleMatchMode",4)
    Opt("WinDetectHiddenText",1)
    Opt("MouseCoordMode",0)
    run ("DataRecorder.exe")
    WinWait("Thermo - Hygro Data Recorder","")
    If Not WinActive("Thermo - Hygro Data Recorder","") Then WinActivate("Thermo - Hygro Data Recorder","")
    WinWaitActive("Thermo - Hygro Data Recorder","")
    Send("{ALTDOWN}a{ALTUP}{ENTER}")
    ;warte 15min
    Sleep (900000)
    filecopy ("D:\Wetterdata\history.drf", "z:\history.drf" ,1)
    ;warte 5min
    Sleep (300000)
    Shutdown (1)

    [/autoit]
  • Text aus Konsole auslesen

    • Schnuffel
    • 10. Mai 2009 um 19:30

    nachdem Dein Code-Schnipsel nicht viel her gibt, kann ich nur sagen:
    Versuch Dich an dem Beispiel in der Hilde zu StdOutRead.

    Ansonsten bitte etwas mehr Code posten ;)

  • Hilfefenster (GUI) per button aufrufen. Ext. Programm?

    • Schnuffel
    • 10. Mai 2009 um 19:03

    na klar,

    Spoiler anzeigen
    [autoit]

    For $i = 1 to 100 ; zählt von 1 bis 100 (dies nennt man auch eine Zähschleife ;) )
    $var = RegEnumVal("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", $i); Der Variable $var wird der $i. Wert des vorgegebenen Schlüssels übergeben
    if @error <> 0 Then ExitLoop; prüft, ob beim Auslesen des Regschlüssels ein Fehler aufgetreten ist (Wert $i nicht mehr vorhanden...)
    MsgBox(4096, "Value Name #" & $i & " under in AutoIt3 key", $var); Ausgabe des Wertes des Reg-Schlüssels in einer MsgBox
    next; Schleifen ende - Sprung zurück zu "For, um mit dem nächsten Wert weiterzumachen, solange $i > 100

    [/autoit]
  • Text aus Konsole auslesen

    • Schnuffel
    • 10. Mai 2009 um 18:59

    schau Dir mal den Befehl StdOutRead in der Hilfe 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™