Avatar billede jwwd Nybegynder
23. maj 2007 - 12:49 Der er 7 kommentarer og
4 løsninger

Kalender eller datepicker til visning af wmv fil

Hej

Jeg søger et script, som kan afspille en wmvfil der er datostemplet.
Jeg tænker på en form for kalender. Når man vælger en bestemt dato, skal der i browseren afspilles denne dags datostemplet wmv video fil.
wmv filen har filnavnet: ååååmdddayvideo.wmv (eks. 2007522dayvideo.wmv)
Hvis det er muligt må browseren også gerne vise en datostemplet gif fil samtidig med at wmv filen bliver afspillet. Gif filen har datoformatet ååååmmdd.gif (eks. 20070522.gif)
På forhånd tak.
Ps. hvis der ikke findes en wmv eller gif fil for den valgte dag - må der gerne vises, at filerne ikke findes.

Se dette link med et eksempel på afspilning af wmv filen:
www.buskelundtoften.dk/vejret/video.asp

Jeg har fået en kammerat til at lave et asp script, som kan vise .gif filen - men det kniber lidt med at få wmv filen med.
Se eks: www.buskelundtoften.dk/vejret/test
Avatar billede w13 Novice
23. maj 2007 - 21:23 #1
Jeg skal lige høre, hvad er det præcis, som skal gøres med videoen.

Har du kalenderen, eller hvordan?

Skal tjekkes, om den videoen findes, og hvis den gør, skal der indsættes en Windows Media Player-afspiller, som viser den?
Avatar billede jwwd Nybegynder
23. maj 2007 - 21:43 #2
Hej og tak for din tilbagemelding.

Nej - jeg har (desværre) ikke kalenderen.

Når man klikker på en dato i kalenderen - skal wmv filen afspilles i browseren. Se link: www.buskelundtoften.dk/vejret/video.asp
Hvis der ikke findes en wmv for den valgte dag - må der gerne stå at der desværre ikke er video for denne dag.

Hvis det så skal være rigtig godt - kunne jeg godt tænke mig, at på samme side i browseren som wmv filen afspilles blev vist den datostemplede .gif fil.

Det er ikke afgørende for mig hvilket programmeringssprog scriptet kører - mit webhotel kører PHP, ASP, ASP.NET 1.1+2.0, Pearl

På forhånd tak
Avatar billede w13 Novice
23. maj 2007 - 22:22 #3
Jeg prøver at se, om jeg ikke får tid til at lave noget. Jeg er i gang med mine eksamener, så det er ikke helt 100%.

Hvordan skal kalenderen være, skal den fylde hele siden, eller må den være i et lille popup-vindue? Jeg mener, skal den bruges til andet, eller skal den kun bruges til at vælge en dato for at se videoklip for den givne dato?
Avatar billede jwwd Nybegynder
23. maj 2007 - 22:34 #4
Hejsa

Det lyder sørme godt - men eksamen er vigtigere en mit lille script.

Jeg skal kun bruge kalenderen til at vise videoklip (og evt .gif filen) i browseren.
Den må godt bare være en lille kalender, så jeg kan få plads til andet på siden.


På forhånd tak for hjælpen

JWWD
Avatar billede w13 Novice
23. maj 2007 - 23:44 #5
Fint, jeg stykker nok noget sammen i morn eller i overmorn. Får lidt travlt i morgen nemlig :)
Avatar billede jwwd Nybegynder
24. maj 2007 - 11:02 #6
Hej w13 - det lyder rigtig godt.

Tusind tak for hjælpen.
Avatar billede w13 Novice
27. maj 2007 - 17:55 #7
Godt! Nu består det altså af 3 filer! Nr. 1 er filen, som viser kalenderen, filmen og animationen. Jeg er gået ud fra, at din film er af avi-format, men det kan nemt ændres. Ligeledes har jeg sat variablen strFoldername til "/upload/", dvs. at filerne skal ligge i mappen upload i roden af dit site, men det kan på samme måde også bare ændres efter behag. Du kan kalde denne fil, lige hvad du vil.
Nr. 2 er popup'en, som hedder calendarpopup.asp.
Og nr. 2 er popup'ens stylesheet, kaldet calenderpopup.css.

1) kalddenligehvadduvil.asp
-----------------------------------
<%strDate = date()
If Request.Form("calendar") <> "" Then strDate = Request.Form("calendar")%>

<form name="calendarform" method="post">
    <input type="text" id="calendar" name="calendar" value="<%=strDate%>" readonly="readonly" onclick="CalPop('document.calendarform.calendar');">
    <input type="button" value="Vælg dato" onclick="CalPop('document.calendarform.calendar');">
</form>

<script language="JavaScript" type="text/JavaScript">
function CalPop(sInputName)
{
    window.open("calendarpopup.asp?N=" + escape(sInputName) + "&DT=" + escape(window.eval(sInputName).value), "calwin", "toolbar=0, status=no, titlebar=no, dependent=1, width=428, height=230");
}
</script>

<%strFoldername ="/upload/"

Set objFSO = CreateObject("Scripting.FileSystemObject")

strFilename = strDate & ".avi"
strFilepath = Server.MapPath(strFoldername & strFilename)

If objFSO.FileExists(strFilepath) = true Then
    Response.Write "<p><embed src=""" & strFoldername & strFilename & """></embed></p>" & vbCrLf
End If

strFilename = strDate & ".gif"
strFilepath = Server.MapPath(strFoldername & strFilename)

If objFSO.FileExists(strFilepath) = true Then
    Response.Write "<p><img alt=""" & strDate & """ border=""0"" src=""" & strFoldername & strFilename & """></p>" & vbCrLf
End If

Set objFS = nothing%>
------------------------------
2) calendarpopup.asp
------------------------------
<%@ Language=VBScript %>
<%Option Explicit%>
<%Response.Expires = -1
Session.LCID = 1030%>
<%
    Dim m_dtCurrentDate        'Currently selected date/time
    Dim m_lDayofFirst        'The day of the week that the first of the current month falls on
    Dim m_lDaysInMonth        'Number of days in the selected month
    Dim m_dtBegin            'Beginning date of the selected month
    Dim m_dtEnd            'Ending date of the selected month

    Dim m_lYear            'Currently selected Year
    Dim m_lMonth            'Currently selected Month
    Dim m_lDay            'Currently selected Day of the month
   
    Dim m_sInputName        'Name of the input field from the parent page
    Dim m_dtPassedInDate

    Dim i
   
    m_sInputName = Request.QueryString("N")

    'Build the date/time from individual parts if there has been a post back.
    'Otherwise, just get the current date/time.
    If Request.QueryString("A") <> "" Then
        m_lYear = Request.Form("fldYear")
        m_lMonth = Request.Form("fldMonth")
        m_lDay = Request.Form("fldDay")
       
        'Fix the day of the month if we switch from a month that has less days in the month
        'than the previously selected month and the day selected is not on the newly selected
        'month (ie - going from March 31st and then selecting February which does not have a 31st.)
        m_dtBegin = m_lMonth & "/1/" & m_lYear
        m_dtEnd = DateAdd("m", 1, m_dtBegin)
        m_lDaysInMonth = DateDiff("d", m_dtBegin, m_dtEnd)
        If CLng(m_lDay) > CLng(m_lDaysInMonth) Then m_lDay = m_lDaysInMonth
       
        'Build the Date
        m_dtCurrentDate = m_lDay & "/" & m_lMonth & "/" & m_lYear
       
        'If the date is not valid after all this then use the current date.
        If IsDate(m_dtCurrentDate) Then
            m_dtCurrentDate = CDate(m_dtCurrentDate)
        Else
            m_dtCurrentDate = Now()
        End If
       
    Else
        m_dtPassedInDate = Request.QueryString("DT")
        If CStr(m_dtPassedInDate) <> "" Then
            If IsDate(m_dtPassedInDate) Then
                m_dtCurrentDate = CDate(m_dtPassedInDate)
            Else
                m_dtCurrentDate = Now()
            End If
        Else
            m_dtCurrentDate = Now()   
        End If
    End If
   
    'Break out certain parts of the currently selected date/time.
    m_lYear = DatePart("yyyy", m_dtCurrentDate)
    m_lMonth = DatePart("m", m_dtCurrentDate)
    m_lDay = DatePart("d", m_dtCurrentDate)

    m_dtBegin = CDate(DatePart("m", m_dtCurrentDate) & "/1/" & DatePart("yyyy", m_dtCurrentDate))
    m_dtEnd = DateAdd("m", 1, m_dtBegin)
    m_lDayofFirst = DatePart("w", m_dtBegin)
    m_lDaysInMonth = DateDiff("d", m_dtBegin, m_dtEnd)
%>
<HTML>
<HEAD>
<TITLE>Kalender</TITLE>
<LINK rel="stylesheet" type="text/css" href="calendarpopup.css">
</HEAD>
<BODY bgcolor="#D4D0C8">
<FORM method=post action="?A=1&N=<%=m_sInputName%>" id=Form1 name=Form1>
<table class=overall cellpadding=0 cellspacing=10>
<tr>
    <td>
        <%DisplayCalendar%>
    </td>
    <td valign=top>
        <table>
        <tr>
            <td class="Title">
                Måned:<BR>
            </td>
            <td class="Title">
                År:<BR>       
            </td>
        </tr>
        <tr>
            <td>
                <SELECT id=fldMonth name=fldMonth onchange="java script:document.Form1.submit();">
                <%DisplayMonths%>
                </SELECT>
            </td>
            <td>
                <SELECT id=fldYear name=fldYear onchange="java script:document.Form1.submit();">
                    <%For i = Year(Now())-100 To Year(Now())
                        If i = m_lYear Then
                            Response.Write "<OPTION SELECTED>"
                        Else
                            Response.Write "<OPTION>"
                        End If
                        Response.Write i
                        Response.Write "</OPTION>" & vbCrLf
                    Next%>
                </SELECT><BR>
            </td>
        </tr>
        </table>
        <BR><BR><BR><BR>
        <INPUT type="button" value="OK" id=cmdOK name=cmdOK class=Button onclick="SetDateOnParent();window.opener.calendarform.submit();">&nbsp;
        <INPUT type="button" value="Annuller" id=cmdCancel name=cmdCancel class=Button onclick="java script:window.close();">
    </td>
</tr>
</table>
</FORM>
</BODY>
</HTML>
<%
Sub DisplayMonths
    Dim arrMonths        'An array of months starting with January
    Dim i                'counter
   
    arrMonths = Array("Januar", "Februar", "Marts", "April", "Maj", "Juni", "Juli", "August", "September", "Oktober", "November", "December")
   
    For i = 0 To UBound(arrMonths)
        If CLng(i) = (CLng(m_lMonth) - 1) Then
            Response.Write "<OPTION value=" & i + 1 & " SELECTED>" & arrMonths(i) & "</OPTION>"
        Else
            Response.Write "<OPTION value=" & i + 1 & ">" & arrMonths(i) & "</OPTION>"
        End If
    Next
End Sub

Sub DisplayCalendar
    Dim arrDays                'An array of days starting with Sunday
    Dim i                    'counter
    Dim lColumnCount        'Column Count
    Dim lNumber                'For building the calendar
    Dim bFinished            'For building the calendar
    Dim bStart                'For building the calendar
   
    arrDays = Array("Sø", "Ma", "Ti", "On", "To", "Fr", "Lø")
   
    Response.Write "<table width=100 class='Calendar' cellpadding=4 cellspacing=0><tr class=Header>"
    For i = 0 to Ubound(arrDays)
        Response.write "<td>" & arrDays(i) & "</td>"
    Next
   
    lNumber = 1
    bFinished = False
    bStart = False
    Do
        Response.Write "<tr>"
        For lColumnCount = 1 to 7
            If CLng(lColumnCount) = CLng(m_lDayofFirst) Then
                bStart = True
            End If
           
            If CLng(m_lDay) = CLng(lNumber) AND CBool(bStart) Then
                Response.Write "<td class=SelectedDay>"
                Response.Write "<input name=fldDay type=hidden value=" & lNumber & ">"
            Else
                Response.Write "<td class=NormalDay>"
            End If
           
            If NOT CBool(bFinished) AND CBool(bStart) Then
                If CLng(m_lDay) <> CLng(lNumber) Then
                    Response.Write "<A href='java script:ChangeDay(" & lNumber & ");'>"
                End If
                Response.Write lNumber
                If CLng(m_lDay) <> CLng(lNumber) Then
                    Response.Write "</A>"
                End If
                lNumber = lNumber + 1
                If CLng(lNumber) > CLng(m_lDaysInMonth) Then
                    bFinished = True
                End If
            Else
                Response.Write "&nbsp;"
            End If
            Response.Write "</td>"
        Next
        Response.Write "</tr>"
    Loop Until CBool(bFinished)
   
    Response.Write "</tr></table>"
End Sub
%>

<script language="javascript">
    function ChangeDay(v_lDay) {
        document.Form1.fldDay.value = v_lDay;
        document.Form1.submit();
    }
   
    function SetDateOnParent() {
        sRetDateTime = '<%=FormatDateTime(m_dtCurrentDate, 2)%>'
        window.opener.eval('<%=m_sInputName%>').value = sRetDateTime;
        window.close();
    }
</script>
----------------------
3) calendarpopup.css
----------------------
a {
    color: black;
    font-family: arial;
    text-decoration: none;
}
a:visited {
    color: black;
    font-family: arial;
    text-decoration: none;
}
a:hover {
    color: black;
    font-family: arial;
    background-color: silver;
    text-decoration: none;
}

table.calendar {
    margin-top: 1px;
    border-right: thin inset;
    border-top: thin inset;
    border-left: thin inset;
    border-bottom: thin inset;
}
table.overall {
    border-right: thin groove;
    border-top: thin groove;
    border-left: thin groove;
    border-bottom: thin groove;
}
tr.header {
    font-size: 10pt;
    color: white;
    font-family: arial;
    background-color: gray;
    text-align: center;
}
td.normalday {
    font-size: 10pt;
    color: black;
    font-family: arial;
    background-color: white;
    text-align: center;
}
td.selectedday {
    font-size: 10pt;
    color: white;
    font-family: Arial;
    background-color: #000080;
    text-align: center;
}
td.title {
    font-size: 10pt;
    font-family: arial;
}

input.button {
    width: 80px;
}
------------------------
Håber du får det til at virke. :)
Avatar billede w13 Novice
27. maj 2007 - 17:55 #8
:)
Avatar billede w13 Novice
21. november 2007 - 18:59 #9
Lukketid?
Avatar billede jwwd Nybegynder
02. december 2007 - 19:10 #10
Lukket
Avatar billede w13 Novice
02. december 2007 - 20:54 #11
Du fik det altså ikke til at virke?
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