Avatar billede sakosako Nybegynder
23. marts 2002 - 23:52 Der er 2 kommentarer og
1 løsning

Random dato

Jeg har brug for lidt hjælp til et dato problem

Jeg skal bruge en dropdownboks der viser dato for en uge af
gangen så det kommer til at se sådan her ud:

03-03-2002 - 09-03-2002
10-03-2002 - 16-03-2002
osv

Det skal bruges når der tilføjes en værdi til en tabel.
Men den skal generer en random dato/tid inden for den valgte uge
kan de lade sig gøre ???
og evt. hvordan...

Avatar billede coltau Juniormester
24. marts 2002 - 13:49 #1
her er en kode der laver en checkbox med 10 uger som beskrevet. Samtidig vælger den et bestemt tidspunkt i en bestemt uge.

<%
function FirstDateInWeek(AYear, AWeek)
  ' Find første dato i uge 1 i år
  VD = DateSerial(AYear, 1, 1)
  ' Da DatePart uge 1 starter den 01-01-Year så kør frem til uge 2
  do while DatePart("ww", VD) <> 2
    VD = DateAdd("d", 1, VD)
  loop
  ' Gå en uge tilbage og vi har første dato i uge 1
  VD = DateAdd("ww", -1, VD)
  ' Adder antallet uger og vi har første dato i uge: AWeek
  VD = DateAdd("ww", AWeek - 1, VD)
  ' Korriger for ugestart fra Søndag til Mandag
  FirstDateInWeek = DateAdd("d", 1, VD)
end function

' Lav select-box med 10 uger i
TheYear = 2002
TheWeek = 1
FirstDate = FirstDateInWeek(TheYear, TheWeek)
LastDate = DateAdd("ww", 1, FirstDate - 1)

Response.Write("<select>" & vbCrLf)
for Uge = 1 to 10
  Response.Write "<option value=" & Uge & ">" & FirstDate & " " & LastDate & "</option>"  & VbCrLf
  FirstDate = DateAdd("ww", 1, FirstDate)
  LastDate = DateAdd("ww", 1, FirstDate - 1)
next
Response.Write("</select><br>" & vbCrLf)

' Find et tilfældigt tidspunkt i en bestemt uge
function RndMellem(Fra, Til) ' find et tilfældigt tal melle Fra og Til. Begge tal inklusive
  randomize
  til = til + 1
  RndMellem = int((Til - Fra) * rnd) + Fra
end function

H = RndMellem(0, 23) ' Find tilfældig time
M = RndMellem(0, 59) ' Find tilfældig minut
S = RndMellem(0, 59) ' Find tilfældig sekund
D = RndMellem(0, 6) ' Find tilfældig dag i ugen

TheYear = 2002
TheWeek = 2 ' Bestem ugen
RndTime = FirstDateInWeek(TheYear, TheWeek)
Response.Write("Tilfældig tidspunkt i uge: " & TheWeek & " " & RndTime & " " & DateAdd("ww", 1, RndTime - 1) & "<br>")

RndTime = DateAdd("d", D, RndTime) ' Bestem den tilfældig dag i ugen
RndTime = CDate(CStr(RndTime) & " " & H & ":" & M & ":" & S & "")
Response.Write("Tidspunkt: " & RndTime & "<br>")

%>

Håber du kan bruge det.
Avatar billede sakosako Nybegynder
24. marts 2002 - 22:06 #2
Du er eddermame skarp ;-)
Det er første gang jeg benytter denne side - hvordan giver jeg dig point??

Jeg har lige et sidste spørgsmål - kan det lade sig gøre at den reloader når man har valgt uge - så den finder den tilfældige dato for den uge man har valgt ?? -
Avatar billede coltau Juniormester
26. marts 2002 - 15:47 #3
Det kan man godt. Når man vælger uge og siden reloader skal man sørge for at disse linier:

TheYear = 2002
TheWeek = 2 ' Bestem ugen

ændres i henhold til det man har valgt.

TheYear = 2002
TheWeek = Request.Form("selectbox") ' Bestem ugen

Hvor selectbox er navnet på select-boxen, som jeg har glemt at give et navn:

Response.Write("<select name='selectbox'>" & vbCrLf)

Jeg ved ikke hvordan man giver point - men jeg tror man vælger et svar og lukker. ???
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester