» »

Zadn dan u mescu

Zadn dan u mescu

Mr-KONJ ::

kako bi z vb jem al pa z vb scriptom ugotovu kok ma mesec dni
He cut off the heads of a hundred and thirty-one lords.It was a bad time for the empire.

Matek ::

na začetku določiš konstante:

januar=31
februar=...
itd.
Bolje ispasti glup nego iz aviona.

rc-car ::

Februarju se stevilo dni spreminja >:D
Nothings gonna stop me now, I'm breaking the rules, I'm gonna do it if its not allowed

Mr-KONJ ::

Ja no cakte mau ........... to vem sam js nebi dulocval js bi kej tacga rabu:

LastDayOfMOnth funkcijo a u vb ju res ne mors kuko loopat cez dneve v mesecu,

al pa
for every day in januar al pa podobno
He cut off the heads of a hundred and thirty-one lords.It was a bad time for the empire.

Zgodovina sprememb…

  • spremenil: Mr-KONJ ()

Immz ::

Napisi sam funkcijo, podas ji npr. ime cifro meseca ( 1 - januar ) in ti pac vrne stevilo dni, torej en case stavek pri februarju pa ce je deljivo leto s 4 in ne 400 je prestopno ( neki taksnega ).

Thomas ::

Zdej pa tole že rahlo trapast!

dni(Februar)=28
if (leto mod 4 = 0) then dni(Februar)=29

if (leto mod 100 = 0) then
dni(Februar)=28
if (leto mod 400 = 0) then dni(Februar)=29
end if

Man muss immer generalisieren - Carl Jacobi

Mr-KONJ ::

Ja thomas hvala, sam smo mal zasli z prvotne ga vprasanja mene sam zanima ce je kksna funkcija k nasplosno pove kok je dni v kermukol mesecu, ne da bi js prej pisu januar=30 december=31. Zdej v vb-ju sm vidu ene funkcije k so za prvi teden u letu pa za zadni teden u letu pa sm mislu da bi blo tud pol se za stevilo dni v mescu......
a pol take funkcije ni?

Thomas ::

Kolikor jest vem - ne. Ampak ne poznam dost VB.

Je pa tko - takale funkcija je zmerej boljš, da je source obliki, kot pa črna škatla, ki ti samo vrne rezultat.

Pa ne mislim zato, da lažje popraviš program, če pride reforma koledarja - ampak za trening v razumevanju. In za vpogled, kako kakšna reč (tokrat Gregorijanski koledar) - deluje.

:)
Man muss immer generalisieren - Carl Jacobi

cahahopie ::

Kolikor se razumem v programski jezik vem, da zadnji odstavek ni potreben.:D

Zgodovina sprememb…

  • spremenilo: cahahopie ()

Thomas ::

Kateri odstavek? Razen seveda tegale tvojga?>:D
Man muss immer generalisieren - Carl Jacobi

Loki ::

pomoje je mislil End If
ta odstavek JE pomemben, cahahopie in ne spuscaj se v nekaj, kar ne poznas.

Bossek ::

To boš najlažje naredu z for zanko.
Če želiš naprimer preverit koliko dni ima februar leta 2000, nardiš tole(tle je sam psevdokoda, če češ piš pa dobiš kodo):

v spremenljivko shraniš današnji datum.
Postaviš datum na 1.2.2000
greš u for zanko in da povečuješ za 1
nardiš if stavek ki precerva kdaj se je spremenu mesec in tako vgotoviš koliko dni ima mesec.
nato pa še datum postaviš nazaj na današnjega

Immz ::

HEHEHEHE oprosti bossek ampak ta je pa bila u iber bosa.

Zgodovina sprememb…

  • spremenil: Immz ()

Bossek ::

Khm nisn to še sprobu.
Bom dons in če bo delal bom sem napisu funkcijo.
Če pa ne bo se pa tud oglasim :D

Bossek ::

ok sn probu in ne dela dobro. Vedno obstaja 29 januar :'(

cahahopie ::

Majku vam! Jao!... Prej vprašite preden kaj butnete... človek hoče mau heca vi pa že kot, da vam "majku jebem v dupe" (<-to ni kletivca..khm..).

Mislim sem, da mogoče tale stavek ni potreben...
if (leto mod 100 = 0) then
dni(Februar)=28
if (leto mod 400 = 0) then dni(Februar)=29
end if

Če pa je ..potem pa naj bo... o.k.? Sem vam še kaj dolžn? Golaža je zmankal.

Thomas ::

Potem se pa jasno izražaj in povej, da se ti prestopnih let ob stoletjih ne zdi vredno računati.

Ne pa "zadnji odstavek ni potreben". Sej nismo telepati.

:)

Mr-KONJ ::

Ja hmmmmmmm k sm tole napisu sem se zavedu kok je moj vprasanje u bistvu neumno. Hvala bosko za idejo, pac z loop zanko pristevas dneve dokler je mesec u temu datumu enak tekocemu mesecu.

zaenkrat tole dela sam ce je datum 1. dan u mescu, ce ne pa mau spremenis pa das da bo datum zmer z 1.dnevom tekocega meseca.

strDatum = date
strDatumDanasnji = date
strDanasnjiMesec = month(strDatumDanasnji)
strDnevi = 0

strMesec = month(strDatum)

do while strMesec = month(strDatumDanasnji

strDatum = strDatum + 1
strMesec = month(strDatum)
strDnevi = strDnevi + 1

loop

kerga leta smo pa kok ma pol februar dni itak ni vazn k jih presteje.
He cut off the heads of a hundred and thirty-one lords.It was a bad time for the empire.

Zgodovina sprememb…

  • spremenil: Mr-KONJ ()

Thomas ::

Jest sem zelo daleč od vsakega ortodoxa.

Ampak TAKOLE SE NE DELA!

Mr-Konj - prosim, ne tko, no!

Če že morš nekej odpulenga počet, rajš pribij puding z žebljem na steno.

;)
Man muss immer generalisieren - Carl Jacobi

webblod ::

OK...

Malo VB teorije...

Torej potrebujemo najprej tekoči mesec:



Dim bytTekociMesec As Byte
bytTekociMesec = Month(Date)




Dobro, sedaj pa je potrebno ugotoviti, koliko dni ima tekoči mesec... Torej potrebujemo današnji datum, in datum točno čez en mesec, njuna razlika v dnevih pa nam vrne število dni tekočega meseca.
Torej potrebujemo še spremenljivki datDanasnjiDatum in datDatumCezEnMesec.


Dim datDanasnjiDatum As Date
Dim datDatumCezEnMesec As Date

datDanasnjiDatum = Date
datDatumCezEnMesec = CDate( Day(Date) & "." & Month(Date) + 1 & "." & Year(Date))



Sedaj pa uporabimo VB funkcijo DateDiff za računanje razlike števila dni:


Dim bytSteviloDni As Byte
'funkcija vrne sicer podatkovni tip Long, vendar pa za stevilo dni v enem mesecu zadostuje Byte
bytSteviloDni = CByt(DateDiff("d", datDanasnjiDatum, datDatumCezEnMesec))



Odlično, sedaj pa samo še sestavimo funkcijo...


Option Explicit

Public Function SteviloDniMeseca(Optional Mesec As Byte) As Byte
Dim bytTekociMesec As Byte
Dim datDanasnjiDatum As Date
Dim datDatumCezEnMesec As Date
Dim bytSteviloDni As Byte

If (Mesec < 1) Or (Mesec > 12) Then bytTekociMesec = Month(Date)

datDanasnjiDatum = Date
datDatumCezEnMesec = CDate(Day(Date) & "." & Month(Date) + 1 & "." & Year(Date))


bytSteviloDni = CByte(DateDiff("d", datDanasnjiDatum, datDatumCezEnMesec))

SteviloDniMeseca = bytSteviloDni

End Function




Tako nekako naj bi zadeva zgledala po moje... boljših predlogov bom vesel!
There must be a reason, why I'm so damn dissapointed on M$ Visual Basic
WEBblod.NET :: Slovenska programerska scena

Zgodovina sprememb…

  • spremenil: webblod ()

Mr-KONJ ::

ja seveeeeda vse to je res , sam ljudje js rabm to u :))ASP-ju:)) za met a razumete tko da bom na netu meu seveda bi u vb ju to mal drgac naredu........

Webblod hvala za vb resitev si jo bom shranu ce bom tud tm kdaj rabu
He cut off the heads of a hundred and thirty-one lords.It was a bad time for the empire.

Zgodovina sprememb…

  • spremenil: Mr-KONJ ()

Mr-KONJ ::

OK to pa zihr ni puding ub steno, skrajsana asp verzija webblotovega nasveta:

<%
datSedanjiDatum = date
datDatumCezEnMesec = DateAdd("m",1,datSedanjiDatum)
datRazlika = DateDiff("d",datSedanjiDatum,datDatumCezEnMesec)
%>

To zdej dela pa ni vazn kerga smo pa kaj je z februarjem:)
He cut off the heads of a hundred and thirty-one lords.It was a bad time for the empire.

webblod ::

Seveda se da mojo funkcijo spraviti v eno vrstico, kar sem ti pokazal že na WEBblod.NET, vendar je potem zadeva dokaj nečitljiva... Tukaj sem jo razbil v več vrstic, da bi razložil koncept...

Ne vidim nobenega razloga, zakaj ne bi mogel zgornje funkcije uporabiti v ASP VB kodi... Saj tudi tam lahko mirne duše pišeš lastne funkcije in procedure, edino kar storiš je, da umakneš podatkovne tipe pri najavi spremenljivk, vrednosti, ki jih vračajo funkcije, ter doseg funkcij, vse ostalo je enako...

Correct me if I'm wrong...

LP,
There must be a reason, why I'm so damn dissapointed on M$ Visual Basic
WEBblod.NET :: Slovenska programerska scena

Zgodovina sprememb…

  • spremenil: webblod ()

Mr-KONJ ::

hehe v mojem zadnjem odgovoru sm dau asp kodo kr u uklepajih pa je ni pol izpisu no tkole sm mislu:

datSedanjiDatum = date
datDatumCezEnMesec = DateAdd("m",1,datSedanjiDatum)
datRazlika = DateDiff("d",datSedanjiDatum,datDatumCezEnMesec)
(meni razumljiva skrajsana verzija vebblotove skripte)

tkole dela zdej use super
He cut off the heads of a hundred and thirty-one lords.It was a bad time for the empire.

Zgodovina sprememb…

  • spremenil: Mr-KONJ ()

webblod ::

Kako sem vesel, ko konkčno nedo razume moje dolgovezno gobezdanje... :D Sploh uporaba funkcije DateAdd je elegantna :))... Torej si razumel koncept!!!

ODLIČNO!!!
There must be a reason, why I'm so damn dissapointed on M$ Visual Basic
WEBblod.NET :: Slovenska programerska scena


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Manjša plača (strani: 1 2 3 )

Oddelek: Loža
12230047 (22807) Mato989
»

izračun slovenskih praznikov

Oddelek: Programiranje
216346 (4938) imagodei
»

Definiranje spremenjivke - javascript

Oddelek: Programiranje
51214 (1137) a-ptuj
»

SQL vprašanje

Oddelek: Izdelava spletišč
302666 (2229) jerneju
»

A se je kdo letos prijavo na FRI (strani: 1 2 3 )

Oddelek: Šola
1048329 (6429) grmek

Več podobnih tem