<% lejestart = "12-03-2006,13-03-2006" %> <Script Language=VBscript RUNAT=Server> startdato = date() if instr(lejestart,startdato) > 0 then bgfarve = "#CC3300" else bgfarve = "#e8e8e8" end if </script>
??
for så "udskriver" du jo bare variablen til VB-scriptet: <% lejestart = "12-03-2006,13-03-2006" %> <Script Language=VBscript RUNAT=Server> startdato = date() lejestart = <%= lejestart %> if instr(lejestart,startdato) > 0 then
startdato = date() lejestart = "<%= lejestart %>" if instr(lejestart,startdato) > 0 then
den er der når jeg udskriver den
men hvis jeg gør sådan
lejestart = "13-03-2006,15-03-2006" ' ;-)) det er jo ikke meningen - men for at test if instr(lejestart,startdato) > 0 then bgfarve = "#CC3300" else bgfarve = "#e8e8e8" end if
den har du her - (har tjekket hvor lejestart ligger og den ligger før vb
Function WriteDage(dato) dim strHTML, ugedag, maaned, count, startdato,idag,lejestart,bgfarve startdato = CheckFirstMonthDay(dato) maaned = getMonth(startdato)
strHTML = "<tr class='lookup'><td class='lookupWeek'>" & GetWeekOfYear(startdato) & "</td>" if (GetDayOfWeek(startdato) > 1) then strHTML = strHTML & "<td class='ingen' colspan='" & GetDayOfWeek(startdato)-1 & "'> </td>" end if
do while maaned = getMonth(startdato) if (GetDayOfWeek(startdato)) = 1 and (startdato <> dato) then strHTML = strHTML & "</td></tr><tr class='lookup'><td class='lookupWeek'>" & GetWeekOfYear(startdato) & "</td>" end if strHTML = strHTML & "<td align='left' valign='top'" if (fradato <> "" and tildato <> "" and fradato <= startdato and tildato >= startdato) then strHTML = strHTML & " class='lookupselected'" end if idag = date() if startdato < idag then strHTML = strHTML & " span class='none'>" & GetDayOfMonth(startdato) & "</span></td>" startdato = startdato + 1 else
if instr(lejestart,startdato) > 0 then bgfarve = "#CC3300" else bgfarve = "#e8e8e8" end if strHTML = strHTML & ">" strHTML = strHTML & "<table width='100%' height='100%' border='1' cellspacing='0' cellpadding='0'>" strHTML = strHTML & " <tr><td align='left' valign='top' width='50%' height='40%'><font size='1' face='Verdana, Arial, Helvetica, sans-serif'><a href=java script:Date_Onclick('" & startdato & "');><b>" & GetDayOfMonth(startdato) & "</b></a></font></td>" strHTML = strHTML & "<td></td> </tr>" strHTML = strHTML & "<tr> <td colspan='2' height='30%' bgcolor='"&bgfarve&"'>"&lejestart&"</td></tr>" strHTML = strHTML & " <tr> <td colspan='2' height='30%'></td> </tr>" strHTML = strHTML & "</table></td>" startdato = startdato + 1 end if loop if (GetDayOfWeek(startdato) <> 1) then strHTML = strHTML & "<td class='ingen' colspan='" & 8-GetDayOfWeek(startdato) & "'> </td>" end if WriteDage = strHTML End Function
Det er jo almindelig ASP og ikke en "HTML-Script" (havde ikke et bedre ord for det).
Problemet ligger i at du har erklæret variablen lokalt i funktionen, også bruger den ikke den globale. Fjerne derfor lejestart fra DIM listen i funktionen, også skulle den gerne bruge den rigtige...
Nu er jeg lidt forviret... Den skal stadig være dim'et, men som global og ikke i funktionen:
dim aa, bb <--globale variabel aa = 1 bb = 2
function funk() dim bb, cc <--Lokal variabel (dur kun i funktionen) cc = 3 response.write aa '<-- Udskriver "1" response.write bb '<-- Udskriver "" (fordi det er den lokale variable) response.write cc '<-- Udskriver "3" end function call funk() response.write aa '<-- Udskriver "1" response.write bb '<-- Udskriver "2" response.write cc '<-- Fejler (fordi den ikke er dim'et global)
tak for denne lille opgave løsning ;-)) - så blev jeg så klog, men kan man ikke få en variabel med ned i funktionen, har siddet og leget lidt med at lave den til en session men så tager den kun den sidste dato med, og de er med begge to. ????
if instr(session("lejestart"),startdato) > 0 then bgfarve = "#CC3300" else bgfarve = "#e8e8e8" end if strHTML = strHTML & ">" strHTML = strHTML & "<table width='100%' height='100%' border='1' cellspacing='0' cellpadding='0'>" strHTML = strHTML & " <tr><td align='left' valign='top' width='50%' height='40%'><font size='1' face='Verdana, Arial, Helvetica, sans-serif'><a href=java script:Date_Onclick('" & startdato & "');><b>" & GetDayOfMonth(startdato) & "</b></a></font></td>" strHTML = strHTML & "<td></td> </tr>" strHTML = strHTML & "<tr> <td colspan='2' height='30%' bgcolor='"&bgfarve&"'>"&lejestart&"</td></tr>" strHTML = strHTML & " <tr> <td colspan='2' height='30%'></td> </tr>" strHTML = strHTML & "</table></td>" startdato = startdato + 1 end if loop if (GetDayOfWeek(startdato) <> 1) then strHTML = strHTML & "<td class='ingen' colspan='" & 8-GetDayOfWeek(startdato) & "'> </td>" end if WriteDage = strHTML End Function
Nu jeg husker det, så havde jeg et problem lidt ala dette for noget tid siden, og der var det også med incluedes, så måske der ligger en bug i ASP her???
Den gang løste jeg det ved at sende variablen med som parameter på funktionen, så måske du skulle gøre det samme:
Function WriteDage(dato, fLejeStart) .. end function
Jeps, parametre er de data som sendes med funktionskaldet: call enFunktion(parameter1, parameter2)
Man kan endag bestemme hvordan data skal sendes (som Pointer eller kopi):
Function enFunktion(byVal par1, byRef par2) par1 = 345 par2 = 345 end Function test1 = 123 test2 = 123 call enFunktion(test1, test2) response.write test1 response.write test2
byVal betyder at det er en kopi af værdien. byRef betyder at det er en Pointer. Og i dette tilfælde betyder det faktisk at test2 har fået værdien 345.
Hvis man ikke angiver en byXxx bliver det sendt som byRef, så du skal være opmærksom på at ændre data i variabler som er sendt som parameter, da de oprindelige også bliver ændret.
kan ikke få det til at funke ??? lejestart = "15-03-2006,17-03-2006" ' variabel fra asp
Function WriteDage(dato) dim strHTML, ugedag, maaned, count, startdato,idag,lejestart,bgfarve startdato = CheckFirstMonthDay(dato) maaned = getMonth(startdato)
strHTML = "<tr class='lookup'><td class='lookupWeek'>" & GetWeekOfYear(startdato) & "</td>" if (GetDayOfWeek(startdato) > 1) then strHTML = strHTML & "<td class='ingen' colspan='" & GetDayOfWeek(startdato)-1 & "'> </td>" end if
do while maaned = getMonth(startdato) if (GetDayOfWeek(startdato)) = 1 and (startdato <> dato) then strHTML = strHTML & "</td></tr><tr class='lookup'><td class='lookupWeek'>" & GetWeekOfYear(startdato) & "</td>" end if strHTML = strHTML & "<td align='left' valign='top'" if (fradato <> "" and tildato <> "" and fradato <= startdato and tildato >= startdato) then strHTML = strHTML & " class='lookupselected'" end if idag = date() if startdato < idag then strHTML = strHTML & " span class='none'>" & GetDayOfMonth(startdato) & "</span></td>" startdato = startdato + 1 else
'her skal den finde ud af om datoen er i variablen - hvordan det ???
if instr(lejestart,startdato) > 0 then bgfarve = "#CC3300" else bgfarve = "#e8e8e8" end if strHTML = strHTML & ">" strHTML = strHTML & "<table width='100%' height='100%' border='1' cellspacing='0' cellpadding='0'>" strHTML = strHTML & " <tr><td align='left' valign='top' width='50%' height='40%'><font size='1' face='Verdana, Arial, Helvetica, sans-serif'><a href=java script:Date_Onclick('" & startdato & "');><b>" & GetDayOfMonth(startdato) & "</b></a></font></td>" strHTML = strHTML & "<td></td> </tr>" strHTML = strHTML & "<tr> <td colspan='2' height='30%' bgcolor='"&bgfarve&"'>"&lejestart&"</td></tr>" strHTML = strHTML & " <tr> <td colspan='2' height='30%'></td> </tr>" strHTML = strHTML & "</table></td>" startdato = startdato + 1 end if loop if (GetDayOfWeek(startdato) <> 1) then strHTML = strHTML & "<td class='ingen' colspan='" & 8-GetDayOfWeek(startdato) & "'> </td>" end if WriteDage = strHTML End Function
Select Case LCase(Request("mode")) Case "kalender" dim startdato, FraDato, TilDato, FejlTekst, AdvisTekst
'find startdate fra QueryString, brug d.d. hvis ingen angivet startdato = date if Request.QueryString("startdato").Count > 0 then if (IsDate(Request.QueryString("startdato"))) then startdato = CDate(Request.QueryString("startdato")) end if end if
'find evt. valgt periode for at kunne markere dette if (Request.QueryString("fradato").Count > 0 and Request.QueryString("tildato").Count > 0) then if (IsDate(Request.QueryString("fradato"))) then FraDato = CDate(Request.QueryString("fradato")) end if if (IsDate(Request.QueryString("tildato"))) then TilDato = CDate(Request.QueryString("tildato")) end if end if startdato = CheckFirstMonthDay(startdato) lejestart = "16-03-2006,17-03-2006"
Function CheckDato (FeltNavn, Felt, Req) dim Fejl, NyFejlTekst Felt = trim(Felt)
' *** VALIDER FELTET *** if Felt = "" AND LCase(Req) = "yes" then FejlTekst = FejlTekst & FeltNavn & ", skal udfyldes<br>" Fejl = True else Fejl = False end if
if Felt <> "" and Fejl = False then if not IsDate(Felt) then FejlTekst = FejlTekst & FeltNavn & ", er ikke en dato<br>" Fejl = True end if end if ' *** VALIDER FELTET, slut ***
' *** Formater FELTET *** if Fejl = False then if Felt <> "" then Felt = CDate(Felt) end if end if ' *** Formater FELTET, slut ***
Function WriteDage(dato) dim strHTML, ugedag, maaned, count, startdato,idag,bgfarve,lejestart startdato = CheckFirstMonthDay(dato) maaned = getMonth(startdato)
strHTML = "<tr class='lookup'><td class='lookupWeek'>" & GetWeekOfYear(startdato) & "</td>" if (GetDayOfWeek(startdato) > 1) then strHTML = strHTML & "<td class='ingen' colspan='" & GetDayOfWeek(startdato)-1 & "'> </td>" end if
do while maaned = getMonth(startdato) if (GetDayOfWeek(startdato)) = 1 and (startdato <> dato) then strHTML = strHTML & "</td></tr><tr class='lookup'><td class='lookupWeek'>" & GetWeekOfYear(startdato) & "</td>" end if strHTML = strHTML & "<td align='left' valign='top'" if (fradato <> "" and tildato <> "" and fradato <= startdato and tildato >= startdato) then strHTML = strHTML & " class='lookupselected'" end if idag = date() if startdato < idag then strHTML = strHTML & " span class='none'>" & GetDayOfMonth(startdato) & "</span></td>" startdato = startdato + 1 else
if instr(lejestart,startdato) <> 0 then bgfarve = "#CC3300" else bgfarve = "#e8e8e8" end if strHTML = strHTML & ">" strHTML = strHTML & "<table width='100%' height='100%' border='1' cellspacing='0' cellpadding='0'>" strHTML = strHTML & " <tr><td align='left' valign='top' width='50%' height='40%'><font size='1' face='Verdana, Arial, Helvetica, sans-serif'><a href=java script:Date_Onclick('" & startdato & "');><b>" & GetDayOfMonth(startdato) & "</b></a></font></td>" strHTML = strHTML & "<td></td> </tr>" strHTML = strHTML & "<tr> <td colspan='2' height='30%' bgcolor='"&bgfarve&"'>"&""&"</td></tr>" strHTML = strHTML & " <tr> <td colspan='2' height='30%'></td> </tr>" strHTML = strHTML & "</table></td>" startdato = startdato + 1 end if loop if (GetDayOfWeek(startdato) <> 1) then strHTML = strHTML & "<td class='ingen' colspan='" & 8-GetDayOfWeek(startdato) & "'> </td>" end if WriteDage = strHTML End Function
' *****
Function GetYear(dato) dim locDato if dato = "" then locDato = now else locDato = dato end if GetYear = datepart("yyyy", locDato, vbMonday, vbFirstFourDays) end function
Function GetQuarter(dato) dim locDato if dato = "" then locDato = now else locDato = dato end if GetQuarter = datepart("q", locDato, vbMonday, vbFirstFourDays) end Function
Function GetMonth(dato) dim locDato if dato = "" then locDato = now else locDato = dato end if GetMonth = datepart("m", locDato, vbMonday, vbFirstFourDays) end function
Function GetDayOfYear(dato) dim locDato if dato = "" then locDato = now else locDato = dato end if GetDayOfYear = datepart("y", locDato, vbMonday, vbFirstFourDays) end function
Function GetDayOfMonth(dato) dim locDato if dato = "" then locDato = now else locDato = dato end if GetDayOfMonth = datepart("d", locDato, vbMonday, vbFirstFourDays) end function
Function GetDayOfWeek(dato) dim locDato if dato = "" then locDato = now else locDato = dato end if GetDayOfWeek = datepart("w", locDato, vbMonday, vbFirstFourDays) end function
Function GetWeekOfYear(dato) dim locDato if dato = "" then locDato = now else locDato = dato end if GetWeekOfYear = datepart("ww", locDato, vbMonday, vbFirstFourDays) end function
Function GetHour(dato) dim locDato if dato = "" then locDato = now else locDato = dato end if GetHour = datepart("h", locDato, vbMonday, vbFirstFourDays) end function
Function GetMinute(dato) dim locDato if dato = "" then locDato = now else locDato = dato end if GetMinute = datepart("n", locDato, vbMonday, vbFirstFourDays) end function
Function GetSecond(dato) dim locDato if dato = "" then locDato = now else locDato = dato end if GetSecond = datepart("s", locDato, vbMonday, vbFirstFourDays) end function
Function GetDaysRestOfMonth(dato) dim locDato, locYear, locDayOfMonth, locMonth, locNewDato if dato = "" then locDato = now else locDato = dato end if
locDayOfMonth = GetDayOfMonth(locDato) locMonth = GetMonth(locDato) locYear = GetYear(locDato) if locMonth = 12 then LocMonth = 1 locYear = locYear + 1 else locMonth = locMonth + 1 end if locNewDato = DateSerial(locYear, locMonth, 1) GetDaysRestOfMonth = locNewDato-locDato end function
Function GetDaysRestOfYear(dato) dim locDato, locNewDato, locYear if dato = "" then locDato = now else locDato = dato end if locYear = GetYear(locDato)
locNewDato = DateSerial(locYear, 12, 31) GetDaysRestOfYear = locNewDato-locDato+1 end function
Function CheckFirstWeekDay(startdato) if GetDayOfWeek(startdato) <> 1 then startdato = startdato - (GetDayOfWeek(startdato) - 1) end if CheckFirstWeekDay = startdato end Function
Function CheckFirstMonthDay(startdato) if GetDayOfMonth(startdato) <> 1 then startdato = startdato - (GetDayOfMonth(startdato) - 1) end if CheckFirstMonthDay = startdato end Function
Function GetMonthText(maanednr) dim maaned maaned = array("Januar","Februar","Marts","April","Maj","Juni","Juli","August","September","Oktober","November","December") GetMonthText = maaned(maanednr-1) end Function
Function GetDayText(dagnr) dim ugedag ugedag = array("Mandag","Tirsdag","Onsdag","Torsdag","Fredag","Lørdag","Søndag") GetDayText = MID(ugedag(dagnr-1),1,1) end Function
if mid (CStr(CDate(36525)),1,2) = 31 then dd = mid (CStr(Dato),1,2) mm = mid (CStr(Dato),4,2) else dd = mid (CStr(Dato),4,2) mm = mid (CStr(Dato),1,2) end if
'check 2 eller 4 cifret årstal if Len (CStr(CDate(36525))) = 8 then yy = mid (CStr(CDate(Dato)),7,2) else yy = mid (CStr(CDate(Dato)),7,4) end if
'mm = CInt(mm) 'dd = CInt(dd) SQLDATO = mm & "-" & dd & "-" & yy 'else ' SQLDATO = dato 'end if end function
Det kommer til at tage lidt tid at finde ud af, og så meget tid har jeg ikke idag. Smid en besked herinde i morgen, så jeg får en mail, ellers glemmer jeg bare ?'et.
det lyder bare super - du skal nok få flere point ;-)) - men nu har jeg bare sat mig for at den bare skal virke(kender du det) - har mast med den i nogle dage og kan snart ikke se skoven for bare træer ;-))) du får en besked imorgen.
Fortsat god dag
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.