06. august 2007 - 18:20
Der er
28 kommentarer og 1 løsning
finde et starttidspunkt
Hej Eksperter... det er ikke så svært at trække to tidspunkter fra hinanden og dermed findes diferensen... men hvordan finder man starttidspunktet, hvis man har tiden imellem og sluttidspunktet... /jsc
Annonceindlæg tema
Forsvar & beredskab
Cybersikkerhed, realtidsdata og robuste it-systemer er blevet fundamentet for moderne forsvar.
06. august 2007 - 18:27
#1
På samme måde :-) slut - start = mellem slut - mellem = start :-)
06. august 2007 - 18:27
#2
..og: start + mellem = slut
06. august 2007 - 18:32
#3
tror også lige jeg lavede en torsk der... men det er vist fordi der sker en fejl pga to arrays... jeg vil have en løkke med to arrays der kører par løb... der var derfor jeg opgav og skrev hertil, da jeg troede det var tidspunkterne... jeg testet koden uden løkken og det virker fint.... - så mangler jeg bare løkken ;)
06. august 2007 - 18:33
#4
Jeg har ingen anelse om hvad det er du prøver på.. :-) Måske skulle du prøve med noget kode..? :-)
06. august 2007 - 18:37
#5
For t = 0 to (Ubound(navnesplit)-Lbound(navnesplit)) Sec = DateDiff("s", rejsetidssplit(t), ankomsttid) Min = Sec \ 60 Sec = Sec Mod 60 Hour = Min \ 60 Min = Min Mod 60 Sec = Right("0" & Sec, 2) Min = Right("0" & Min, 2) Hour = Right("0" & Hour, 2) response.write navnesplit(t) & " skal rejse klokken: " & Hour & ":" & Min & ":" & Sec & "<br>" Next
06. august 2007 - 18:38
#6
Fejltype: Der opstod en Microsoft VBScript-kørselsfejl (0x800A000D) Typer stemmer ikke overens: 'rejsetidssplit(...)'
06. august 2007 - 18:42
#7
Er rejsetidssplit en array? Hvis ja, hvordan definerer du den? Vis alle linier, der har med rejsetidssplit at gøre..
06. august 2007 - 18:48
#8
ankomsttid = request("ankomsttid") navne = request("navne1") & "," & request("navne2") & "," & request("navne3") rejsetid = request("rejsetid1") & "," & request("rejsetid2") & "," & request("rejsetid3") navnesplit = split(navne, ",") rejsetidssplit = split(rejsetid, ",") For t = 0 to (Ubound(navnesplit)-Lbound(navnesplit)) Sec = DateDiff("s", rejsetidssplit(t), ankomsttid) Min = Sec \ 60 Sec = Sec Mod 60 Hour = Min \ 60 Min = Min Mod 60 Sec = Right("0" & Sec, 2) Min = Right("0" & Min, 2) Hour = Right("0" & Hour, 2) response.write navnesplit(t) & " skal rejse klokken: " & Hour & ":" & Min & ":" & Sec & "<br>" Next ^^ det kører fint hvis man sætter 0,1 og 2 ind istedet for t...
06. august 2007 - 18:53
#9
iøvrigt... scriptet jeg har skrevet med i koden virker ikke til mellemtider på over et døgn... kan man gøre noget ved det?
06. august 2007 - 18:53
#10
altså rejsetiden...
06. august 2007 - 18:58
#11
1) Brug aldrig request. Brug altid den korrekte form, f.eks. Data modtages via en FORM: request.form("...") Data modtages via en URL: request.querystring("...") Data aflæses fra en session: session("...") Data aflæses fre en cookie: request.cookie("...") 2) Prøv lige at udskrive rejsetid: rejsetid = request("rejsetid1") & "," & request("rejsetid2") & "," & request("rejsetid3") response.write rejsetid response.end ' afslutter afviklingen!
06. august 2007 - 19:01
#12
det kommer som det skal... 00:10:00,02:24:00,03:40:20
06. august 2007 - 19:02
#13
Så prøv lige med: Sec = DateDiff("s", CDate(rejsetidssplit(t)), ankomsttid)
06. august 2007 - 19:03
#14
Fjern linierne: response.write rejsetid response.end ' afslutter afviklingen! Får du stadig fejl?
06. august 2007 - 19:05
#15
Egentligt må du gerne behover "response.write rejsetid", så du kan se om der er fejl i strengen.. Hvis du vil nå at se strengen, skal toppen af dokumentet nok se sådan ud: Option Explicit ' alle variabler SKAL defineres med Dim VariabelNavn = undgå stavefejl On Error Resume Next ' Fortsæt selvom der er problemer Response.Buffer = False ' send data til browseren, som de bliver genereret
06. august 2007 - 19:07
#16
jep... Der opstod en Microsoft VBScript-kørselsfejl (0x800A000D) Typer stemmer ikke overens: 'CDate' sorry
06. august 2007 - 19:09
#17
Prøv med: CDate("" & rejsetidssplit(t))
06. august 2007 - 19:11
#18
Hmm.. prøv det her: For t = 0 to (Ubound(navnesplit)-Lbound(navnesplit)) response.write "t: " & t & "<br>" response.write "indhold: " & rejsetidssplit(t) & "<br>" response.write "dato: " & CDate("" & rejsetidssplit(t)) & "<hr>" response.end Hvad skriver den over "------------------" linien?
06. august 2007 - 19:15
#19
Kommer lige i tanke om noget.. slet linien "response.end".. Sådan: For t = 0 to (Ubound(navnesplit)-Lbound(navnesplit)) response.write "t: " & t & "<br>" response.write "indhold: " & rejsetidssplit(t) & "<br>" response.write "dato: " & CDate("" & rejsetidssplit(t)) & "<hr>" Hvad står der (i variablerne) når den crasher?
06. august 2007 - 19:16
#20
to sek
06. august 2007 - 19:36
#21
ved ikke lige hvad der er gået galt... men det her ser ud til at virke: <% Option Explicit ' alle variabler SKAL defineres med Dim VariabelNavn = undgå stavefejl 'On Error Resume Next ' Fortsæt selvom der er problemer Response.Buffer = False ' send data til browseren, som de bliver genereret %> <table border="0"> <form action="rejse.asp?action=calculate" method="post"> <tr> <td>Sæt ankomsttidspunkt (Format: tt:mm:ss):</td> <td><input type="text" name="ankomsttid"></td> </tr> <tr> <td>Navne fra distination1:</td> <td><input type="text" name="navne1"></td> <td>Rejsetid (Format: tt:mm:ss):</td> <td><input type="text" name="rejsetid1"></td> </tr> <tr> <td>Navne fra distination2:</td> <td><input type="text" name="navne2"></td> <td>Rejsetid (Format: tt:mm:ss):</td> <td><input type="text" name="rejsetid2"></td> </tr> <tr> <td>Navne fra distination3:</td> <td><input type="text" name="navne3"></td> <td>Rejsetid (Format: tt:mm:ss):</td> <td><input type="text" name="rejsetid3"></td> </tr> <tr> <td></td> <td></td> </tr> <tr> <td></td> <td><input type="submit" value="Beregn" name="submit"></td> </tr> </form> </table> <br><br> <% Dim ankomsttid, navne, rejsetid, navnesplit, rejsetidssplit, t Dim Hour, Min, Sec if request("action") = "calculate" then response.write "Resultat:<br><br>" ankomsttid = request.form("ankomsttid") 'medvirkende i rejsen er: navne = request.form("navne1") & "," & request.form("navne2") & "," & request.form("navne3") rejsetid = request.form("rejsetid1") & "," & request.form("rejsetid2") & "," & request.form("rejsetid3") navnesplit = split(navne, ",") rejsetidssplit = split(rejsetid, ",") response.write "Ankomsttidspunkt: " & ankomsttid & "<br>navne: " & navne & "<br>" & "tider: " & rejsetid & "<br>" 'afgang klokken: For t = 0 to (Ubound(navnesplit) - Lbound(navnesplit)) Sec = DateDiff("s", CDate("" & rejsetidssplit(t)), ankomsttid) Min = Sec \ 60 Sec = Sec Mod 60 Hour = Min \ 60 Min = Min Mod 60 Sec = Right("0" & Sec, 2) Min = Right("0" & Min, 2) Hour = Right("0" & Hour, 2) response.write navnesplit(t) & " skal rejse klokken: " & Hour & ":" & Min & ":" & Sec & "<br>" Next 'For t = 0 to (Ubound(navnesplit)-Lbound(navnesplit)) 'response.write "t: " & t & "<br>" 'response.write "indhold: " & rejsetidssplit(t) & "<br>" 'response.write "dato: " & CDate("" & rejsetidssplit(t)) & "<hr>" 'Next end if %> resultat: Ankomsttidspunkt: 22:20:00 navne: 1,2,3 tider: 01:30:00,10:03:40,04:10:00 1 skal rejse klokken: 20:50:00 2 skal rejse klokken: 12:16:20 3 skal rejse klokken: 18:10:00 det eneste der så mangler er at man overskrider et døgn... både omkring ankomsten og hvis rejsetiden er længere end et døgn... så sker der fejl...
06. august 2007 - 19:39
#22
Hvis tiden kan overskride et døgn, skal du have dato med.. så er tidspunktet ikke længere nok.. Det vil jeg mene er løsningen..
06. august 2007 - 19:40
#23
..ellers kan tidspunktet vel blive negativt.. hvilket ikke er så godt.. :-)
06. august 2007 - 19:40
#24
hvordan kan man indsætte det nemmest muligt - er det til?
06. august 2007 - 19:42
#25
Det meste ville være, hvis brugeren også indtastede dato, når han indtastede tidspunkt..
06. august 2007 - 19:44
#26
jep... problemet er bare at jeg har rejsetiderne i timer:min:sek men jeg finder nok på noget med at lege lidt på rejsetider inden de udsættes for datediff.. gider du at svare?
06. august 2007 - 19:46
#27
Du bliver nødt til at få dato med.. altså, at datoen også indtastes.. Du kan ikke finde datoen, ved at kigge på tidspunktet.. med mindre at du har sat en regel op (i hovedet), der siger: "fra-tidspunkter hører altid til dags dato".. eller noget i den stil.. Svar.. :-)
06. august 2007 - 19:49
#28
Takker for points.. hav en god dag! :-)
06. august 2007 - 19:52
#29
ilm
Kurser inden for grundlæggende programmering