Trodde att detta var det mest elementära i VB men jag lyckas inte. Gissar att MM står för månad, kanske kan vara mm istället. Ett annat sätt är att göra såhär: Så här skriver du enl din intuition. Nog är det märkligt att den som en gång gjort Funktionen (Time) inte kunde fixa att ! Sven, huva, tur att någonting är som det ska i vb snarare.. Tänk ett steg längre: Om du har ett kombinerat datum och tid i samma, vad betyder mm då..? Vadåååå kombinerat. Det är två helt skilda Funktioner Time och Date. Det må vara två olika funktioner, men de har samma datatyp. Som programmerare kan man inte veta vilken av funktionerna date respektive time som användes, eller kanske rentav både och, för att få värdet. Vid närmare eftertanke så är det ju inte Time och Date som är berörda. <code> Format$ skall givetvis returnera 06 (månad) <b>Förstår inte varför du blandar in Now , tråden handlar om Time .</b> mmm... Nu skall Vi knäppa gubben på näsan. ;-) Skriver så här dååååååå. No big deal ! Sven, tänk ett snäpp längre.. 1: saklighet. ! > Du skriver Funktion och hänvisar till en Subrutin. Kvalficerat bullshit.Tid
Om jag vill visa rätt timme just nu i en Label skriver jag koden: Label1 = Format(Time, "HH")
Vill jag få ut sekunderna just nu skriver jag: 'Label1 = Format(Time, "SS")
Men varför får jag inte ut minuterna genom att skriva: Label1 = Format(Time, "MM")
Som svar får jag alltid 12. Spelar ingen roll vad klockan är, jag får ändå 12 som svar. Vad gör jag för fel.Sv: Tid
Label1 = Minute(Time)
/JohanSv: Tid
<code>
Label1.Caption = Format$(Time, "nn") ' mm är upptaget av månad
</code>Sv:Tid
"mm" i konjuktion med Time betyder minuter.
"mm" i konjuktion med Date betyder månadSv: Tid
Sv:Tid
Söker jag "mm" i Time skulle det väl inte vara så svårt att förstå att det betyder minuter.
Samma med Date där "mm" klart betyder månad.
Nog om de, det är ju som det är.Sv: Tid
Sv:Tid
Det är Format$ Funktionen som borde klara skillnaden.
Nog om detta.Sv: Tid
Label1.Caption = Format$(Now, "mm")
</code>
Sven, vad skulle Label1 innehålla om "mm" fungerade som du hade tänkt?
/ThomasSv:Tid
Förstår inte varför du blandar in Now , tråden handlar om Time .Sv: Tid
Det var ju du som blandade in date också när du ville att "mm" skulle kunna returnera båda:
"mm" i konjuktion med Time betyder minuter.
"mm" i konjuktion med Date betyder månad
Och min fråga om Format("mm", Now) är givetvis ställd i hänseende till att "mm" skulle kunna returnera både minuter och månader beroende på vad den fick för data.
/ThomasSv:Tid
Riktat till Function Format / Format$. Så skulle det funka om jag gjort Funktionen.
"mm" i konjuktion med Time betyder minuter.
"mm" i konjuktion med Date betyder månad
"mm" i konjuktion med Now betyder månad
Snälla Snälla Snälla fae... vad tjatigt det blir (det spelar just på radion 00:26 (26 = "mm")
eller som jag föredrar att läsa och jobba med . 26 min = 0.01805538
<code>
Label1.Caption = Format$(0.01805538, "nn") ' nu blev det minuter.Det var så tråden började
' Saklighet är en dygd
</code>Sv: Tid
Låt säga att jag har skrivit följande funktion:
public sub FörsökSkrivaMånad(date datum)
msgbox(format(datum, "mm"))
end sub
Om jag då anropar den såhär:
FörsökSkrivaMånad(Time)
FörsökSkrivaMånad(Date)
FörsökSkrivaMånad(Now)
så blir det fel på första anropet. Skräpet skulle ju i så fall skriva ut minuter istället..?
Dessutom, Date, Time och Now returnerar samma datatyp, hur ska man senare i programmet veta vilken funktion som satte värdet på variabeln? I alla normala språk finns inte den informationen, och det finns ingen anledning att spara på den informationen heller.
Men visst, vb är ju lite eget, så att introducera ännu mer invecklat skrot som gör det helt omöjligt att göra någonting vettigt i vb är väl kanske rätt väg att gå..Sv:Tid
Du skriver Funktion och hänvisar till en Subrutin. Kvalficerat bullshit.
Vem faeee... behöver en sådan rutin. Trams djä... trams.Sv: Tid
Jag kan inte vb särskilt bra längre, och bryr mig för övrigt inte om att vb valt att kalla funktioner utan möjlighet att returnera något värde för något annat än just funktioner. Att ens orka bry sig om det när det är helt uppenbart vad som åsyftas förstår jag inte riktigt meningen med..
> Vem faeee... behöver en sådan rutin. Trams djä... trams.
Det var ett exempel. Ingen lär behöva den rutinen. Min poäng var bara att den som skriver en funktion kan ju inte ställa krav i stil med "du får bara anropa med date, inte med time" då deklarationen av funktionen tillåter både och (i och med att de tillåter den datatyp som både time och date returnerar.) Sådana krav är det ingen som efterlever eftersom att det inte är någonting som kompilatorn upptäcker, eller ens finns någon som helst logisk anledning till att det borde vara så.
Likaså har vi fortfarande två problem: vad gäller i fallet now, och hur in i sjutton ska funktionen format veta var en variabel kom ifrån?
(Dilemma: variabel x = time, du kör sedan dateadd och adderar på en månad. Kör sedan format på den och försöker få ut minuter. Vad kommer format att skriva ut, månader eller minuter?)
Slutsats: Totalt ologiskt (fast logiskt ur vb-perspektiv då allting som är ologiskt är fullkomligt logiskt, varför skulle någonting vara logiskt i vb?) med separat hantering av time/date