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

  • Taschenrechner

    • Schnuffel
    • 26. Juli 2009 um 13:05

    Hab Dir mal eine einface Addition eingebaut ohne Variablen.
    Das kann man natürlich ausbauen und verbessern...
    z.B. Hinter das Ergebnis ein leeres Label setzen, in das dann n"nur" das Ergebnis gesetzt wird,
    oder eine Funktion schreiben, der dann nur die Werte und der RechenOperand übergeben werden ... und und und

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Rechner", 633, 447, 192, 124)
    $Ergebnis = GUICtrlCreateLabel("Ergebnis=", 344, 24, 204, 36)
    $Addition = GUICtrlCreateButton("Addieren (+)", 48, 144, 161, 73, $WS_GROUP)
    $Multiplikation = GUICtrlCreateButton("Multiplizieren (*)", 48, 240, 161, 73, $WS_GROUP)
    $Subtraktion = GUICtrlCreateButton("Subtrahieren (-)", 248, 144, 161, 73, $WS_GROUP)
    $Division = GUICtrlCreateButton("Dividieren (/)", 248, 240, 161, 73, $WS_GROUP)
    $Zahl1 = GUICtrlCreateInput("1. Zahl", 32, 16, 97, 21)
    $Zahl2 = GUICtrlCreateInput("2. Zahl", 32, 56, 97, 21)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Addition
    GuiCtrlSetData($Ergebnis,"Ergebnis= " & GuiCtrlRead($Zahl1) + GUICtrlRead($Zahl2))
    Case $Multiplikation

    Case $Subtraktion

    Case $Division

    EndSwitch
    WEnd

    [/autoit]
  • Taschenrechner

    • Schnuffel
    • 26. Juli 2009 um 12:52

    um Dir Dein Problem zu veranscheulichen ist es vorteilhaft, wenn Du Deinen bisherigen Code hier postest.
    Dann können wir diesen korrigieren und damit das Verständnis herstellen.

    So kann ich nur sagen Input in Variable auslesen mit GuiCtrlRead,
    Rechenoperation ausführen danach Variablenwert mit GuiCtrlSetData in das InputFeld schreiben :D

  • Möchte automatisiert einen Teil einer Outlookmail drucken + dann zu EXCEL wechseln + Makro starten

    • Schnuffel
    • 26. Juli 2009 um 12:43

    Hallo Gunni,
    der Send-Befehl simuliert einfach nur Tasten die gedrückt werden.
    Diese werden i.d.R. an das zu dem Zeitpunkt aktive Fenster gesendet.
    So als ob Du eben selbst mit der Tastatur schreiben würdest.

    Zur Steuerung von Fenstern usw. empfiehlt sich dagegen eher ControlSend.
    Damit kannst Du gezielt einzelne Controls eines bestimmten Fensters ansprechen.
    Um das Control herauszubekommen hast Du ja schon das AutoIt-Info Window entdeckt.

    Scripte starten in Scite kannst Du mit F5 wenn die Datei auch die Endung .au3 hat. Ansonsten weiß Scite mit der Datei nichts anzufangen ...
    Ich hoffe, dass hat schon mal etwas geholfen...
    Bei Fragen

    Edit: Ach ja, das mit dem Recorder ist so eine Sache. Der kann nur mit Send umgehen.
    D.h. um das wie Du sagst "mühselige eingeben" wirst Du wohl nicht herumkommen, wenn es vernünftig funktionieren soll. ;)

  • Dateien per Kontextmenü (Windows-Explorer) öffnen.

    • Schnuffel
    • 25. Juli 2009 um 17:51

    Pfade mit Leerzeichen müssen in Anführungszeichen übergeben werden.
    Wenn Du für den ÜbergabeString schon die " " " verwendest, dann nimm für den Pfad die einfachen " ' "

  • Lokalisten Informer ?

    • Schnuffel
    • 25. Juli 2009 um 17:28

    Hmmm ich hab keinen Account für Lokalisten.de

    Ich denke aber, dass man das durchaus mit

    Spoiler anzeigen
    [autoit][/autoit] [autoit][/autoit] [autoit]

    #include <IE.au3>

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

    $ie = _IECreate("www.lokalisten.de")
    $oie = _IEFormGetCollection($ie, 0)
    $Username = _IEGetObjByName($oie, "j_username")
    _IEFormElementSetValue($Username, "++++++")
    $Passwort = _IEGetObjByName($oie, "j_password")
    _IEFormElementSetValue($Passwort, "++++++")
    _IEFormSubmit ($oie)
    sleep(5000)
    $sHTML = _IEDocReadHTML ($ie)
    If StringInStr($sHTML,"mail.gif") Then MsgBox(0, '', "Eine neue Mail ist da")

    [/autoit]

    lösen kann.
    Kannst ja den Denkansatz noch umschreiben ... ;)

  • Inhalt tXt Prüfen und in Listview darstellen

    • Schnuffel
    • 25. Juli 2009 um 06:32

    Hallo subzero007,
    möchtest Du den Ordnerinhalt nach einer bestimmten Datei durchsuchen,
    oder in einer bestimmten Datei in dem Ordner nach einer Zeile suchen,
    oder in einem Ordner in vielen Dateien nach jeweils einer Zeile suchen???

  • Lokalisten Informer ?

    • Schnuffel
    • 25. Juli 2009 um 06:24

    ich kann Dir nicht sagen warum das nicht klappt, aber so klappt es:

    Spoiler anzeigen
    [autoit]

    #include <IE.au3>

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

    $ie = _IECreate("www.lokalisten.de")
    $oie = _IEFormGetCollection($ie, 0)
    $Username = _IEGetObjByName($oie, "j_username")
    _IEFormElementSetValue($Username, "++++++")
    $Passwort = _IEGetObjByName($oie, "j_password")
    _IEFormElementSetValue($Passwort, "++++++")
    _IEFormSubmit ($oie)

    [/autoit]
  • WinSetTitle Problem

    • Schnuffel
    • 24. Juli 2009 um 21:02

    Oscar's Weg ist die perfekte Optimierung :thumbup:

  • WinSetTitle Problem

    • Schnuffel
    • 24. Juli 2009 um 17:24

    einen versuch ich noch ;)
    das Script schließt sich, wenn das betreffende Fenster nicht mehr vorhanden ist.
    Kann man ja alles anpassen ...

    Spoiler anzeigen
    [autoit]

    Opt("WinTitleMatchMode",2)
    #Include <Date.au3>
    #Include<Misc.au3>
    _Singleton("fjrcikszrubcrzknsrcxiks")

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

    $title="Mein Spiel" ; Name Deines Spieles oder ein Teil daraus, der sich nicht ändert

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

    $timestart = _NowTime()
    AdlibEnable("_SetTimeInTitle",1000)
    While 1

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

    WEnd
    Func _SetTimeInTitle()
    Local $hour, $min, $sec
    $stit_title = WinGetTitle($title)
    If $stit_title = "0" Then
    Exit
    Else
    $stit_split = StringSplit($stit_title," |=- ",1)
    $timeset = _DateDiff('s',"1970/01/01 "&$timestart, "1970/01/01 "&_NowTime())
    _TicksToTime($timeset*1000,$hour,$min,$sec)
    If $hour < 10 Then $hour = "0" & $hour
    If $min < 10 Then $min = "0" & $min
    If $sec < 10 Then $sec = "0" & $sec
    WinSetTitle($title,"",$stit_split[1] & " |=- " & $hour&":"&$min&":"&$sec)
    EndIf
    EndFunc

    [/autoit]
  • WinSetTitle Problem

    • Schnuffel
    • 24. Juli 2009 um 15:26

    so sollte es gehen ...

    Spoiler anzeigen
    [autoit]

    Opt("WinTitleMatchMode",2)
    #Include <Date.au3>
    $title=WinGetTitle("Mein Spiel")
    $timestart = _NowTime()
    AdlibEnable("_SetTimeInTitle",1000)

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

    #include <GUIConstants.au3>
    GUICreate('')
    GUISetState()
    While 1
    $msg = GUIGetMsg()
    Switch $msg
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    WEnd

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

    Func _SetTimeInTitle()
    $timeset = _DateDiff('s',"1970/01/01 "&$timestart, "1970/01/01 "&_NowTime())
    $hour = Round($timeset/3600,0)
    $min = Round(($timeset-($hour*3600))/60,0)
    $sec = $timeset-($hour*3600)-($min*60)/60
    If $hour < 10 Then $hour = "0" & $hour
    If $min <10 Then $min = "0" & $min
    If $sec < 10 Then $sec = "0" & $sec
    WinSetTitle($title,"",$title& " ----- " & $hour&":"&$min&":"&$sec)
    EndFunc

    [/autoit]
  • festen Bereich in Datei ersetzen

    • Schnuffel
    • 24. Juli 2009 um 11:31

    schau Dir mal die 2 Post's im engl. Forum an...

    http://www.autoitscript.com/forum/index.php?showtopic=84615&view=findpost&p=606292
    http://www.autoitscript.com/forum/index.php?showtopic=81740&view=findpost&p=586427

  • GUIfenster mit mehreren Inputfeldern

    • Schnuffel
    • 23. Juli 2009 um 23:45

    was für einen Tab?
    Für Deinen Fall schau Dir mal die Funktion IniRead und IniWrite näher an.

  • GUIfenster mit mehreren Inputfeldern

    • Schnuffel
    • 23. Juli 2009 um 23:14

    wenn Du das so machst, was passiert dann... ?

    [autoit]


    local $data = GUICtrlRead($Input1)
    local $data = GUICtrlRead($Input2)
    local $data = GUICtrlRead($Input3)
    local $data = GUICtrlRead($Input4)

    [/autoit]

    Die Variable $data wird nacheinander 4x deklariert und mit Daten befüllt.
    Logischerweise ist am Schluß dieser Anweisung der Inhalt von Deiner Variable der letzte gelesene Wert ...

  • Script Splitten und dabei Variabeln übernehmen

    • Schnuffel
    • 22. Juli 2009 um 13:20

    sieh Dir mal IniRead und IniWrite an ...

  • GUICtrlSetImage funktioniert nicht?

    • Schnuffel
    • 22. Juli 2009 um 12:31

    Anscheinend hat

    [autoit]

    $Pic1 = GUICtrlCreatePic($Path, 88, 8, 592, 312, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))

    [/autoit]

    ein Problem, wenn die angegebenen Datei nicht existiert.
    So geht es ...

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>

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

    $Path = @ScriptDir & "\wdimg.gif"

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

    $Form1 = GUICreate("Form1", 691, 331, 177, 230)
    $Button1 = GUICtrlCreateButton("Temperatur", 8, 8, 75, 25, $WS_GROUP)
    $Button2 = GUICtrlCreateButton("Luftfeuchte", 8, 40, 75, 25, $WS_GROUP)
    $Button3 = GUICtrlCreateButton("Niederschlag", 8, 72, 75, 25, $WS_GROUP)
    $Button4 = GUICtrlCreateButton("Windgeschw.", 8, 104, 75, 25, $WS_GROUP)
    $Button5 = GUICtrlCreateButton("Windboen", 8, 136, 75, 25, $WS_GROUP)
    $Button6 = GUICtrlCreateButton("Sonnenschein", 8, 168, 75, 25, $WS_GROUP)
    $Button7 = GUICtrlCreateButton("Luftdruck", 8, 200, 75, 25, $WS_GROUP)
    $Pic1 = GUICtrlCreatePic("", 88, 8, 592, 312, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
    $Button8 = GUICtrlCreateButton("Aktualisieren", 8, 232, 75, 25, $WS_GROUP)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    Case $Button1
    FileDelete($Path)
    InetGet("http://www.wetter-haltern.de/wetter/charts/mini_currentt.gif", $Path, 0)
    GUICtrlSetImage($Pic1, $Path)
    FileDelete($Path)
    EndSwitch
    WEnd

    [/autoit]
  • GUICtrlSetImage funktioniert nicht?

    • Schnuffel
    • 22. Juli 2009 um 11:54

    Du willst ein Image setzen, dass wahrscheinlich in dem Moment noch nicht vollständig geladen ist...
    Verwende:

    [autoit]

    InetGet("http://www.wetter-haltern.de/wetter/charts/mini_currentt.gif", $Path, 0)

    [/autoit]
  • Uhrzeit für Inputfeld

    • Schnuffel
    • 22. Juli 2009 um 11:37

    ich selber hatte das etwas aufwendiger gelöst.
    Ich hatte das Inputfeld über WM_COMMAND abgefragt und dann eine Funktion zeit_prüfen() aufgerufen.
    Damit wurde an der Inputbox nur etwas geändert, wenn man auch eine Eingabe machte oder Tab drückte, etc
    So unterbindet man das flackern.
    Im Moment wird das Input ja ständig über die While-Schleife neu mit Daten "befüllt", daher das flackern

    Da ich das in einem komplexeren Zusammenhang mal geproggt hatte,
    habe ich ja auch geschrieben das das ein Ansatz sein soll und keine Endlösung :)

    Edit:
    mal ein Ansatz... ohne flackern und begrenzt auf Länge der Uhrzeit

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <EditConstants.au3>
    $Frm = GUICreate("Input Filter", 300, 30, -1, -1)
    Global $INPUT = GUICtrlCreateInput("", 5, 5, 290,21,0x2000)
    GUICtrlSetLimit(-1, 5)
    Global $INPUT_ALT = ""
    ; to select a specific default format
    $DTM_SETFORMAT_ = 0x1032
    $style = "hh:nn"
    GUICtrlSendMsg($INPUT, $DTM_SETFORMAT_, 0, $style)
    GUISetState(@SW_SHOW)
    While GUIGetMsg() <> $GUI_EVENT_CLOSE
    If $INPUT_ALT <> GUICtrlRead($INPUT) Then
    $INPUT_ALT = GUICtrlRead($INPUT)
    $inhalt_pur=StringReplace(StringReplace(GUICtrlRead($INPUT), " ", ""), ":", "")
    Switch StringLen($inhalt_pur)
    Case 1
    Switch $inhalt_pur
    Case 1 To 2
    GUICtrlSetData($INPUT, $inhalt_pur & " :")
    Send("{LEFT 2}")
    Case 3 To 9
    GUICtrlSetData($INPUT, "0" & $inhalt_pur & ":")
    EndSwitch
    Case 2
    Switch $inhalt_pur
    Case 0 To 23
    GUICtrlSetData($INPUT, $inhalt_pur & ":")
    Case Else
    GUICtrlSetData($INPUT, "")
    GUICtrlSetState($INPUT, $GUI_FOCUS)
    EndSwitch
    Case 3
    Switch StringRight($inhalt_pur, 1)
    Case 0 To 5
    GUICtrlSetData($INPUT, StringLeft($inhalt_pur, 2) & ":" & StringRight($inhalt_pur, 1))
    Case Else
    GUICtrlSetData($INPUT, StringLeft($inhalt_pur, 2) & ":")
    EndSwitch
    EndSwitch
    EndIf

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

    WEnd
    MsgBox(0, "Time", GUICtrlRead($INPUT))

    [/autoit] [autoit][/autoit] [autoit][/autoit]
  • Uhrzeit für Inputfeld

    • Schnuffel
    • 22. Juli 2009 um 11:21

    hier mal ein Ansatz zum Basteln...

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <EditConstants.au3>
    $Frm = GUICreate("Input Filter", 300, 30, -1, -1)
    Global $INPUT = GUICtrlCreateInput("", 5, 5, 290,21,0x2000)
    ; to select a specific default format
    $DTM_SETFORMAT_ = 0x1032
    $style = "hh:nn"
    GUICtrlSendMsg($INPUT, $DTM_SETFORMAT_, 0, $style)
    GUISetState(@SW_SHOW)
    While GUIGetMsg() <> $GUI_EVENT_CLOSE
    $inhalt_pur=StringReplace(StringReplace(GUICtrlRead($INPUT), " ", ""), ":", "")
    Switch StringLen($inhalt_pur)
    Case 1
    Switch $inhalt_pur
    Case 1 To 2
    GUICtrlSetData($INPUT, $inhalt_pur & " :")
    Send("{LEFT 2}")
    Case 3 To 9
    GUICtrlSetData($INPUT, "0" & $inhalt_pur & ":")
    EndSwitch
    Case 2
    Switch $inhalt_pur
    Case 0 To 23
    GUICtrlSetData($INPUT, $inhalt_pur & ":")
    Case Else
    GUICtrlSetData($INPUT, "")
    GUICtrlSetState($INPUT, $GUI_FOCUS)
    EndSwitch
    Case 3
    Switch StringRight($inhalt_pur, 1)
    Case 0 To 5
    GUICtrlSetData($INPUT, StringLeft($inhalt_pur, 2) & ":" & StringRight($inhalt_pur, 1))
    Case Else
    GUICtrlSetData($INPUT, StringLeft($inhalt_pur, 2) & ":")
    EndSwitch
    EndSwitch
    WEnd
    MsgBox(0, "Time", GUICtrlRead($INPUT))

    [/autoit]
  • ListView-Sortierung speichern und widerherstellen

    • Schnuffel
    • 22. Juli 2009 um 07:27

    Hallo sc4ry,

    zu 1. :

    [autoit]

    HotKeySet("{ESC}","_ToogleHide")

    [/autoit]
  • Im TrayMenü Icons/Images

    • Schnuffel
    • 21. Juli 2009 um 22:27

    ich hab doch in der Shoutbox schon geschrieben:
    Such mal nach der ModernMenu.au3... ???

    Link

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™