[VB6/ASP]datum "t/m" problemen

Pagina: 1
Acties:

  • LordMithril
  • Registratie: Augustus 2001
  • Laatst online: 30-08 17:44
We zijnhier bezig met een programma dat een rij datums inleest en de op een volgende datums als volgt neerzet "23-11-2002 t/m 30-11-2002"
dus met een rij als
18-11-2002<br>19-11-2002<br>23-11-2002<br>24-11-2002<br>25-11-2002<br>26-11-2002<br>27-11-2002<br>28-11-2002<br>29-11-2002<br>30-11-2002<br>
moet worden neergezet als
18-11-2002
19-11-2002
23-11-2002
t/m
30-11-2002
we hadden het programma al werkende met 1 regel datums maar zodra we een andere regels probeerde werkte het niet meer :( kennelijk hebben we het prgramma zo gemaakt dat het echt maar met 1 regel werkt..
helaas zien wij door de bomen het bos niet meer.
hieronder volgt onze code.
meer dan dit is er niet.

ASP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
<% Response.Buffer = True %>
<%
Jaar = "2002"

'deze regel werkt niet
'Datum = "25-10<br>26-10<br>27-10<br>28-10<br>29-10<br>31-10<br>1-11<br>2-11<br>5-11<br>6-11<br>8-11<br>9-11<br>10-11<br>11-11<br>12-11"

'deze regel werkt wel
Datum = "25-10<br>26-10<br>27-10<br>28-10<br>29-10<br>31-10<br>1-11<br>2-11<br>5-11<br>6-11<br>8-11<br>12-12"
'          0        1        2         3        4       5        6       7      8       9        10
Dim Splitdatum2(30)


Datum = Replace(Datum, "<br>", "<BR>")
Splitdatum = Split(Datum,"<BR>")

t = 0
Do While t <= UBound(Splitdatum)
    Response.Write(t)
    SplitDatum2(t) = CDate((SplitDatum(t) & "-" & Right(Jaar, 2)))
    t = t + 1
Loop
Splitdatum2(UBound(Splitdatum) + 1) = "1"

DatumTeller = UBound(SplitDatum) + 1

x = 0
Do While x =< DatumTeller
    Test = DatumLoop(x)
    Test2 = x - Test
    If Test > 1 Then
        DatumLijst = DatumLijst & "<br>" & Splitdatum2((Test2)) & "<br>t/m<br>" & Splitdatum2(Test2 + Test)
    Else
        DatumLijst = DatumLijst & "<br>" & Splitdatum2(Test2 + (Test - 1))
    End If
    x = x + 1
Loop

Response.Write(DatumLijst)

Function DatumLoop(x)
    c = 0
    Do While DminD(x) = True
        x = x + 1
        c = c + 1
    Loop
    DatumLoop = c
End Function

Function DminD(b)
    If Splitdatum2(b) - Splitdatum2(b + 1) = -1 Then
        DminD = True
    Else
        DminD = False
    End If
End Function



Response.Write VerwerkteDatum
%>

[ Voor 0% gewijzigd door LordMithril op 14-10-2002 13:33 . Reden: stukje gedisabled code weg ]

Bier, Whiskey en Metal!!


  • Polderdijk
  • Registratie: December 2001
  • Laatst online: 28-08 15:58
Zijn daar geen standaard functies voor???

Webhosting van SkyHost.nl: 25 Mb / 1 Gb windows hosting € 4,50 p/m excl.btw!


  • LordMithril
  • Registratie: Augustus 2001
  • Laatst online: 30-08 17:44
woohoo we hebben hem werkende
ik zal voor de search ff de werkende source posten

ASP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<% Response.Buffer = True %>
<%
Jaar = "2002"
Datum = "29-12-01<br>30-12-01<br>31-12-01<br>1-1-02<br>3-1-02<br>5-1-02<br>6-1-02<br>7-1-02<br>9-1-02<br>10-1-02<br>12-1-02"


'          0        1        2         3        4       5        6       7      8       9        10
Dim Splitdatum2(30)


Datum = Replace(Datum, "<br>", "<BR>")
Splitdatum = Split(Datum,"<BR>")

t = 0
Do While t <= UBound(Splitdatum)
    SplitDatum2(t) = CDate((SplitDatum(t)))
    t = t + 1
Loop
Splitdatum2(UBound(Splitdatum) + 1) = "1"

DatumTeller = UBound(SplitDatum) + 1

x = 0
Do While x < DatumTeller
    Test = DatumLoop(x)
    Test2 = x - Test
    If Test > 1 Then
        DatumLijst = DatumLijst & "<br>" & Splitdatum2((Test2)) & "<br>t/m<br>" & Splitdatum2(Test2 + Test)
    Else
        DatumLijst = DatumLijst & "<br>" & Splitdatum2(Test2 + (Test))
    End If
    x = x + 1
Loop

Response.Write(DatumLijst)

Function DatumLoop(x)
    c = 0
    Do While DminD(x) = True
        x = x + 1
        c = c + 1
    Loop
    If c = 1 Then
        x = x - 1
    End if
    DatumLoop = c
End Function

Function DminD(b)
    If Splitdatum2(b) - Splitdatum2(b + 1) = -1 Then
        DminD = True
    Else
        DminD = False
    End If
End Function

Response.Write VerwerkteDatum
%>

Bier, Whiskey en Metal!!