Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > AutoIt
You last visited: Today at 22:43

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



In Autoit rechnung mit Zeit

Discussion on In Autoit rechnung mit Zeit within the AutoIt forum part of the Coders Den category.

Reply
 
Old   #1
 
Ludder231's Avatar
 
elite*gold: 0
Join Date: Aug 2010
Posts: 880
Received Thanks: 113
In Autoit rechnung mit Zeit

Hallo,

ich wollte fragen wie man es anstellt eine Zeit rechung zu machen?
Also z.B: ich hab ein Label wo "00 min 00 sek" steht und jetzt möchte ich das die benötigte Zeit in dem Label angeben wird. D.h: wenn mein Prgramm für etwas 10sek(10000ms) braucht und es den Schritt, wofür das Programm 10sek braucht, das z.B 7 mal wiederholt braucht es ja 70sek(70000ms) wie rechnet man das und gibt es wieder. Weil 70 sek sind ja 1 min und 10 sek, aber ich weiß halt nicht wie man das da eingibt das der wenn man 70 oder 80 sek hat das der 1 min 10 sek oder halt 1 min 20 sek usw macht.

Sorry für die komische Formulierung wusste keine bessere

MfG Ludder231
Ludder231 is offline  
Old 04/28/2011, 23:03   #2
 
BlackHybrid's Avatar
 
elite*gold: 52
The Black Market: 101/0/0
Join Date: Oct 2010
Posts: 1,998
Received Thanks: 389
Ich hab vor kurzer Zeit mal drauf losgeschrieben und eine Func gemacht, die von einer Zeit eine andere abzieht. Ich denke du kannst dir daraus das Prinzip erklären.
PHP Code:
Func _WunschAnkunft($Uhrzeit$Laufzeit)
    
$aAnkunft StringSplit($Uhrzeit":")
    
$aLaufzeit StringSplit($Laufzeit":")
    
$S1 $aAnkunft[3] - $aLaufzeit[3]
    If 
$S1 0 Then
        $Sp 
1
        $S 
60 $S1
    
Else
        
$S $S1
    
EndIf
    
$M1 $aAnkunft[2] - $aLaufzeit[2]
    If 
IsDeclared("Sp"Then
        
If $Sp 1 Then
            $M1 
-= $Sp
        
EndIf
    EndIf
    If 
$M1 0 Then
        $Mp 
1
        $M 
60 $M1
    
Else
        
$M $M1
    
EndIf
    
$H1 $aAnkunft[1] - $aLaufzeit[1]
    If 
IsDeclared("Mp"Then
        
If $Mp 1 Then
            $H1 
-= $Mp
        
EndIf
    EndIf
    If 
$H1 0 Then
        $H 
24 $Mp
    
Else
        
$H $H1
    
EndIf
    If 
StringLen($S) = 1 Then
        $S 
"0" $S
    
EndIf
    If 
StringLen($M) = 1 Then
        $M 
"0" $M
    
EndIf
    Return (
$H ":" $M ":" $S
Und für alle die jetzt denken was ein merkwürdiger Quelltext ich hab einfach mal drauf los geschrieben und das ist eben rausgekommen
BlackHybrid is offline  
Thanks
1 User
Old 04/28/2011, 23:05   #3
 
Ludder231's Avatar
 
elite*gold: 0
Join Date: Aug 2010
Posts: 880
Received Thanks: 113
Okay danke, werde mir das morgen mal reinziehen
Ludder231 is offline  
Old 04/29/2011, 02:08   #4
 
lolkop's Avatar
 
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
ich hätte jetz einfach eine funktion wie diese geschrieben :s

Code:
Func ms2string($ms)
	Local $min = $ms/60000
	Return Int($min) & ' min '& Int(($min-Int($min))*60) & 'sec'
EndFunc
lolkop is offline  
Thanks
1 User
Old 04/29/2011, 02:12   #5
 
BlackHybrid's Avatar
 
elite*gold: 52
The Black Market: 101/0/0
Join Date: Oct 2010
Posts: 1,998
Received Thanks: 389
Ah Int wars hab die Func vergessen. So isses natürlich am besten.
BlackHybrid is offline  
Old 04/29/2011, 02:19   #6
 
lolkop's Avatar
 
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
naja Int() schneidet ja quasi blos die nachkommastellen weg, und ist somit schneller als Floor().

Floor könnte natürlich genauso gut genutzt werden. auch Mod() wäre hier eine sinvolle mathematische funktion. war mir aber nicht sicher ob Mod() bei größeren zahlen wirklich effizient arbeitet, und habe deshlab einfach das ganze nur mit Int() gelöst =)
lolkop is offline  
Old 04/29/2011, 02:24   #7
 
BlackHybrid's Avatar
 
elite*gold: 52
The Black Market: 101/0/0
Join Date: Oct 2010
Posts: 1,998
Received Thanks: 389
Jo klar. Aber meine Func da oben ist doch auch lustig. Meine Scripts sind halt für 64bit ausgelegt 32er würdens nicht schaffen :P
BlackHybrid is offline  
Old 04/29/2011, 02:48   #8
 
lolkop's Avatar
 
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
du scheinst da einen kleinen fehler in dem script zu haben.

würde dir aber auch in dem falle empfehlen einmalig alles umzurechnen in sekunden, und diese dann zu dividieren =)

danach einfach wieder alles umrechnen in das gesuchte format

zb so:
Code:
Func divide($zeit1, $zeit2)
	Local $t1 = StringSplit($zeit1, ':'), $t2 = StringSplit($zeit2, ':')
	If $t1[0] <> 3 Or $t2[0] <> 3 Then Return False
	Local $sec = ($t1[1]*3600 + $t1[2]*60 + $t1[3]) - ($t2[1]*3600 + $t2[2]*60 + $t2[3])
	If $sec<0 Then $sec += 24*3600
	Local $hour = Int($sec/3600)
	Local $minute = Int(($sec-$hour*3600)/60)
	Local $seconds = Int($sec-$hour*3600-$minute*60)
	Return StringFormat('%02d:%02d:%02d', $hour, $minute, $seconds)
EndFunc
Edit:
Sry es wäre natürlich eig subtraktion und nicht division :s
lolkop is offline  
Thanks
1 User
Old 04/29/2011, 02:58   #9
 
BlackHybrid's Avatar
 
elite*gold: 52
The Black Market: 101/0/0
Join Date: Oct 2010
Posts: 1,998
Received Thanks: 389
Ui vielen Dank. Wollts sowieso nochmal neu machen.
Bin jetzt aber off muss heute wieder früh raus.
BlackHybrid is offline  
Old 04/29/2011, 13:40   #10
 
elite*gold: 42
Join Date: Jun 2008
Posts: 5,425
Received Thanks: 1,888
zeit(in sekunden)/60 -> minuten
zeit(in sekunden)%60 -> sekunden

Warum so kompliziert? ~.~
MoepMeep is offline  
Old 04/29/2011, 14:19   #11
 
lolkop's Avatar
 
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
hatte ich doch oben schon geschrieben :s
weis nicht genau wie der pc modulo umsetzt, bin mir aber recht sicher das es eine iterative subtraktion ist.

wenn ich bereits dividiert habe, habe ich meinen gesuchten wert ja aber eigentlich bereits damit erhalten, und brauch nurnoch den ergebnis wert vom ganzen abziehen, was rein logisch deutlich effizienter wäre von der umsetzung her
lolkop is offline  
Old 05/01/2011, 11:35   #12
 
elite*gold: 42
Join Date: Jun 2008
Posts: 5,425
Received Thanks: 1,888
Du sprichst bei AutoIt über effizienz?
MoepMeep is offline  
Old 05/01/2011, 12:47   #13
 
lolkop's Avatar
 
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
Quote:
Originally Posted by MoepMeep View Post
Du sprichst bei AutoIt über effizienz?
ja? :O

ich spreche imma von effizienz egal was ich mache
lolkop is offline  
Reply


Similar Threads Similar Threads
Rechnung
01/17/2011 - AutoIt - 4 Replies
Servus Elitepvpers, nachdem ich die einfacheren Rechnungen verstanden habe, wollte ich fragen, ob es auch möglich ist kompliziertere Rechnungen wie zb. 12te Wurzel aus 2 mal x zu rechnen? so nach diesem Prinzip...: $ergebnis=Addiere(2,3) MsgBox(0,"Ergebnis","$a + $b addiert ergibt : "&$ergebnis) Func Addiere($a,$b) Return $a+$b
Rechnung Kriegen?
09/23/2010 - WarRock - 35 Replies
Hallo, Ich hab bei Playspan ein offer Gemacht Maxdome da muss mann ja kontodaten und so eingeben und ich hab das mit fakrescript gemacht und ich hab die Ups gekriegt aber ich hab meine ip dann geändert ich hab mein router aus geschaltet und wieder eingeschaltet kann ich ne rechung nachhause kriegen?
rechnung per sms
08/18/2010 - Metin2 - 8 Replies
wenn man sich dr holt per sms bekommt man dann ne rechnung??



All times are GMT +1. The time now is 22:44.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.