/ Forside / Teknologi / Udvikling / VB/Basic / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
VB/Basic
#NavnPoint
berpox 2425
pete 1435
CADmageren 1251
gibson 1230
Phylock 887
gandalf 836
AntonV 790
strarup 750
Benjamin... 700
10  tom.kise 610
Formatering af en datostreng
Fra : j_nielsen@alta.dk


Dato : 15-03-01 11:14

Hejsa igen

Ja, jeg troede jo at den hellige grav var velbevaret, men ak, et nyt
problem har meldt sig. Jeg arbejder som sagt med den her i-PAQ og
programmere i eMbedded Visual Basic 3. Jeg har brug for at gemme nogle
ting i en fil som bliver navngivet efter dags dato. Formattet skal være :
yyyymmddttmmss (år/måned/dag/timer/minutter/sekunder). Mit problem er i
midlertid at hvis jeg bare bruger f.eks. Month(date) så i marts måned
returnerer den 3 i stedet for 03. Det samme med de først 9 dage i måneden.
Er der en nem måde at formatere datoen på så jeg får det foran-stillede 0
eller skal jeg til at lege IF leg for at få 0'er på? :)

På forhånd tak for hjælpen (igen)

Jesper Nielsen
Alta A/S
www.alta.dk

 
 
Niels Krogh (15-03-2001)
Kommentar
Fra : Niels Krogh


Dato : 15-03-01 11:57

Hej Jesper,

Prøv : Debug.Print Format$(Now,"yyyyMmddHhNnss")

mvh
Niels

<j_nielsen@alta.dk> skrev i en meddelelse
news:98q4lb$h$1@news.inet.tele.dk...
Hejsa igen

Ja, jeg troede jo at den hellige grav var velbevaret, men ak, et nyt
problem har meldt sig. Jeg arbejder som sagt med den her i-PAQ og
programmere i eMbedded Visual Basic 3. Jeg har brug for at gemme nogle
ting i en fil som bliver navngivet efter dags dato. Formattet skal være :
yyyymmddttmmss (år/måned/dag/timer/minutter/sekunder). Mit problem er i
midlertid at hvis jeg bare bruger f.eks. Month(date) så i marts måned
returnerer den 3 i stedet for 03. Det samme med de først 9 dage i måneden.
Er der en nem måde at formatere datoen på så jeg får det foran-stillede 0
eller skal jeg til at lege IF leg for at få 0'er på? :)

På forhånd tak for hjælpen (igen)

Jesper Nielsen
Alta A/S
www.alta.dk



j_nielsen@alta.dk (15-03-2001)
Kommentar
Fra : j_nielsen@alta.dk


Dato : 15-03-01 12:53

>Prøv : Debug.Print Format$(Now,"yyyyMmddHhNnss")

Umiddelbart brokker den sig over Debug (kan heller ikke finde noget om den
i hjælpen). Jeg ved ikke om du var opmærksom på det, men jeg arbejder i
eMbedded Visual Basic (så vidt jeg kan forstå en skrabet udgave af alm. VB
til håndholdte computere? ).
Hvad jeg har skrevet nu er noget i retningen af

fName = Cstr(Year(Date) + Cstr(Month(Date) + Cstr(Day(Date) +
Cstr(Hour(Time) + Cstr(Minute(Time) + Cstr(Second(Time)

og fName bruger jeg så som variabel i selve filen og bagefter til at give
filen navn (fname + ".edi").
Problemet er som sagt at i dag ville jeg gerne ha' fName til at indeholde
f.eks. 20010315125035 og ikke 2001315125035
Håber det kan hjælpe lidt mere?

Venlig hilsen
Jesper


Niels Krogh (15-03-2001)
Kommentar
Fra : Niels Krogh


Dato : 15-03-01 14:38

Hej Jesper,

Nej - jeg kender ikke den version af VB du arbejder med, men pyt - det går
nok alligevel.

Debug.print er en kommando der skriver indholdet i et immediate vindue hvor
man også kan spørge på værdien af variabler mm.

Understøtter din VB version funktionen Format eller Format$ ??
Hvis den gør det, kan du istedet tildele din variable fName hvad Format
returerer fx :

fName = Format$(Now,"yyyyMmddHhNnss") & ".edi"


>> fName = Cstr(Year(Date) + Cstr(Month(Date) + Cstr(Day(Date) +
>> Cstr(Hour(Time) + Cstr(Minute(Time) + Cstr(Second(Time)

Pas på med at bruge + (plus-tegnet) til at sammenlægge strenge med. VB har
den finurlighed at hvis man arbejder med tal i strenge, kan man risikere at
tallene bliver adderet istedet - brug & (og-tegnet) istedet når man
sammenlægger strenge.

FX :
2 + "4" = 6
"2" + "4" = "24"
2 + "4" = "24"
"2" & "2" = "24"

håber det hjælper lidt mere...

mvh Niels



j_nielsen@alta.dk (15-03-2001)
Kommentar
Fra : j_nielsen@alta.dk


Dato : 15-03-01 16:07

Det glemte jeg selvfølgelig i min sidste postering. eMbedded VB
understøtter ikke Format i den version som du foreslår. Det eneste den kan
bruges til er at arrangere udseendet på en form. Så nu har jeg lavet den
grimme

if CStr(day(date)) < 10 then
strDay = "0" & CStr(day(date)) //går ind og ændre til & lige om lidt
anyway :)
else
strDay = CStr(day(date))
end if

for hver af de 5 muligheder (dag, måned, timer, minutter, sekunder). Ikke
særligt kønt og jeg håber du/andre kan hjælpe mig med at gøre det lidt
kønnere.

Ellers tak for hjælpen, vil straks ændre mine +'er til &'er

Venligst
Jesper

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408929
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste