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

  • Link einer Internetseite im TrayTip

    • BugFix
    • 14. Dezember 2009 um 21:04
    Zitat von m-obi

    weil es ja eben bei HotKeySet keine Maustasten gibt.


    Wer behauptet denn so etwas? :P
    Das hatte mich auch gestört, das ist dabei heraus gekommen: MouseHotKey - Beispiel

  • CPU Last steigt auf 100% obwohl das GUI noch nicht arbeiten muss.

    • BugFix
    • 14. Dezember 2009 um 20:57

    Dir fehlt eine Arbeitsschleife:

    [autoit]

    While 1
    Sleep(100)
    WEnd

    [/autoit]


    Da du im OnEventMode arbeitest, brauchst du diese Schleife um das Skript 'am Laufen' zu halten.
    Aber in der Func _GUIEvents verwendest du GuiGetMsg!! Beides gleichzeitig geht nicht. Und innerhalb einer Funktion GuiGetMsg anzuwenden ist nur in seltenen Fällen sinnvoll.

  • CPU Last steigt auf 100% obwohl das GUI noch nicht arbeiten muss.

    • BugFix
    • 14. Dezember 2009 um 20:50

    Nein, dadran kann es nicht liegen. GuiGetMsg() bewirkt defacto auch ein Sleep().
    Ich schau es mal genauer an.

  • Zweites GUI-Fenster reagiert nicht auf Nutzerinteraktion

    • BugFix
    • 14. Dezember 2009 um 20:47

    z.B. so:

    Spoiler anzeigen
    [autoit]

    ; 2GUI_GUIGetMsg_1
    #include<GUIConstantsEx.au3>
    Local $gui1, $gui2, $btn1, $btn2, $msg

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

    $gui1 = GUICreate('GUI 1')
    $btn1 = GUICtrlCreateButton('Zeige GUI 2', 10, 20, 100, 20)

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

    $gui2 = GUICreate('GUI 2')
    $btn2 = GUICtrlCreateButton('Button 2', 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
    GUISetState(@SW_HIDE, $gui1)
    GUISetState(@SW_SHOW, $gui2)
    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
    EndSwitch
    WEnd
    GUIDelete($gui1)
    GUIDelete($gui2)

    [/autoit]
  • CPU Last steigt auf 100% obwohl das GUI noch nicht arbeiten muss.

    • BugFix
    • 14. Dezember 2009 um 20:40

    Ohne Code müssen wir raten.
    Es wird irgendwo eine Schleife laufen und dort gehört ein Sleep rein: (50) langt.

  • Buttons mit For-Schleife abfragen

    • BugFix
    • 14. Dezember 2009 um 18:01

    Besser wirds so:

    Spoiler anzeigen
    [autoit]

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

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

    GUICreate("Test", 900, 600)
    Dim $Button[8]
    For $i = 1 To 7 Step 1
    $Button[$i] = GUICtrlCreateButton("Nummer: " & $i, 10, 30 * $i)
    Next

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

    GUISetState(@SW_SHOW)
    Sleep(1000)

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

    While 1
    $msg = GUIGetMsg()
    For $i = 1 To 7 Step 1
    If $msg = $Button[$i] Then MsgBox(0, 'Klicked', ControlGetText('', '', $Button[$i]))
    Next
    Switch $msg
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    WEnd

    [/autoit]
  • Transparenz

    • BugFix
    • 14. Dezember 2009 um 17:39

    Ich nehm dazu GIMP.
    - Bild laden
    - Farbe zu Transparenz (Farbe wählen)
    - fertig

    Falls dabei Bestandteile des eigentlichen Bildes heraussubtrahiert werden da Farbgleichheit mit Hintergrund:
    - neues Bild gleicher Größe erstellen mit Hintergrund Transparenz
    - das eigentliche Bild sauber ausschneiden (mit Lasso fangen geht recht gut) und als neue Ebene auf die transparente packen
    - Ebenen vereinen und abspeichern

  • µit Light Dezember 2009

    • BugFix
    • 14. Dezember 2009 um 10:08

    [OT]

    Zitat von Reaker

    ps dein latein bringt dir da allerdings nicht viel....plural von Datum ist Daten ;)


    Völlig korrekt, laut Duden ist der Plural Daten. Da aber somit keine klare Abgrenzung gegen den Informatikbegriff 'Daten' besteht, wird häufig auf Termine zurückgegriffen. In Datenbanken findet man auch noch seltsame Auswüchse wie 'Datumme'. Das wird als Feldbezeichner für Datumswerte Singular und Plural verwendet. :)
    [/OT]

  • GUI Gif trasparentz

    • BugFix
    • 13. Dezember 2009 um 22:45
    Zitat von SEuBo

    Transparenz = PNG


    ?( Wie kommst du dadrauf? GIF mit Transparenz ist immer noch GIF. PNG ist ein völlig anderes Format.

  • sheduled/geplante Ausführung einer Funktion

    • BugFix
    • 13. Dezember 2009 um 20:33
    Zitat von nopaxx

    Darf ich fragen mit welchem Programm du das GUI erstellt hast? Mit dem Koda Designer?


    Ja, in diesem Fall habe ich mal Koda verwendet, da 3-mal dieselbe Gruppierung zu erstellen war. Das macht sich dort gut mit Copy&Paste.
    Im Normalfall mache ich das alles zu Fuß. ;)

  • sheduled/geplante Ausführung einer Funktion

    • BugFix
    • 13. Dezember 2009 um 18:25
    Zitat von nopaxx

    was ist ein Freud'scher Versprecher?


    :D http://de.wikipedia.org/wiki/Freud'scher_Versprecher

    Hier mal ein Muster, kannst ja noch einbauen, dass die Zeiten in einer INI gespeichert werden. So läuft es bis die GUI geschlossen wird (minimieren geht natürlich).

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    Opt("GUIOnEventMode", 1)

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

    Local $sTime = '', $aQuarter[4] = ['00','15','30','45']
    For $i = 0 To 23
    For $j = 0 To 3
    $sTime &= StringRight('0' & $i, 2) & ':' & $aQuarter[$j] & '|'
    Next
    Next
    $sTime = StringTrimRight($sTime, 1)
    Global $aCombo[6], $aWatchTime[6]

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

    $gui = GUICreate("Terminstart", 331, 373, 355, 162)
    GUISetOnEvent($GUI_EVENT_CLOSE, "TerminstartClose")
    $aCombo[0] = GUICtrlCreateCombo("", 48, 67, 97, 25)
    $aCombo[1] = GUICtrlCreateCombo("", 175, 67, 97, 25)
    $Group1 = GUICtrlCreateGroup(" Termin 1 ", 32, 24, 257, 81)
    $Label1 = GUICtrlCreateLabel("Von", 72, 48, 23, 17)
    $Label2 = GUICtrlCreateLabel("Bis", 208, 48, 18, 17)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group2 = GUICtrlCreateGroup(" Termin 2 ", 32, 127, 257, 81)
    $Label3 = GUICtrlCreateLabel("Von", 72, 151, 23, 17)
    $Label4 = GUICtrlCreateLabel("Bis", 208, 151, 18, 17)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $aCombo[2] = GUICtrlCreateCombo("", 51, 176, 97, 25)
    $aCombo[3] = GUICtrlCreateCombo("", 178, 176, 97, 25)
    $Group3 = GUICtrlCreateGroup(" Termin 3 ", 32, 229, 257, 81)
    $Label5 = GUICtrlCreateLabel("Von", 72, 253, 23, 17)
    $Label6 = GUICtrlCreateLabel("Bis", 208, 253, 18, 17)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $aCombo[4] = GUICtrlCreateCombo("", 48, 272, 97, 25)
    $aCombo[5] = GUICtrlCreateCombo("", 175, 272, 97, 25)
    $btStart = GUICtrlCreateButton("Start", 32, 328, 105, 25, $WS_GROUP)
    GUICtrlSetOnEvent(-1, "btStartClick")
    $btEnde = GUICtrlCreateButton("Ende", 184, 328, 105, 25, $WS_GROUP)
    GUICtrlSetOnEvent(-1, "TerminstartClose")
    GUISetState(@SW_SHOW)

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

    For $i = 0 To 5
    GUICtrlSetData($aCombo[$i], $sTime, '12:00')
    Next

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

    While 1
    Sleep(100)
    WEnd

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

    Func TerminstartClose()
    Exit
    EndFunc

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

    Func btStartClick()
    For $i = 0 To 5
    $aWatchTime[$i] = GUICtrlRead($aCombo[$i]) ; <== Hour : Min
    Next
    AdlibEnable('CheckTime', 60*1000) ; <== 1-mal pro Minute aufrufen
    EndFunc

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

    Func CheckTime()
    Local $time = @HOUR & ':' & @MIN
    For $i = 0 To 5
    If $aWatchTime[$i] = $time Then Return startFunc($i +1)
    Next
    EndFunc

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

    Func startFunc($i)
    Switch $i
    Case 1 ; Termin 1 - Von
    ; Funktionsaufruf
    Case 2 ; Termin 1 - Bis
    ; Funktionsaufruf
    Case 3 ; Termin 2 - Von
    ; Funktionsaufruf
    Case 4 ; Termin 2 - Bis
    ; Funktionsaufruf
    Case 5 ; Termin 3 - Von
    ; Funktionsaufruf
    Case 6 ; Termin 3 - Bis
    ; Funktionsaufruf
    EndSwitch
    EndFunc

    [/autoit]
  • ListView mit Checkboxen

    • BugFix
    • 13. Dezember 2009 um 15:12
    Zitat von petter2

    3. Kann man das verschieben der Spalten ausschallten? (das ist nicht so wichtig)


    Dafür hatte ich schon mal ein Bsp. erstellt:

    Spoiler anzeigen
    [autoit]

    #include <ListViewConstants.au3>
    #include <StructureConstants.au3>
    #include<GUIConstantsEx.au3>
    #include<WindowsConstants.au3>
    #include <GUIListView.au3>

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

    $gui = GUICreate('test')
    $hListView = GUICtrlCreateListView('Spalte1|Spalte2', 10, 10, 300, 200)
    _GUICtrlListView_SetColumnWidth($hListView, 0, 146)
    _GUICtrlListView_SetColumnWidth($hListView, 1, $LVSCW_AUTOSIZE_USEHEADER)
    For $i = 1 To 10
    GUICtrlCreateListViewItem('Zeile ' & $i & ' Spalte 1|Zeile ' & $i & ' Spalte 2', $hListView)
    Next

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

    ; hier für Vergleich die Spaltenbreite speichern:
    Global $aColumnWidth[_GUICtrlListView_GetColumnCount($hListView)]
    For $i = 0 To UBound($aColumnWidth) -1
    $aColumnWidth[$i] = _GUICtrlListView_GetColumnWidth($hListView, $i)
    Next

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

    GUISetState()

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

    GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")

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

    Do
    $msg = GUIGetMsg()
    Until $msg = $GUI_EVENT_CLOSE

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

    Func _Columnwidth()
    For $i = 0 To UBound($aColumnWidth) -1
    If _GUICtrlListView_GetColumnWidth($hListView, $i) <> $aColumnWidth[$i] Then
    _GUICtrlListView_SetColumnWidth($hListView, $i, $aColumnWidth[$i])
    EndIf
    Next
    EndFunc

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

    Func WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam)
    Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR, $hWndListView
    $hWndListView = $hListView
    If Not IsHWnd($hListView) Then $hWndListView = GUICtrlGetHandle($hListView)

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

    $tNMHDR = DllStructCreate($tagNMHDR, $ilParam)
    $hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
    $iIDFrom = DllStructGetData($tNMHDR, "IDFrom")
    $iCode = DllStructGetData($tNMHDR, "Code")
    Switch $hWndFrom
    Case $hWndListView
    Switch $iCode
    Case -12 ; Spaltenbreite wurde verändert
    _Columnwidth()
    EndSwitch
    EndSwitch
    Return $GUI_RUNDEFMSG
    EndFunc ;==>WM_NOTIFY

    [/autoit]
  • WM_Notify per Funktion

    • BugFix
    • 13. Dezember 2009 um 14:41

    Der Hintergrund ist recht simpel. ;) Raupi hatte grad ein schöpferisches Tief und lechzte nach neuen Aufgaben :rofl:
    Da ich diese Erweiterung noch in meine Listview-Format-UDF einbauen will, hab ich Raupi empfohlen, sich dadran zu versuchen.
    Hintergrund war eigentlich die Problemstellung in eine laufende WM_NOTIFY-Funtion weitere Abfragen auf andere Ctrl und Events zu ermöglichen ohne die Funktion selbst zu verändern.
    Bsp.:
    Mit der StartUp-Func aus der Listview-Format-UDF wird die im Include laufende WM_NOTIFY-Funtion gestartet. Sollen jetzt weitere WM_NOTIFY-Events verwertet werden, müßte die Include-Datei geändert werden. Und das sollte möglichst vermieden werden.
    Ein evtl. einfacherer Programmiervorgang für WM_NOTIFY-Events wäre dann ein angenehmer Nebeneffekt.

  • ListView mit Checkboxen

    • BugFix
    • 13. Dezember 2009 um 14:30
    [autoit]

    #include <ListViewConstants.au3>
    #include<GUIConstantsEx.au3>
    #include <GUIListView.au3>

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

    $gui = GUICreate('test')
    $hListView = GUICtrlCreateListView('Spalte1|Spalte2', 10, 10, 300, 200, -1, BitOR($LVS_EX_TRACKSELECT,$LVS_EX_CHECKBOXES))
    _GUICtrlListView_SetColumnWidth($hListView, 0, 146)
    _GUICtrlListView_SetColumnWidth($hListView, 1, $LVSCW_AUTOSIZE_USEHEADER)
    For $i = 1 To 10
    GUICtrlCreateListViewItem('Zeile ' & $i & ' Spalte 1|Zeile ' & $i & ' Spalte 2', $hListView)
    Next
    GUISetState()

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

    Do
    $msg = GUIGetMsg()
    Until $msg = $GUI_EVENT_CLOSE

    [/autoit]
  • sheduled/geplante Ausführung einer Funktion

    • BugFix
    • 13. Dezember 2009 um 14:22
    Zitat von nopaxx

    Da ich erst seit Donnerstag Autoit beherrsche weiß ich leider garnicht wie ich an sowas rangehen soll.


    :D Ein gelungener Freud'scher Versprecher.

    Was noch von Interesse ist: Soll die Funktion innerhalb der festzulegenden Zeiträume mehrfach oder nur einmalig ausgeführt werden? Wenn mehrfach: In welchen Intervallen?
    Programmtechnisch kein großer Aufwand.
    Uhrzeit bekommst du per Makros: @Hour, @Min, @Sec
    In einer Schleife die Zeit abfragen, vergleichen ob in dem gegebenen Zeitlimit, wenn ja: Funktion starten.

  • Wochentag- Feiertagsermittlung

    • BugFix
    • 13. Dezember 2009 um 14:10

    Die Funktion _Feiertage() habe ich erweitert. Es wird zusätzlich der Gültigkeitsbereich ausgegeben (BG = Bundesweit Gesetzlich; ISO-Kürzel BB, BE, BY... für Regionale Gesetzliche Feiertage).
    Die Daten können jetzt wahlweise gegliedert nach fixen und variablen Feiertagen (innerhalb sortiert) oder alle Feiertage gemeinsam sortiert ausgegeben werden.
    s. Post #1

  • Vergleichen von HDD-Inhalten

    • BugFix
    • 13. Dezember 2009 um 11:19

    Das könnte helfen: Schnittmengen und Differenzmengen ermitteln

  • Raute-Taste abfragen mit _IsPressed

    • BugFix
    • 13. Dezember 2009 um 00:09

    'BF'
    guckst du: [ offen ] Wo sind ö/ä/ü bei _IsPressed?

  • Systemordner - Inhalte

    • BugFix
    • 12. Dezember 2009 um 22:19

    Das kommt hin, normal befüllter PC :D - bei mir 4600 Zeilen ;-).

  • Systemordner - Inhalte

    • BugFix
    • 12. Dezember 2009 um 22:13

    Da tippe ich mal auf Vista, bei mir sind es etwa 3 Sekunden. ;)

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™