24. oktober 2003 - 13:48Der er
11 kommentarer og 1 løsning
Undersøge om der findes en session der er et interval mindre
Hejsa
Jeg har brug for lidt hjælp. Jeg har en række sessions i stil med følgende: Session("Tid-1200") = "True" Session("Tid-1230") = "True"
Jeg starter så med at undersøge om min session er true og hvis den er det skal den udføre en funktion:
If Session("Tid-" & TTime & "") = "True" Then Bla bla End If
Det er denne funktion jeg skal have lidt hjælp til. For er overstående true skla jeg have undersøgt om der findes en session som har en mindre tids værdi og som er true. Det vil sige at hvis jeg har fået true på følgende: Session("Tid-1200") Så skal jeg have undersøgt om der findes en Session("Tid-1159") eller Session("Tid-1158") osv. som er true.
Jeg skal have undersøgt ned til et tidsinterval som ligger derfra. Denne værdi ligger i en variabel, Interval. Er mit interval 30 skla jeg altså have undersøgt alle fra: Session("Tid-1159") til Session("Tid-1131") og i den række følge, altså ikke fra Session("Tid-1131") til Session("Tid-1159").
Hvordan klare jeg lige den?
Hvis I ikke forstår hvad jeg mener så skriv venligt og jeg skal prøve at uddybe det!
Ved ikke om jeg fatter dig helt men.. måske kan dette hjælpe dig For i = 1200 to 1 tempvar = "Tid-" & i If Session(tempvar) = "True" then Bla Bla End if Next Håber det hjælper, ellers må du lige skrive igen.. MVH Danq
Jeg kan allerede nu se at der er et problem med overstående. Jeg har min tid i en varriabel, TTime, altså skal jeg undersøge på denne måde: For i = TTime to x Bla bla i = i - 1 Next Det gør at hvis TTime = 1200 så vil den undersøge alle tal fra 1200 til 1161 hvilket den ikke skal. Den skal starter med at undersøge tallne fra 1160 i overstående tilfælde.
Her er så også et problem med x da x jo skal være min nuværende tid minus mit interval, altså x = TTime - Interval. Men har jeg igen en TTime på 1200 og et interval på 30 så undersøger den fra 1200 til 1170 og ikke fra 1160 til 1131. Kan du se hvad jeg mener. Systemet skal funger så TTime kan have et minutantal fra mellem 0 og 59 og at Intervallet kan ligge mellem 1 og 60.
Jeg tror jeg har fundet en måde at komme omkring det jeg beskrev i overstående kommentar:
If Len(TTime) = 3 Then Tid = 0 & TTime Else Tid = TTime End If
If Right(Tid, 2) = "00" Then NyTid = Left(Tid, 2) - 1 & 60 Else NyTid = Tid End If
For i = NyTid to (NyTid - Interval + 1) If Session("Tid-" & i) = "True" then Tid = Left(NyTid, 2) & ":" & Right(NyTid, 2) SkrivLinie Tid, strKommentar End if i = i - 1 Next
For i = NyTid to (NyTid + Interval - 1) If Session("Tid-" & i) = "True" then Tid = Left(NyTid, 2) & ":" & Right(NyTid, 2) SkrivLinie Tid, strKommentar End if i = i + 1 Next
Derudover så jeg tilføjet en del der gerne skulle gøre at den også undersøger om der er nogen session i intervallet fremad der er true. Men jeg syntes ikke den udskriver det den skal. Den melder heller ikke nogen fejl. Er der nogen der kan se om der er noget galt med min kode ...
Sikke noget l*** jeg fik lavet der ... det gik lige lidt for hurtigt. Den første For skal natruligvis se således ud:
For i = (NyTid - Interval + 1) to (NyTid - 1) If Session("Tid-" & i) = "True" Then Tid = Left(i, 2) & ":" & Right(i, 2) SkrivLinie Tid, strKommentar End if Next
Den virker også fint. Kigger lige på nr 2 og ser om jeg skal have hjælp til den!
For i = (Tid + 1) to (Tid + Interval - 1) If Session("Tid-" & i) = "True" then Tiden = Left(i, 2) & ":" & Right(i, 2) SkrivLinie Tiden, strKommentar End if Next
Så virker det næsten, men ... ja der er altid en men ... er min sluttid eksempelvis 20:04 skal den slutte med at skrive 20:00 og så 20:04 men det gør den ikke. Den skrive: 19:30 20:04 20:00
2 sek ... jeg tror jeg har fået fikset det ... nu har jeg vidst lige kun et problem tilbage ... skal lige se omd et er et problem jeg skla have hjælp til ...
Jeg fik det sku til at virke ... whee! Sikke en omgang! Tak for start tippet det satte gang i hele tanke processen!
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.