| |
|
|
- Seite 1 - |
|
ByteAttack | Möchte gerne immer raus finden, welcher Tag im Monat der Letzte ist. Zu umständlich der Code, oder geht gerade noch? Geht es vielleicht einfacher? KompilierenMarkierenSeparieren
Proc Letzter
declare Wahl!,Tag$,last$
Parameters Monat%,Jahr%
Wahl! = dt("setDate", Jahr%, Monat%, 28)
Tag$=dt("DateTimeStr","dd", Wahl!)
WhileNot Tag$="01"
last$=dt("DateTimeStr","dd", Wahl!)
Wahl!=dt("getDate", 0, Wahl! + 1)
Tag$=dt("DateTimeStr","dd", Wahl!)
EndWhile
print "Letzter des Monats "+ Str$(Monat%)+"."+Str$(Jahr%)+" ist der:"+last$+"."
EndProc
Letzter 02,2012' Letzter dieses Monats
waitmouse
|
|
|
| |
|
|
|
« Dieser Beitrag wurde als Lösung gekennzeichnet. » |
|
RGH | Oder so ohne Schleife und krytische Formeln: KompilierenMarkierenSeparieren
Proc Letzter
declare Wahl!, last$ , M%, J%
Parameters Monat%,Jahr%
M% = Monat% + 1
J% = Jahr%
If M% = 13
M% = 1
J% = J% + 1
EndIf
Wahl! = dt("setDate", J%, M%, 1) - 1
last$=dt("DateTimeStr","dd", Wahl!)
print "Letzter des Monats "+ Str$(Monat%)+"."+Str$(Jahr%)+" ist der: +last$+"."
EndProc
Letzter 02,2012' Letzter dieses Monats
waitmouse
Gruß Roland |
|
|
| XProfan X2Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 11.10.2012 ▲ |
|
|
|
|
|
| |
|
| |
|
|
|
Andreas Miethe
| eigentlich geht immer was KompilierenMarkierenSeparieren
Proc Letzter
'Schaltjahr ermitteln
Def IsLeapYear(1) If ((((%(1) MOD 4) = 0 & (%(1) MOD 100) <> 0) | ((%(1) MOD 400) = 0)),1,0)
Declare Monate$,Letzter%
Monate$ = "31,28,31,30,31,30,31,31,30,31,30,31"
PARAMETERS Monat%,Jahr%
Decimals 0
If Monat% = 2
Print "Letzter des Monats "+ Str$(Monat%)+"."+Str$(Jahr%)+" ist der: "+str$(Val(substr$(Monate$,Monat%,","))+IsLeapYear(Jahr%)) +"."
Else
Print "Letzter des Monats "+ Str$(Monat%)+"."+Str$(Jahr%)+" ist der: "+substr$(Monate$,Monat%,",") +"."
EndIf
EndProc
Letzter 02,2012' Letzter dieses Monats
waitmouse
oder so KompilierenMarkierenSeparieren
Proc Letzter
PARAMETERS Monat%,Jahr%
Declare Monate$
'Schaltjahr ermitteln
Def IsLeapYear(1) If ((((%(1) MOD 4) = 0 & (%(1) MOD 100) <> 0) | ((%(1) MOD 400) = 0)),1,0)
Monate$ = "31,28,31,30,31,30,31,31,30,31,30,31"
Return If (Monat% = 2,Str$(Int(Val(substr$(Monate$,Monat%,","))+IsLeapYear(Jahr%))),Str$(Int(Val(substr$(Monate$,Monat%,",")))))
EndProc
Print "Letzter des Monats Februar 2012 ist der "+Letzter(02,2012)+"."' Letzter dieses Monats
waitmouse
oder so KompilierenMarkierenSeparieren
Proc Letzter
Def IsLeapYear(1) If ((((%(1) MOD 4) = 0 & (%(1) MOD 100) <> 0) | ((%(1) MOD 400) = 0)),1,0)
Def $Monate "31,28,31,30,31,30,31,31,30,31,30,31"
Return If (%(1) = 2,Str$(Int(Val(substr$($Monate,%(1),","))+IsLeapYear(%(2)))),Str$(Int(Val(substr$($Monate,%(1),",")))))
EndProc
Print "Letzter des Monats Februar 2012 ist der "+Letzter(02,2012)+"."' Letzter dieses Monats
waitmouse
|
|
|
| Gruss Andreas ________ ________ ________ ________ _ Profan 3.3 - XProfanX2 Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher Homepage : [...] | 11.10.2012 ▲ |
|
|
|
|
RGH | Oder so ohne Schleife und krytische Formeln: KompilierenMarkierenSeparieren
Proc Letzter
declare Wahl!, last$ , M%, J%
Parameters Monat%,Jahr%
M% = Monat% + 1
J% = Jahr%
If M% = 13
M% = 1
J% = J% + 1
EndIf
Wahl! = dt("setDate", J%, M%, 1) - 1
last$=dt("DateTimeStr","dd", Wahl!)
print "Letzter des Monats "+ Str$(Monat%)+"."+Str$(Jahr%)+" ist der: +last$+"."
EndProc
Letzter 02,2012' Letzter dieses Monats
waitmouse
Gruß Roland |
|
|
| XProfan X2Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 11.10.2012 ▲ |
|
|
|