|
| sætter timer på database ? Fra : glenn007 | Vist : 403 gange 200 point Dato : 05-09-04 00:38 |
|
jeg har en tidfsformat som ser således ud : 12:40 og som lægges i variablen tim
jeg skal såigen splitte min variabel tim op så jeg for 3 variabler var1 skal indeholde 12 var2 skal have værdien : og var3 skal have værdien 40 hvordan kan jeg gøre dette ?
jeg er ikke haj til at dele op i strenge som nok er noget af det der skal til
| |
| Kommentar Fra : gandalf |
Dato : 05-09-04 01:42 |
|
Hej Glenn007
here we go :
var1 = hour(tim)
var2 = ":"
var3 = minute(tim)
Dette burde klare dit problem.
En anden måde ville være at bruge funktionen split.
strs = tim.split(":")
var1 = strs(0)
var2 = strs(1)
var3 = strs(2)
Gandalf
| |
| Kommentar Fra : Yude |
Dato : 05-09-04 12:21 |
|
En anden måde kunne være:
var3 = Right(tim,2) // Eller var3 = Mid(tim,Len(tim)-2,2)
var2 = Mid(tim,Len(tim)-3,1) // Eller var3 = Mid(tim,3,1), men det går galt hvis tiden kan være fx 9:32
var1 = Left(tim,Len(tim)-3) // Eller lidt kønnere Left(tim,Len(tim)-Len(var2&var3))
En lille detalje er, at typen af variablerne automatisk bliver sat til string. Altså tekst. Hvis du gerne vil behandle var1 og var3 som tal, kan du gøre eksplicit bruge CInt: var1 = CInt(Left(tim,Len(tim)-Len(var2&var3))).
Har ikke testet det, men eventuelle fejl kan du sikkert selv fikse. Eller må du lige spørge igen.
Læs evt. mere her (det er ikke så kryptisk, som det måske ser ud):
Right: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/vsfctright.asp
Mid: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/vsfctmid.asp
Left: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/vsfctleft.asp
CInt: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/vsfctcint.asp
Samlet oversigt: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/vtorifunctions.asp
> Gandalf
Er du sikker på, at din sidste udgave af var2 holder? Så vidt jeg husker, bliver strs = Array("12","40"). Altså strs(0)="12" og strs(1)="40".
\Yude
| |
| Kommentar Fra : gandalf |
Dato : 05-09-04 20:23 |
|
Hej Yude
Nej, jeg kan ikke huske om en split funktion tager seperatoren med i return værdien. Glenn007 hvis ikke må du bruge dette eksempel i stedet :
strs = tim.split(":")
var1 = strs(0)
var2 = ":"
var3 = strs(1)
Med hensyn til at selv splitte strengen op kan volde problemer da du skal vide længden på hver eneste ciffer i din streng, og i Yude's eksempel forventes det er din time og minutssats er 2 karakter lang. Så istedet for at hardcode en længde på 2, så brug "tim.indexof(":").
En anden måde ville være at bruge regulær expressions, her behøver du ikke vide hvor mange ciffer din time og minutssats er.
regexp = "(?<timer>[0-9]+)(?<seperator>[\:])(?<minutes>[0-9]+)"
Hvis du ikke kender noget til regexp så er det et godt udgangspunkt for at lære at strengbehandle da det giver dig nogle kæmpe fordele.
Nu tror jeg vi har været alle muligheder igennem, hvad siger du Yude, kan du komme i tanke om der er nogen som vi har glemt?
God fornøjelse Glenn007.
Gandalf
| |
| Kommentar Fra : glenn007 |
Dato : 07-09-04 19:15 |
|
tak for hjælpen gutter, flot hjælp må jeg sige, det gav lys forude hehe
PS har i andre også haft problemmer med at komme i forbindelse med kandu`s server de sidste dage ?
| |
| Kommentar Fra : Yude |
Dato : 07-09-04 19:22 |
| | |
| Du har følgende muligheder | |
|
Dette spørgsmål er blevet annulleret, det er derfor ikke muligt for at tilføje flere kommentarer.
| |
|
|