01. juli 2007 - 01:21Der er
15 kommentarer og 1 løsning
ugen i minutter
Hey E
jeg har arbejdet lidt på denne kode der skal vise minutterne i hele ugen startende med time().
Koden virker ca. OK. Fejlen er at minutterne for hver time starter ved aktuel minut fx 20 istedet for altid at stare med 0.
kode: <% Dim arrDage, varDage, varHour, k i = 0 for i = 0 to 6 arrDage = arrDage & WeekdayName(Weekday(Date+i)) & ":" next varDage = Split(arrDage,":") %> <table border="1"><tr> <% for k = 0 to 6 %> <td colspan="1440"> <% response.Write(varDage(k))%> <table border="1"><tr> <% for j = 0 to 24 ' definer første dags længde efterfulgt af 24 timer for resten af ugen %> <td> <% varHour = ((hour(time)+j) mod 24) if len(varHour) < 2 then varHour = "0" & varHour %> <%=varHour%> <table border="1"><tr> <% for i = 0 to 60 ' 1440 min på en dag %> <td> <% if len((minute(time())+i) mod 60) < 2 then response.Write("0" & (minute(time())+i) mod 60) else response.Write((minute(time())+i) mod 60) end if%> </td> <% next%> </tr></table> </td> <% next%> </tr></table> </td> <% next%> </tr></table>
Hos Computerworld it-jobbank er vi stolte af at fortsætte det gode partnerskab med folkene bag IT-DAY – efter vores mening Danmarks bedste karrieremesse for unge og erfarne it-kandidater.
<% for i = 0 to 59 ' 1440 min på en dag %> <td> <% if i < 10 then response.write "0" response.write i %> </td>
i stedet for
<% for i = 0 to 60 ' 1440 min på en dag %> <td> <% if len((minute(time())+i) mod 60) < 2 then response.Write("0" & (minute(time())+i) mod 60) else response.Write((minute(time())+i) mod 60) end if%> </td>
Ellers starter den jo med nuværende minuttal.. Dvs, hvis klokken på din computer er 12:16, vil den starte med 16. Hvis klokken er 01:21, vil den starte med 21..
Så i stedet for at bruge "minute(time())", skal du bare bruge "i"..
Jeg går ud fra, at du bruger modulus, for at finde ud af, at minuttallet er under 10, og derfor skal tilføje et "0", så der f.eks. kommer til at stå "01", "02", osv.. Her kan du igen bare bruge i.. Check om i er under 10.. hvis det er sandt udskriv "0"..
koden er tiltænkt at skulle starte med nuværende minuttal, mit problem er bare at finde ud af hvor mange minutter der er tilbage inden næste time starter. Derefter skal alle 60 minutter bruges til de resterende timer i ugen.
modulus kender jeg ikke, har du et ex.
Kender ASP kun til 10 minutter (enheder) på en time?
jeg fik tid til at udvide koden, og resulatatet er OK.
kode: Dim arrDage, varDage, varHour, k, varMin, varTime %> <% varTime = hour(time())%> <% varMin = minute(time())%> <table border="1"> <tr> <% for k = 0 to 6 %> <td> <% response.Write(WeekdayName(Weekday(Date+k)))%> <table border="1"> <tr> <% if k = 0 then for j = 0 to (23-varTime)%> <td> <% varHour = ((hour(time)+j) mod 24) if len(varHour) < 2 then varHour = "0" & varHour %> <%=varHour&" "&(WeekdayName(Weekday(Date+k)))%> <% if j = 0 then %> <table border="1"> <tr> <% for i = 0 to (59-varMin) ' 1440 min på en dag %> <td> <% if len((minute(time())+i) mod 60) < 2 then response.Write("0" & (minute(time())+i) mod 60) else response.Write((minute(time())+i) mod 60) end if%> </td> <% next%> </tr> </table> <% else%> <table border="1"> <tr> <% for i = (0-varMin) to (59-varMin) ' 1440 min på en dag %> <td> <% if len((minute(time())+i) mod 60) < 2 then response.Write("0" & (minute(time())+i) mod 60) else response.Write((minute(time())+i) mod 60) end if%> </td> <% next%> </tr> </table> <% end if%> </td> <% next else for j = (0-varTime) to (23-varTime)%> <td> <% varHour = ((hour(time)+j) mod 24) if len(varHour) < 2 then varHour = "0" & varHour %> <%=varHour&" "&(WeekdayName(Weekday(Date+k)))%> <% if j = 0 then %> <table border="1"> <tr> <% for i = 0 to (59-varMin) ' 1440 min på en dag %> <td> <% if len((minute(time())+i) mod 60) < 2 then response.Write("0" & (minute(time())+i) mod 60) else response.Write((minute(time())+i) mod 60) end if%> </td> <% next%> </tr> </table> <% else%> <table border="1"> <tr> <% for i = (0-varMin) to (59-varMin) ' 1440 min på en dag %> <td> <% if len((minute(time())+i) mod 60) < 2 then response.Write("0" & (minute(time())+i) mod 60) else response.Write((minute(time())+i) mod 60) end if%> </td> <% next%> </tr> </table> <% end if%> </td> <% next end if%> </tr> </table> </td> <% next%> </tr> </table>
Bauedata >>> http://support.microsoft.com/kb/276494 Dit udemærkede python program, som er den eneste løsning på den stillede opgave kan nemt fungere i ASP. Det er en af styrkerne ved ASP at det så nemt kan integrere løsninger som alledere fungerer og man derved sparer tid = penge på sine projekter. ASP har en komando som hedder <%LANGUAGE=python%> den sættes ind i starten af programmet. herefter omslutts din python kode med <% python kode %> Dine print sætninger erstattes med Response.write() og voila mskjold behøver ikke at lære et nyt sprog han kan bare bruge bauerdata's løsning og komme videre med sine opgaver eller han kan vente på at nogle eksperter skriver programmet til ham i rent asp
tak for indlæg, jeg er lidt flov over ikke at have testet ex endnu, men jeg har prioriteret tiden hårdt. opgaven skal stadigvæk løses, men ikke endnu, så ha tålmodighed med mig :-/
jeg har ikke haft tid til at teste men lukker hermed spg og takker for input
Synes godt om
Ny brugerNybegynder
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.