Avatar billede djsteiner Nybegynder
10. februar 2009 - 22:16 Der er 5 kommentarer og
1 løsning

Fejl i Asp kalender dagens dato

Hej jeg står og kunne godt bruge noget hjælp til en asp kalender.

Mit problem er at jeg har fået fat en dette asp script som ikke helt virker,datoerne stemmer ikke overens for eksempel dages dato viser den rigtigt nok,men den stemmer ikke overens med den rigtige ugedag.


Jeg tror det er i denne liner fejlen er

first_day=weekday(dateSerial(year(date()),month(date()),01),vBMonday)-1

Håber dette er forståligt.

På forhånd tak for hjælpen.


Her har i koden.

<%
    'Toke & Thomas's kalender @ webberiet.dk 2007
    'v. 1.5
   
   
    'Dette er det eneste du må rette i med mindre du ved hvad du laver!!
 
     
            'Dette er baggrundsfarven for felterne ( på nær weekend )   
                felt_baggrundsfarve = "AC9B7A"
                       
            'Dette er lørdag og søndags baggrundsfarve
                Loerdag_soendag_farve = "BBAE95"   
               
            'Dette er farven for mouseover for ALLE felter   
                felt_mouseoverfarve = "D7CAB3"
           
            'Dette er baggrundsfarven for selve kalenderen   
                baggrundsfarve = "E3D5BB"
                   
            'Dette er farven på kalender dagene   
                felt_textfarve = "000000"
       
            'Dette er overskriftens farve       
                aar_textfarve = "000000"
           
            'Dette er farven for dagene ( M, T, O, T, F, L og S )   
                dag_textfarve = "000000"   
               
            'Dette er farven på dagen i dag
                denne_dagfarve = "FFFFFF"
           
            'Dette er pilenes farve   
                pil_farve = "000000"
               
            'Pil IKON, MAX 2 tegn.
                leftpil = server.HTMLEncode("<")
                rightpil = server.HTMLEncode(">")

            'Dette er border farven på kalenderen   
                kant_farve = "E3D5BB"

            'Dette er hvilken fil den skal gå til, når der bliver skiftet måned            
                gaa_til_hvilken_fil = "default.asp"
           
            'Dette er hvilken fil den skal gå til, hvis der bliver trykket på en dag.
            'Denne sender din dato med i querystring.   
                event_side = "default.asp"

           
'---------------------------------------------------------------------------------------------------------------------------'           
           
    if session("maanede") = "" then
      session("maanede") = month(now)
    end if
                   
    if session("foerstedag") = "" then
   
'her tror jeg fejlen er
        first_day=weekday(dateSerial(year(date()),month(date()),01),vBMonday)-1
        'response.Write(first_day)

        session("foerstedag") = first_day
     
    end if               
                   
    if session("aaret") = "" then
      session("aaret") = 0
    end if           
                           
                                                       
    if Session("Aar") = "" then
      Session("Aar") = Year(now)
    end if
   
    if session("antalSkudAar") = "" then
   
        hm2 = int(Session("Aar")/4)   
        hm = Session("Aar")/4   
       
        if hm = hm2 then
            session("antalSkudAar") = 1
        else
            session("antalSkudAar") = 0
        end if
           
       
       
       
    end if
   
'-------------------------   
           
           

   
    if request.QueryString("maanede") = "minus"    then
      session("maanede") = session("maanede") - 1
       
    elseif request.QueryString("maanede") = "plus" then                   
      session("maanede") = session("maanede") + 1   
    end if
                   
                   
                   
    if session("maanede") > 12 then
   
        session("maanede") = 1           
        Session("Aaret") = Session("Aaret") + 1           
        Session("Aar") = Session("Aar") + 1
       

        hm2 = int(Session("Aar")/4)   
        hm = Session("Aar")/4   
       
        if hm = hm2 then
            session("antalSkudAar") = session("antalSkudAar") + 1
        end if


                                       
    elseif session("maanede") < 1 then
   
   
        session("maanede") = 12           
        Session("Aaret") = Session("Aaret") - 1           
        Session("Aar") = Session("Aar") - 1

        hm2 = int((Session("Aar")+1)/4)   
        hm = (Session("Aar")+1)/4   
       
        if hm = hm2 then
            session("antalSkudAar") = session("antalSkudAar") - 1
        end if

       
       
    end if   
       
   
               
    dennemaane = session("maanede")
                   
    if dennemaane = 1 then
      overskrift = "Jan."
      maanede = 31
      session("foerstedag") = session("foerstedag") + 0
                           
   
    elseif dennemaane = 2 then
      overskrift = "Feb."
     
        hm2 = int(Session("Aar")/4)   
        hm = Session("Aar")/4                   
           
        if hm = hm2 then
            maanede = 29
        else       
            maanede = 28
        end if   

    session("foerstedag") = session("foerstedag") +  3
           
    elseif dennemaane = 3 then
          overskrift = "Mar."
          maanede = 31       
         
            hm2 = int(Session("Aar")/4)   
            hm = Session("Aar")/4                   
               
            if hm = hm2 then
                session("foerstedag") = session("foerstedag") +  4
            else       
                session("foerstedag") = session("foerstedag") +  3
            end if             
               
             
           
    elseif dennemaane = 4 then
            overskrift = "Apr."
            maanede = 30
           
            hm2 = int(Session("Aar")/4)   
            hm = Session("Aar")/4                   
                   
            if hm = hm2 then
                session("foerstedag") = session("foerstedag") +  7
            else       
                session("foerstedag") = session("foerstedag") +  6
            end if               
                   
           
    elseif dennemaane = 5 then
            overskrift = "Maj."                   
            maanede = 31
           
            hm2 = int(Session("Aar")/4)   
            hm = Session("Aar")/4                   
                   
            if hm = hm2 then
                session("foerstedag") = session("foerstedag") +  2
            else       
                session("foerstedag") = session("foerstedag") +  1
            end if               

           
    elseif dennemaane = 6 then
            overskrift = "Jun."
            maanede = 30
           
            hm2 = int(Session("Aar")/4)   
            hm = Session("Aar")/4                   
               
            if hm = hm2 then
                session("foerstedag") = session("foerstedag") +  5
            else       
                session("foerstedag") = session("foerstedag") +  4
            end if   
           
           
    elseif dennemaane = 7 then
            overskrift = "Jul."
            maanede = 31
           
            hm2 = int(Session("Aar")/4)   
            hm = Session("Aar")/4                   
               
            if hm = hm2 then
                session("foerstedag") = session("foerstedag") +  7
            else       
                session("foerstedag") = session("foerstedag") +  6
            end if   
         
           
    elseif dennemaane = 8 then
            overskrift = "Aug."
            maanede = 31
           
            hm2 = int(Session("Aar")/4)   
            hm = Session("Aar")/4                   
               
            if hm = hm2 then
                session("foerstedag") = session("foerstedag") +  3
            else       
                session("foerstedag") = session("foerstedag") +  2
            end if   
         
           
    elseif dennemaane = 9 then
            overskrift = "Sep."
            maanede = 30
           
            hm2 = int(Session("Aar")/4)   
            hm = Session("Aar")/4                   
               
            if hm = hm2 then
                session("foerstedag") = session("foerstedag") +  6
            else       
                session("foerstedag") = session("foerstedag") +  5
            end if   
         
           
    elseif dennemaane = 10 then
            overskrift = "Okt."
            maanede = 31
           
            hm2 = int(Session("Aar")/4)   
            hm = Session("Aar")/4                   
               
            if hm = hm2 then
                session("foerstedag") = session("foerstedag") +  1
            else       
                session("foerstedag") = session("foerstedag") +  0
            end if   
         
           
    elseif dennemaane = 11 then
            overskrift = "Nov."
            maanede = 30
           
            hm2 = int(Session("Aar")/4)   
            hm = Session("Aar")/4                   
               
            if hm = hm2 then
                session("foerstedag") = session("foerstedag") +  4
            else       
                session("foerstedag") = session("foerstedag") +  3
            end if   
         
           
    elseif dennemaane = 12 then
            overskrift = "Dec."
            maanede = 31
           
            hm2 = int(Session("Aar")/4)   
            hm = Session("Aar")/4                   
               
            if hm = hm2 then
                session("foerstedag") = session("foerstedag") +  6
            else       
                session("foerstedag") = session("foerstedag") +  5
            end if   
         
    end if   
           
   
    'Hvis vi gaar frem af i aarene
    if Session("Aaret") > 0 then


        hm2 = int(Session("Aar")/4)   
        hm = Session("Aar")/4   
        temp_aaret = Session("Aaret")   
       
        if hm = hm2 then

       
            if overskrift = "Jan." or overskrift = "Feb." then
            session("foerstedag") = session("foerstedag") + temp_aaret + session("antalSkudAar") - 1
            else
            session("foerstedag") = session("foerstedag") + temp_aaret + session("antalSkudAar")
            end if
       
       

       
        else
       
            session("foerstedag") = session("foerstedag") + temp_aaret + session("antalSkudAar")
               
        end if

   
    'Hvis vi gaar tilbage i aarene
    elseif Session("Aaret") < 0 then
   
        hm2 = int(Session("Aar")/4)   
        hm = Session("Aar")/4   
        temp_aaret = Session("Aaret") - (2*Session("Aaret"))   
       
        if hm = hm2 then

       
            if overskrift = "Jan." or overskrift = "Feb." then
            session("foerstedag") = session("foerstedag") - (temp_aaret + session("antalSkudAar")+1)
            else
            session("foerstedag") = session("foerstedag") - (temp_aaret + session("antalSkudAar"))
            end if
       
       

       
        else
       
            session("foerstedag") = session("foerstedag") - (temp_aaret + session("antalSkudAar"))
       
       
        end if

       
           
    end if   
           
               

%>
<script type="text/JavaScript">
<!--
function MM_goToURL() { //v3.0
  var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
  for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
}
//-->
</script>

<table border="0" cellpadding="0" cellspacing="2" style="border:1px #<%=kant_farve%> dotted; font-family:Verdana, Arial, Helvetica, sans-serif; background-color:#<%=baggrundsfarve%>;">
<tr>
    <td align="center"><a href=<%=gaa_til_hvilken_fil%>?maanede=minus style="text-decoration:none; color:#<%=pil_farve%>;  font-size:10px;"><strong><%=leftpil%></strong></a></td>
    <td colspan="5" align="center" style="font-size:12px; color:#<%=aar_textfarve%>;"><u><strong><%=overskrift%>&nbsp;<%=(Session("Aar"))%></strong></u></td>
    <td align="center"><a href=<%=gaa_til_hvilken_fil%>?maanede=plus style="text-decoration:none; color:#<%=pil_farve%>; font-size:10px;"><strong><%=rightpil%></strong></a></td>
</tr>
<tr style="color:#<%=dag_textfarve%>">
    <td align="center" style="font-size:12px;"><strong>M</strong></td>
    <td align="center" style="font-size:12px;"><strong>T</strong></td>
    <td align="center" style="font-size:12px;"><strong>O</strong></td>
    <td align="center" style="font-size:12px;"><strong>T</strong></td>
    <td align="center" style="font-size:12px;"><strong>F</strong></td>
    <td align="center" style="font-size:12px;"><strong>L</strong></td>
    <td align="center" style="font-size:12px;"><strong>S</strong></td>
</tr>

<%
                   
    counter = 1
    currenttr = 1
       
    if session("foerstedag") > 6 then
        do while session("foerstedag") > 6
        session("foerstedag") = session("foerstedag") - 7
        loop
    elseif session("foerstedag") < 0 then
        do while session("foerstedag") < 0
        session("foerstedag") = session("foerstedag") + 7
        loop
    end if
           
             
    for i = 0 to maanede + session("foerstedag")
             
        if counter -1 = maanede then   
       
        else   
             
              if currenttr = 1 then
                response.Write("<tr bgcolor=#"&felt_baggrundsfarve&" style=font-size:10px; style=color:#"&felt_textfarve&">")
              end if
           

            response.Write("<td ")
           
           
            if session("foerstedag")-1 < i then
           
                response.Write("onmousedown=MM_goToURL('parent','"&event_side&"?dato=")
                if counter < 10 then
                response.Write("0"&counter)
                else
                response.Write(counter)                       
                end if
               
                response.Write("-")
               
                if dennemaane < 10 then                       
                response.Write("0"&dennemaane)
                else
                response.Write(dennemaane)
                end if
               
                response.Write("-"&session("Aar")&"'); ")
           
            end if
           
           
            if currenttr = 6 OR currenttr = 7 then
                response.write ("onmouseout=this.style.backgroundColor='#"&loerdag_soendag_farve&"'; bgcolor='#"&loerdag_soendag_farve&"'")
                else
                response.write ("onmouseout=this.style.backgroundColor='#"&felt_baggrundsfarve&"';")
            end if
           

               
               
                response.write (" align=center height=20 width=20")
                if session("foerstedag") > i then
                response.Write(" onmouseover=this.style.cursor='default';")
                else
                response.Write(" onmouseover=this.style.cursor='hand';")
                end if
                response.Write("this.style.backgroundColor='#"&felt_mouseoverfarve&"';>")
             
             
             
            if session("foerstedag") > i then
                response.Write("<div style='background-color:#"&baggrundsfarve&"; height: 20px; width=20px;'>&nbsp;</div>")

             
            elseif day(now) = counter AND month(now) = dennemaane AND year(now) = Session("Aar") then
                response.Write("<div style='color:#"&denne_dagfarve&";text-decoration:underline;'><b>"&day(now)&"</b></div>")
           
                counter = counter + 1
               
            elseif i > maanede - 1 + session("foerstedag") then
                response.Write("<div style='background-color:#"&baggrundsfarve&";'></div>")
               
               

            else
                response.Write(counter)
                counter = counter + 1
           
            end if
             
             
             
            response.Write("</td>")
           
        end if
             
             
             
            if currenttr = 7 then
                response.Write("</tr>")
            end if       
               
            currenttr = currenttr + 1         
           
            if currenttr = 8 then
                currenttr = 1
            end if
           
    next
             
    session("foerstedag") = ""
                     
                 
%>     
</table>
Avatar billede mitbrugernavn Praktikant
11. februar 2009 - 10:26 #1
Som du selv er inde på så ret denne linie

first_day=weekday(dateSerial(year(date()),month(date()),01),vBMonday)-1

til


        first_day=weekday(dateSerial(year(date()),month(date()),day(date())),vBMonday)-0
        'response.Write(first_day)

ret 01 til day(date()) og sidst ret 1 til 0
Avatar billede djsteiner Nybegynder
11. februar 2009 - 12:49 #2
Ja det virker som det skal nu mange tak for det.

Det var ikke sådan at du kunne hjælpe mig lidt mere med denne kalender. Jeg er selvføldig villig til at give flere point får det.

Det jeg gerne ville have hjælp til var en form hvor man kunne vægler en bestemt månede og årog så blive sendt dertil.

Noget i stil med det her jeg ved bare ikke lige helt hvordan jeg kan få det til at virke.

<form action="default.asp?maanede=<%=dennemaane+1%>"  method=post>Skift til:
<select name=month>
<option value=<% dennemaane = 1%>>Apr
<option value=<% dennemaane = 2%>>Maj
<option value=<% dennemaane = 3%>>Jun
<option value=<% dennemaane = 4%>>Jul
<option value=<% dennemaane = 5%>>Aug
<option value=<% dennemaane = 6%>>Sep
</select>

<select name=month>
<option value=<% session("aaret")%>>2010

</select>

<input type=submit value=Skift>
</form>
Avatar billede mitbrugernavn Praktikant
11. februar 2009 - 14:36 #3
du sætter dette ind lige før din tabel til kalenderen begynder


<form action="default.asp"  method=post>
Skift til:
<select name="maaned">
<%
for b = 1 to 12
md_dato = "01"&"-"&b&"-"&year(now())

if int(request("maaned")) = int(b) then
valgt_month = "selected"
else
if b = month(now()) then
valgt_month = "selected"
end if
end if
%>
<option value="<%=b%>" <%=valgt_month%>><%=monthname(Month(md_dato))%></option>
<%
valgt_month = ""

next
%></select>

<select name="aar">
<%
aar_nu = year(date())
aar_frem = int(aar_nu) + 5

for c = aar_nu to aar_frem
valgt_aar = ""

if int(request("aar")) = int(c) then
valgt_aar = "selected"
else
if b = month(now()) then
valgt_aar = "selected"
end if
end if
%>
<option value="<%=c%>" <%=valgt_aar%>><%=c%></option>
<%
next
%>
</select>

<input type=submit value=Skift>
</form>

og dette i toppen før felt_baggrundsfarve


if request("aar") <> "" then Session("Aar") = request("aar")
if request("maaned") <> "" then Session("maanede") = request("maaned")
Avatar billede djsteiner Nybegynder
11. februar 2009 - 18:15 #4
Super det virker bare, nu skal jeg så bare lige have sat en database til så man kan udvægler nogle bestemte datoer også skal disse blive røde.

endnu engang tak.
Avatar billede mitbrugernavn Praktikant
11. februar 2009 - 22:56 #5
super - husk at afslut spørgsmålet ved at accepterer svar.
Avatar billede djsteiner Nybegynder
11. februar 2009 - 23:39 #6
hvordan gør man lige det ??
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