Hey leute,
wie kann ich einer Progress leiste einen befehl verpassen?
Hey leute,
wie kann ich einer Progress leiste einen befehl verpassen?
Denke das hier könnte sehr hilfreich sein, wenn ich deine Frage richtig verstanden habe.
leider nicht..
Funktioniert bei mir nicht bekomme ne fehler meldung.
Und zwar habe ich vor einen Progress balken mit der Uhrzeit zu verbinden.
Also z.B. die Stunden sollen in % Angezeit werden sowie auch Minuten und Sekunden.
#include <GUIConstantsEx.au3>
#include <ProgressConstants.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
$Form1 = GUICreate("% Uhr", 439, 174, 210, 204)
GUISetBkColor(0xABABAB)
$stunde = GUICtrlCreateProgress(""&@SEC, 8, 32, 422, 17)
$minute = GUICtrlCreateProgress(8, 72, 422, 17)
$Label1 = GUICtrlCreateLabel("Stunden", 8, 15, 44, 17)
$Label2 = GUICtrlCreateLabel("Minuten", 8, 55, 42, 17)
$Label3 = GUICtrlCreateLabel("Sekunden", 8, 96, 53, 17)
$sekunden = GUICtrlCreateProgress(8, 112, 422, 9)
$Time = GUICtrlCreateLabel("Es ist: "&@HOUR &":"&@MIN &":"&@SEC, 160, 136, 200, 60)
GUICtrlSetFont(-1, 15, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0x808080)
GUISetState(@SW_SHOW)
$start=timerinit()
While 1
$g=guigetmsg()
if $g=-3 then exit
if timerdiff($start)>=1000 then
$start=timerinit()
GUICtrlSetData($time,"Es ist: "&@HOUR &":"&@MIN &":"& @sec)
endif
WEnd
sowas habe cih mal gemacht, ich suche es ebend...
Edit:\\ habs gefunden
;Copyright 2010 by Jonathan Möwe
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <ProgressConstants.au3>
#NoTrayIcon
if @MON = 1 Then $mdays = 31
if @MON = 2 Then $mdays = 28
if @MON = 3 Then $mdays = 31
if @MON = 4 Then $mdays = 30
if @MON = 5 Then $mdays = 30
if @MON = 6 Then $mdays = 30
if @MON = 7 Then $mdays = 31
if @MON = 8 Then $mdays = 29
if @MON = 9 Then $mdays = 30
if @MON = 10 Then $mdays = 31
if @MON = 11 Then $mdays = 30
if @MON = 12 Then $mdays = 31
$jahrkonstat = Round(100/366,2)
$monatkonstat = Round(100/$mdays,2)
$daykonstat = Round(100/24,2)
$stundekonstat = Round(100/60,2)
$minutekonstat = Round(100/60,2)
GUICreate("Uhr", 320, 210)
;progressbars
$jahr = GUICtrlCreateProgress(50, 10, 200, 30)
$monat = GUICtrlCreateProgress(50, 50, 200, 30)
$tag = GUICtrlCreateProgress(50, 90, 200, 30)
$stunde = GUICtrlCreateProgress(50, 130, 200, 30)
$minute = GUICtrlCreateProgress(50, 170, 200, 30)
;beschriftungs labels
GUICtrlCreateLabel("Jahr",10,17)
GUICtrlCreateLabel("Monat",10,57)
GUICtrlCreateLabel("Tag",10,97)
GUICtrlCreateLabel("Stunde",10,137,39)
GUICtrlCreateLabel("Minute",10,177)
;prozentlabels
$jahrl = GUICtrlCreateLabel("00,00%",260,17)
$monatl = GUICtrlCreateLabel("00,00%",260,57)
$tagl = GUICtrlCreateLabel("00,00%",260,97)
$stundel = GUICtrlCreateLabel("00,00%",260,137,39)
$minutel = GUICtrlCreateLabel("00,00%",260,177)
GUISetState()
$sec = 98
While 1
$msg = GUIGetMsg()
If $msg = $GUI_EVENT_CLOSE Then Exit
if $sec <> @SEC Then
;progressbarset
GUICtrlSetData($jahr,@YDAY*$jahrkonstat)
GUICtrlSetData($monat,@MDAY*$monatkonstat)
GUICtrlSetData($tag,@HOUR*$daykonstat)
GUICtrlSetData($stunde,@MIN*$stundekonstat)
GUICtrlSetData($minute,@SEC*$minutekonstat)
;labelset
GUICtrlSetData($jahrl,@YDAY*$jahrkonstat & " %")
GUICtrlSetData($monatl,@MDAY*$monatkonstat & " %")
GUICtrlSetData($tagl,@HOUR*$daykonstat & " %")
GUICtrlSetData($stundel,@MIN*$stundekonstat & " %")
GUICtrlSetData($minutel,@SEC*$minutekonstat & " %")
$sec = @SEC
EndIf
WEnd
Du musst evtl. besser runden, weils dann mit den % genauer ist
Edit2:\\ 2minuten antwortzeit... ich bin gut
Edit3:// wer meine Uhr nicht versteht: Sie zeigt den aktuellen vortschritt der minute/stunde/tages/monat/jahr in % an
Cool danke =)
habe mir bissel was davon abgeschaut.
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <ProgressConstants.au3>
$stunden = Round(100/24,2)
$minuten = Round(100/60,2)
$sekunden = Round(100/60,2)
$Form1 = GUICreate("% Uhr", 439, 174, 210, 204)
GUISetBkColor(0xABABAB)
$tag = GUICtrlCreateProgress(8, 32, 422, 17)
$stunde = GUICtrlCreateProgress(8, 72, 422, 17)
$Label1 = GUICtrlCreateLabel("Stunden", 8, 15, 44, 17)
$Label2 = GUICtrlCreateLabel("Minuten", 8, 55, 42, 17)
$Label3 = GUICtrlCreateLabel("Sekunden", 8, 96, 53, 17)
$minute = GUICtrlCreateProgress(8, 112, 422, 9)
$Time = GUICtrlCreateLabel("Es ist: "&@HOUR &":"&@MIN &":"&@SEC, 160, 136, 200, 60)
GUICtrlSetFont(-1, 15, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0x808080)
GUISetState(@SW_SHOW)
$start=timerinit()
While 1
$g=guigetmsg()
if $g=-3 then exit
if timerdiff($start)>=1000 then
$start=timerinit()
GUICtrlSetData($time,"Es ist: "&@HOUR &":"&@MIN &":"& @sec)
;Progress Leisten
GUICtrlSetData($tag,@HOUR*$stunden)
GUICtrlSetData($stunde,@MIN*$minuten)
GUICtrlSetData($minute,@SEC*$sekunden)
endif
WEnd
Kein problem, aber wie gesagt: ich ahbe nciht5 sonderilchgut gerundet... bei mir sind nach 30 Minuten 50,1% der stunde rum
Deswegen verwendet man ja auch Floor.