Avatar billede kurtpedersen Nybegynder
25. august 2003 - 06:04 Der er 8 kommentarer

Optimering af performance

Jeg har problemer med mine svartider. Når man søger i mit leksikon, der består af små 400 poster (fordelt på små 10 access-tabeller) så går der omkring 1 minut, før svaret vises på skærmen.

Jeg har undersøgt, hvad tiden går til, og det viser sig, at jeg bruger omkring 7 sekunder til at finde og behandle mine data. Resten af tiden går med visningen - og tilsyneladende på clienten, det tyder mine målinger på.

Præsentationen af data foregår i html-tabeller - og jeg har optimeret alt, hvad jeg kan, men uden nævneværdige forbedringer. Bla har jeg omlagt min kode fra at være en kombination af html og asp - til næsten udelukkende asp, men det har ikke rigtigt givet noget.

Tilsyneladende er den datamængde (antallet af tegn, billeder etc), jeg skal vise altafgørende for svartiden.

Hvad kan man gøre for at bringe den tid ned - udover at begrænse mængden?

Indrømmet, mine datamængder er rimeligt store - og det ser ud til, at det er selve dannelsen ud på skærmen, maskinen sveder over.

Jeg sætter 200 points, som jeg deler ud af - hvis jeg får tips, der forbedrer mine svartider nævneværdigt.
Avatar billede jpvj Nybegynder
25. august 2003 - 06:38 #1
Lad os se noget kode...

Evt. et link til at se outputtet...
Avatar billede cesil Nybegynder
25. august 2003 - 08:38 #2
tar det 1 minut uanset om du finder 1 eller 400 poster i din søgning?
Avatar billede repsak Nybegynder
25. august 2003 - 08:53 #3
access er ikke den hurtigste database, men når vi snakker om 400 poster så burde det ikke være et problem.
Avatar billede nmh Nybegynder
25. august 2003 - 09:23 #4
Du taler om billeder. Det kan jo godt tage tid, hvis der er tale om høj opløsning og mange farver. her kan man ofte spare meget ved at reducere billedekvaliteteten.
Er du den eneste bruger, når du får disse lange svartider?
Avatar billede the_bma_man Nybegynder
25. august 2003 - 09:40 #5
Det ville hjælpe meget, med lidt kode.
Men foreløbigt...

Check hvor tit du bruger <% og %>. Hver gang du bruger disse, skiftes "mode" på serveren, og det tager tid.
Avatar billede eagleeye Praktikant
25. august 2003 - 09:44 #6
Du kan prøve at tilføje denne linje i toppen af din kode og kalde Response.Flush når du har udført noget kode, det skulle få data sendt til browseren, og som du skriver er det tiden at lave siden som tager tiden..:

<% Response.Buffer = true %>
<html>
..
<body>
<%
SQL = "xxx"
do while not rs.EOF


  rs.Movenext
  'Send til browseren
  Response.Flush
loop
%>
..
</html>


Så skulle siden ikke se så tom ud i så lang tid.
Avatar billede kurtpedersen Nybegynder
25. august 2003 - 14:30 #7
Sikke mange kommentarer :-)

Jeres spørgsmål:

Jo færre data, jeg finder og viser, jo kortere svartid. Tid til udtræk af data ligger mellem 1 og 7 sekunder - mens visningen ligger mellem et par sekunder og 50 eller mere - det kan jeg se i en tekstfil, hvor jeg skriver mellemtider ned i undervejs.

Det er ikke kun mig, der har problemer med svartiden, det er generelt.

Umiddelbart tror jeg ikke problemet er access - jeg har indiceret mine tabeller og har kun få poster (dog med store datamængder).

Billeder : der er ca 150 billeder - men de fylder ikke mere end ca 3 kb hver - og jeg har prøvet at undlade visning af billeder, det gav ikke nogen mærkbare forbedringer.

I visningen har jeg erstattet en stor del af html-koden med asp (omlagt %><table><% til Response.Write "<table"> - og det gav heller ikke meget.

Eagleeye : Lyder som en løsning, men hvor skal jeg indsætte koden. Det er sådan, at jeg behandler søgekriterierne fra min formular, danner herfra en tekstfil og sender kontrollen til en seperat læseprogram. Her indlæses tekstfilen og data findes og skrives i en ny tekstfil. Kontrollen går retur, hvor data indlæses og udskrives på skærmen. Jeg ved derfor ikke, om Response.Flush skal indsættes der, hvor jeg skaffer mine data - eller der, hvor jeg skal vise dem.

Af performance-målinger, hvor jeg som sagt nedskriver i en tekstfil når jeg kommer forbi passager i koden kan jeg se, at der kun går omkring 7 sekunder, før al kode er behandlet - men dernæst går der knapt et minut, før data vises på skærmen (den står og sveder i mens) så noget kunne tyde på, at det var tiden der gik med at sende data fra serveren...


Her er et link til systemet - prøv først at klikke på søg - dernæst kan I prøve at udfylde søgekriterier - så kommer der færre data og det går hurtigere.

http://www.tv-girls.dk/Tina/leksikon32/leksikonstub.asp

Mine programmer er opbygget i lag med tilhørende includes. Den kode, som jeg mener bruger tiden ses nedenfor. Man kommer ind i SUB vis.

Mine workarrays WorkObjAfdnr og tilsvarende er alle dim WorkObjafdnr(1000) - måske er det et problem, det er der nok ca 100 af.


<%

SUB Vis (EntType)
  IF WorkAntal > "0" THEN
      ' Så er der fundet resultater   
      CALL VisResultater(EntType)
  ELSE
      CALL VisResFindesIkke(Enttype)
  END IF

END SUB
   
SUB VisResultater(EntType)
    CALL FjernSoegeresultat
    Response.Write " <br>"
    CALL VisAntal(EntType)
   
    IF EntType = "Post" THEN
      CALL VisPoster
    ELSE
      CALL VisAnvSoegeord 
    END IF
    CALL AfslutTabel
    CALL FjernSoegeresultat
   
END SUB

SUB VisPoster
'Visning af de Poster, der blev fundet ved søgning i leksikon
  Linie = "Behandling af poster til visning start "
  CALL SkrivPerformance
    I = 1   
    DO WHILE (I <= UBOUND(WorkIDPost) AND WorkIDPost(I) <> "")
       
      SELECT CASE WorkObjAfdNr(I)
          CASE "100"
              CALL VisFilm
          CASE "120", "121", "122", "123", "124"
              CALL VisArtikel
          CASE "125"
              CALL VisLitteratur
          CASE "150"
              CALL VisOrdbog
          CASE "175"
              CALL VisPersoner
          CASE "210", "220"
              CALL VisTVTS
          CASE "300"
              CALL VisKortFortalt
          CASE "400"
              CALL VisSmaaTips
        END SELECT
        I = I + 1
    LOOP
    Response.Write "          </tr>"
    Response.Write "        </table>"
    Linie = "Behandling af poster til visning slut "
  CALL SkrivPerformance   
END SUB

SUB VisAnvSoegeord
  Linie = "Behandling af anvendte søgeord til visning start "
  CALL SkrivPerformance
  CALL DanYdreRamme
  %>
            <tr>
              <td align="left" valign="top" width="43%">
                  <font face="Times New Roman, Times, serif" color="#FF0066">
                  <%
                      Response.Write "Anvendt søgeord"%>
                    </font>
              </td>
              <td align="left" valign="top" width="24%">
                    <font face="Times New Roman, Times, serif" color="#FF0066">
                    <%
                      Response.Write " Oprettelsestidspunkt"%>
                    </font>
              </td>
              <td align="left" valign="top" width="24%">
                    <font face="Times New Roman, Times, serif" color="#FF0066">
                    <%
                      Response.Write " Senest udsøgt tidspunkt"%>
                    </font>
              </td>
              <td align="right" valign="top" width="6%">
                    <font face="Times New Roman, Times, serif" color="#FF0066">
                    <%
                      Response.Write " Antal"%>
                    </font>
              </td>
              <td align="right" valign="top" width="3%">
                    <a href="#tiltop"><img src=../knapper/tiltop_lille.gif  height="15" border="0"></a>
              </td>
              </tr>
  </table>
  </td>
<%
  I = 1
       
    DO WHILE (I <= UBOUND(WorkAnvSoegSoegeord) AND WorkAnvSoegSoegeord(I) <> "")
      CALL VisAnvSoegeordStatistik
      I = I + 1
    LOOP
    Response.Write "          </tr>"
    Response.Write "        </table>" 
    Linie = "Behandling af anvendte søgeord til visning slut "
  CALL SkrivPerformance   
END SUB

SUB VisAnvSoegeordStatistik

  CALL DanYdreRamme
  %>
              <tr>
              <td align="left" valign="top" width="43%">
                  <font face="Times New Roman, Times, serif">
                  <%
                      Response.Write " "& WorkAnvSoegSoegeord(I)
                  %>
                    </font>
              </td>
              <td align="left" valign="top" width="24%">
                  <font face="Times New Roman, Times, serif">
                  <%
                      Response.Write " "& WorkAnvSoegOprettetDato(I)
                  %>
                    </font>
              </td>
              <td align="left" valign="top" width="24%">
                    <font face="Times New Roman, Times, serif">
                    <%
                      Response.Write " "& WorkAnvSoegSenestDato(I)
                    %>
                    </font>
              </td>
              <td align="right" valign="top" width="6%">
                    <font face="Times New Roman, Times, serif">
                    <%
                      Response.Write " "& WorkAnvSoegAntal(I)
                    %>
                    </font>
              </td>
              <td align="right" valign="top" width="3%">
                    <a href="#tiltop"><img src=../knapper/tiltop_lille.gif  height="15" border="0"></a>
              </td>
            </tr>
  </table>
  </td>
</tr>
  <%
END SUB

SUB FjernSoegeresultat
'Danner knap til at fjerne søgeresultater med
%>
  <!-- #include file="fjern_soegeresultat.asp" -->
<%
END SUB

SUB VisAntal(EntType)
'Viser antallet af søgeresultater
%>
  <!-- #include file="../include/antal_poster.asp" -->
<%
END SUB

SUB VisResFindesIkke(EntType)
'Meddelelse om, at der ikke er fundet resultater
  Response.Write " <br>"
  IF EntType = "Post" THEN
      IF  WorkSoegeordIN <> "" THEN
          'Søgeord var udfyldt ved søgning
          Response.Write "  <table width=""100%"" cellpadding=0 cellspacing=0 border=0>"
          Response.Write "    <tr>"
          Response.Write "        <td align=center valign=top>"
          Response.Write "          <table width=460 cellpadding=1 cellspacing=0 border=2 bordercolor=#0000CC>"
          Response.Write "            <tr>"
          Response.Write "              <td align=center vaalign=top>"
          Response.Write "                <font face=Times New Roman, Times, serif size=4  color=#FF0066><b>"
          Response.Write "Søgeordet <span style='background:yellow;mso-highlight:yellow'>"
          Response.Write WorkSoegeordIN
          Response.Write "</span> findes ikke i "
          Response.Write WorkAfdelingNavn
          Response.Write ".<br>Mener du, at det mangler, er du velkommen til at oprette en post.</b>"
          Response.Write "              </font>"
          Response.Write "              </td>"
          Response.Write "            </tr>"
          Response.Write "          </table>"
          Response.Write "        </td>"
          Response.Write "      </tr>"
          Response.Write "    </table>"
      ELSE
            'Søgeord var ikke udfyldt ved søgning
          Response.Write "  <table width=""100%"" cellpadding=0 cellspacing=0 border=0>"
          Response.Write "    <tr>"
          Response.Write "        <td align=center valign=top>"
          Response.Write "          <table width=460 cellpadding=1 cellspacing=0 border=2 bordercolor=#0000CC>"
          Response.Write "            <tr>"
          Response.Write "              <td align=center vaalign=top>"
          Response.Write "                <font face=Times New Roman, Times, serif size=4  color=#FF0066><b>"
          Response.Write "Afdelingen "
          Response.Write WorkAfdelingNavn
          Response.Write " indeholder ingen poster.<br>"
          Response.Write "              </font>"
          Response.Write "              </td>"
          Response.Write "            </tr>"
          Response.Write "          </table>"
          Response.Write "        </td>"
          Response.Write "      </tr>"
          Response.Write "    </table>"
      END IF
    ELSE ' Ingen anvendte søgeord
      Response.Write "  <table width=""100%"" cellpadding=0 cellspacing=0 border=0>"
      Response.Write "    <tr>"
      Response.Write "        <td align=center valign=top>"
      Response.Write "          <table width=460 cellpadding=1 cellspacing=0 border=2 bordercolor=#0000CC>"
      Response.Write "            <tr>"
      Response.Write "              <td align=center vaalign=top>"
      Response.Write "                <font face=Times New Roman, Times, serif size=4  color=#FF0066><b>"
      Response.Write "Der findes ikke nogen anvendte søgeord i leksikonnet.</b>"
      Response.Write "              </font>"
      Response.Write "              </td>"
      Response.Write "            </tr>"
      Response.Write "          </table>"
      Response.Write "        </td>"
      Response.Write "      </tr>"
      Response.Write "    </table>"
    END IF 
    CALL AfslutTabel
   
END SUB

SUB AfslutTabel

  Response.Write "          </td>"
  Response.Write "         </tr>"
  Response.Write "      </table>"

END SUB

SUB VisFilm
  Dim HjFelt(4), WorkMedvirk
  CALL DanYdreRamme
  CALL DanTitelLinie
 
  Response.Write "<tr> "
                     
        CALL DanBilledefelt
        '<td align="left" valign="top" width="70%"> forsøg
       
        Response.Write "<td align=left valign=top>"
       
        CALL DanBeskrivFelt(False, WorkBeskriv(I))
        CALL DanFelt("OrigTitel",False, WorkOriginalTitel(I))
        CALL DanFelt("ProdSelskab",False, WorkProdSelskab(I))
        CALL DanFelt("DistSelskab",False, WorkDistSelskab(I))
        CALL DanFelt("Instruktør",False, WorkInstruktoer(I))
        CALL DanFelt("BogTitel",False, WorkBogTitel(I))
        HJFelt(1) = WorkMedvirk1(I)
        HJFelt(2) = WorkMedvirk2(I)
        HJFelt(3) = WorkMedvirk3(I)
        HJFelt(4) = WorkMedvirk4(I)
        WorkMedvirk = ""
        FOR J = 1 TO 4
          IF HJFelt(J) <> "" THEN
              IF WorkMedvirk = "" THEN
                WorkMedvirk = HJFelt(J)
              ELSE
                WorkMedvirk = WorkMedvirk & ", " & HJFelt(J)
              END IF             
          END IF               
        NEXT       
        CALL DanFelt("Medvirk",False, WorkMedvirk)
       
        IF WorkFindesVideo(I) = "J" THEN
          IF WorkVHSNr(I) = "" THEN
              HJFelt(1) = "Fås som video i VHS format."
          ELSE
              HJFelt(1) = "Fås som video i VHS format. Video-nr. " & WorkVHSNr(I)
          END IF
          CALL DanFelt("VHSNr",False, HJFelt(1))
        END IF
        IF WorkFindesDVD(I) = "J" THEN
          IF WorkDVDNr(I) = "" THEN
              HJFelt(1) = "Fås som DVD."
          ELSE
              HJFelt(1) = "Fås som DVD. DVD-nr. " & WorkDVDNr(I)
          END IF
          CALL DanFelt("DVDNr",False, HJFelt(1))
        END IF       
        CALL DanFelt("PremiereAar",False, WorkPremiereAar(I))
        CALL DanFelt("Spilletid",False, WorkSpilletid(I))
        HJFelt(1) = ""
        IF WorkSprog(I) <> "" THEN         
          IF WorkDanskTekstet(I) = "J" AND (WorkSprog(I) <> "Dansk" AND WorkSprog(I) <> "dansk" AND WorkSprog(I) <> "DANSK") THEN
              HJFelt(1) = WorkSprog(I) & " med danske undertekster"
          ELSE
              HJFelt(1) = WorkSprog(I)
          '    HJFelt(1) = WorkSprog(I) & " uden danske undertekster"
          END IF
        END IF 
        CALL DanFelt("Sprog",False, HJFelt(1))
               
        IF Session("login") THEN
          CALL DanFelt("DitNavn",True, WorkDitNavn(I))
          CALL DanEmailFelt("DinEmail", True, WorkDinEmail(I))
          CALL DanFelt("OprettetDato",True, WorkOprettetDato(I))
          CALL DanFelt("Status",True, WorkObjStatus(I))
          CALL DanFelt("Soegeord",True, WorkSoegeord(I))
          %>
          <form method="post" action="redigere.asp">
          <input type="submit" value="Rediger post" name="Rediger">
          <input type="hidden" value ="<%Response.Write I%>" name="idx">
          <input type="hidden" value ="<%Response.Write WorkIDPost(I)%>" name="Postkey">
          <input type="hidden" value ="<%Response.Write WorkKey(I)%>" name="Objektkey">
          <input type="hidden" value ="<%Response.Write WorkObjAfdnr(I)%>" name="afdelingsnummer">
          <input type="hidden" value ="<%Response.Write WorkTitel(I)%>" name="titel">
          <input type="hidden" value ="<%Response.Write WorkTitel(I)%>" name="basetitel">
          <input type="hidden" value ="<%Response.Write WorkOriginalTitel(I)%>" name="originaltitel">
          <input type="hidden" value ="<%Response.Write WorkOriginalTitel(I)%>" name="baseorigtitel">
          <input type="hidden" value ="<%Response.Write WorkProdSelskab(I)%>" name="prodselskab">
          <input type="hidden" value ="<%Response.Write WorkProdSelskab(I)%>" name="baseprodselskab">
          <input type="hidden" value ="<%Response.Write WorkDistSelskab(I)%>" name="distselskab">
          <input type="hidden" value ="<%Response.Write WorkDistSelskab(I)%>" name="basedistselskab">
          <input type="hidden" value ="<%Response.Write WorkInstruktoer(I)%>" name="instruktoer">
          <input type="hidden" value ="<%Response.Write WorkInstruktoer(I)%>" name="baseinstruktoer">
          <input type="hidden" value ="<%Response.Write WorkBogTitel(I)%>" name="bogtitel">
          <input type="hidden" value ="<%Response.Write WorkBogTitel(I)%>" name="basebogtitel">
          <input type="hidden" value ="<%Response.Write WorkMedvirk1(I)%>" name="medvirk1">
          <input type="hidden" value ="<%Response.Write WorkMedvirk1(I)%>" name="basemedvirk1">
          <input type="hidden" value ="<%Response.Write WorkMedvirk2(I)%>" name="medvirk2">
          <input type="hidden" value ="<%Response.Write WorkMedvirk2(I)%>" name="basemedvirk2">
          <input type="hidden" value ="<%Response.Write WorkMedvirk3(I)%>" name="medvirk3">
          <input type="hidden" value ="<%Response.Write WorkMedvirk3(I)%>" name="basemedvirk3">
          <input type="hidden" value ="<%Response.Write WorkMedvirk4(I)%>" name="medvirk4">
          <input type="hidden" value ="<%Response.Write WorkMedvirk4(I)%>" name="basemedvirk4">
          <input type="hidden" value ="<%Response.Write WorkFindesVideo(I)%>" name="findesvideo">
          <input type="hidden" value ="<%Response.Write WorkFindesVideo(I)%>" name="basefindesvideo">
          <input type="hidden" value ="<%Response.Write WorkVhsNr(I)%>" name="vhsnr">
          <input type="hidden" value ="<%Response.Write WorkVhsNr(I)%>" name="basevhsnr">
          <input type="hidden" value ="<%Response.Write WorkFindesDVD(I)%>" name="findesdvd">
          <input type="hidden" value ="<%Response.Write WorkFindesDVD(I)%>" name="basefindesdvd">
          <input type="hidden" value ="<%Response.Write WorkDVDNr(I)%>" name="dvdnr">
          <input type="hidden" value ="<%Response.Write WorkDVDNr(I)%>" name="basedvdnr">
          <input type="hidden" value ="<%Response.Write WorkSpilletid(I)%>" name="spilletid">
          <input type="hidden" value ="<%Response.Write WorkSpilletid(I)%>" name="basespilletid">
          <input type="hidden" value ="<%Response.Write WorkPremiereAar(I)%>" name="premiereaar">
          <input type="hidden" value ="<%Response.Write WorkPremiereAar(I)%>" name="basepremiereaar">
          <input type="hidden" value ="<%Response.Write WorkSprog(I)%>" name="sprog">
          <input type="hidden" value ="<%Response.Write WorkSprog(I)%>" name="basesprog">
          <input type="hidden" value ="<%Response.Write WorkDanskTekstet(I)%>" name="dansktekstet">
          <input type="hidden" value ="<%Response.Write WorkDanskTekstet(I)%>" name="basedansktekstet">
          <input type="hidden" value ="<%Response.Write WorkObjStatusKode(I)%>" name="status">
          <input type="hidden" value ="<%Response.Write WorkObjStatusKode(I)%>" name="basestatus">
          <input type="hidden" value ="<%Response.Write WorkSoegeord(I)%>" name="soegeord">
          <input type="hidden" value ="<%Response.Write WorkSoegeord(I)%>" name="basesoegeord">
          <input type="hidden" value ="Rediger" name="funktion">
         
          <input type="hidden" value ="J" name="foerstegang">
          </form>
          <%
        END IF
       
        Response.Write "</tr>"       
        Response.Write "</table>"
        Response.Write "</td>"
        Response.Write "</tr>"         

END SUB

SUB VisArtikel
  CALL DanYdreRamme
  CALL DanTitelLinie
%>
  <tr>
<%              
        CALL DanBilledefelt
        %>
        <td align="left" valign="top">
        <%
        CALL DanBeskrivFelt(True, WorkBeskriv(I))
        CALL DanFelt("Forfatter",False, WorkForfatter(I))
        CALL DanFelt("UdgivDato",False, WorkUdgivdato(I))
        CALL DanPopopFelt
        IF Session("login") THEN
          CALL DanFelt("DitNavn",True, WorkDitNavn(I))
          CALL DanEmailFelt("DinEmail", True, WorkDinEmail(I))
          CALL DanFelt("OprettetDato",True, WorkOprettetDato(I))
          CALL DanFelt("Status",True, WorkObjStatus(I))
          CALL DanFelt("Soegeord",True, WorkSoegeord(I))
          %>
          <form method="post" action="redigere.asp">
          <input type="submit" value="Rediger post" name="Rediger">
          <input type="hidden" value ="<%Response.Write I%>" name="idx">
          <input type="hidden" value ="<%Response.Write WorkIDPost(I)%>" name="Postkey">
          <input type="hidden" value ="<%Response.Write WorkKey(I)%>" name="Objektkey">
          <input type="hidden" value ="<%Response.Write WorkObjAfdnr(I)%>" name="afdelingsnummer">
          <input type="hidden" value ="<%Response.Write WorkObjAfdnr(I)%>" name="baseafdelingsnummer">
          <input type="hidden" value ="<%Response.Write WorkTitel(I)%>" name="titel">
          <input type="hidden" value ="<%Response.Write WorkTitel(I)%>" name="basetitel">
          <input type="hidden" value ="<%Response.Write WorkForfatter(I)%>" name="forfatter">
          <input type="hidden" value ="<%Response.Write WorkForfatter(I)%>" name="baseforfatter">
          <input type="hidden" value ="<%Response.Write WorkUdgivdato(I)%>" name="skrevetdato">
          <input type="hidden" value ="<%Response.Write WorkUdgivdato(I)%>" name="baseskrevetdato">
          <input type="hidden" value ="<%Response.Write WorkObjStatusKode(I)%>" name="status">
          <input type="hidden" value ="<%Response.Write WorkObjStatusKode(I)%>" name="basestatus">
          <input type="hidden" value ="<%Response.Write WorkSoegeord(I)%>" name="soegeord">
          <input type="hidden" value ="<%Response.Write WorkSoegeord(I)%>" name="basesoegeord">
          <input type="hidden" value ="Rediger" name="funktion">
          <%
              ' Response.Write "<input type=hidden name=beskriv value="
              ' Response.Write WorkBeskriv(I)
              ' Response.Write ">"
          %>
          <input type="hidden" value ="J" name="foerstegang">
          </form>
          <%                   
        END IF
        %>       
    </table>
  </td>
</tr>
<%
END SUB

SUB VisLitteratur
  CALL DanYdreRamme
  CALL DanTitelLinie
%>
        <tr>
      <%              
      CALL DanBilledefelt
      %>
        <td align="left" valign="top">
          <%
            CALL DanBeskrivFelt(False, WorkBeskriv(I))
            CALL DanFelt("Forfatter",False, WorkForfatter(I))
            CALL DanFelt("Forfatter2",False, WorkForfatterto(I))
            CALL DanFelt("OrigTitel",False, WorkOriginalTitel(I))
            CALL DanFelt("Forlag",True, WorkForlag(I))
            CALL DanFelt("UdgivDato",False, WorkUdgivdato(I))
            CALL DanFelt("FoersteUdgivDato",False, WorkFoersteUdgivdato(I))
            CALL DanFelt("Sprog",False, WorkSprog(I))
            CALL DanFelt("Antalsider",False, WorkAntalsider(I))
            CALL DanFelt("Pris",False, WorkPris(I))
            CALL DanUrlFelt("UrlForfatter",False, WorkUrlForfatter(I),WorkForfatter(I),False)
            CALL DanFelt("Isbn",True, WorkIsbn(I))           
           
            IF Session("login") THEN
              CALL DanFelt("DitNavn",True, WorkDitNavn(I))
              CALL DanEmailFelt("DinEmail", True, WorkDinEmail(I))
              CALL DanFelt("OprettetDato",True, WorkOprettetDato(I))
              CALL DanFelt("Status",True, WorkObjStatus(I))
              CALL DanFelt("Soegeord",True, WorkSoegeord(I))
            %>
              <form method="post" action="redigere.asp">
              <input type="submit" value="Rediger post" name="Rediger">
              <input type="hidden" value ="<%Response.Write I%>" name="idx">
              <input type="hidden" value ="<%Response.Write WorkIDPost(I)%>" name="Postkey">
              <input type="hidden" value ="<%Response.Write WorkKey(I)%>" name="Objektkey">
              <input type="hidden" value ="<%Response.Write WorkObjAfdnr(I)%>" name="afdelingsnummer">
              <input type="hidden" value ="<%Response.Write WorkTitel(I)%>" name="titel">
              <input type="hidden" value ="<%Response.Write WorkTitel(I)%>" name="basetitel">
              <input type="hidden" value ="<%Response.Write WorkOriginalTitel(I)%>" name="originaltitel">
              <input type="hidden" value ="<%Response.Write WorkOriginalTitel(I)%>" name="baseorigtitel">
              <input type="hidden" value ="<%Response.Write WorkForfatter(I)%>" name="forfatter">
              <input type="hidden" value ="<%Response.Write WorkForfatter(I)%>" name="baseforfatter">
                <input type="hidden" value ="<%Response.Write WorkForfatterto(I)%>" name="forfatterto">
              <input type="hidden" value ="<%Response.Write WorkForfatterto(I)%>" name="baseforfatterto">
              <input type="hidden" value ="<%Response.Write WorkForlag(I)%>" name="forlag">
              <input type="hidden" value ="<%Response.Write WorkForlag(I)%>" name="baseforlag">
              <input type="hidden" value ="<%Response.Write WorkUdgivDato(I)%>" name="udgivdato">
              <input type="hidden" value ="<%Response.Write WorkUdgivDato(I)%>" name="baseudgivdato">
              <input type="hidden" value ="<%Response.Write WorkFoersteUdgivDato(I)%>" name="foersteudgivdato">
              <input type="hidden" value ="<%Response.Write WorkFoersteUdgivDato(I)%>" name="basefoersteudgivdato">
              <input type="hidden" value ="<%Response.Write WorkSprog(I)%>" name="sprog">
              <input type="hidden" value ="<%Response.Write WorkSprog(I)%>" name="basesprog">
              <input type="hidden" value ="<%Response.Write WorkAntalSider(I)%>" name="antalsider">
              <input type="hidden" value ="<%Response.Write WorkAntalSider(I)%>" name="baseantalsider">
              <input type="hidden" value ="<%Response.Write WorkPris(I)%>" name="pris">
              <input type="hidden" value ="<%Response.Write WorkPris(I)%>" name="basepris">
              <input type="hidden" value ="<%Response.Write WorkUrlForfatter(I)%>" name="urlforfatter">
              <input type="hidden" value ="<%Response.Write WorkUrlForfatter(I)%>" name="baseurlforfatter">
              <input type="hidden" value ="<%Response.Write WorkIsbn(I)%>" name="isbn">
              <input type="hidden" value ="<%Response.Write WorkIsbn(I)%>" name="baseisbn">
              <input type="hidden" value ="<%Response.Write WorkObjStatusKode(I)%>" name="status">
              <input type="hidden" value ="<%Response.Write WorkObjStatusKode(I)%>" name="basestatus">
              <input type="hidden" value ="<%Response.Write WorkSoegeord(I)%>" name="soegeord">
              <input type="hidden" value ="<%Response.Write WorkSoegeord(I)%>" name="basesoegeord">
              <input type="hidden" value ="Rediger" name="funktion">
              <%
              ' Response.Write "<input type=hidden name=beskriv value="
              ' Response.Write WorkBeskriv(I)
              ' Response.Write ">"
              %>
              <input type="hidden" value ="J" name="foerstegang">
              </form>
              <%        
            END IF
        %>
        </table> 
  </td>
</tr>
<%
END SUB

SUB VisOrdbog
  CALL DanYdreRamme
  CALL DanTitelLinie

Response.Write "<tr>"
             
        CALL DanBilledefelt
        Response.Write "<td align=left valign=top>"
       
        CALL DanBeskrivFelt(True, WorkBeskriv(I))
        IF Session("login") THEN
          CALL DanFelt("DitNavn",True, WorkDitNavn(I))
          CALL DanEmailFelt("DinEmail", True, WorkDinEmail(I))
          CALL DanFelt("OprettetDato",True, WorkOprettetDato(I))
          CALL DanFelt("Status",True, WorkObjStatus(I))
          CALL DanFelt("Soegeord",True, WorkSoegeord(I))
         
          Response.Write "<form method=post action=redigere.asp>"
          Response.Write "<input type=submit value=Rediger post name=Rediger>"
          Response.Write "<input type=hidden value =" & I & " name=idx>"
          Response.Write "<input type=hidden value =" & WorkIDPost(I) & " name=Postkey>"
          Response.Write "<input type=hidden value =" & WorkKey(I) & " name=Objektkey>"
          Response.Write "<input type=hidden value =" & WorkObjAfdnr(I) & " name=afdelingsnummer>"
          Response.Write "<input type=hidden value =" & WorkTitel(I) & " name=titel>"
          Response.Write "<input type=hidden value =" & WorkTitel(I) & " name=basetitel>"
          Response.Write "<input type=hidden value =" & WorkObjStatusKode(I) & " name=status>"
          Response.Write "<input type=hidden value =" & WorkObjStatusKode(I) & " name=basestatus>"
          Response.Write "<input type=hidden value =" & WorkSoegeord(I) & " name=soegeord>"
          Response.Write "<input type=hidden value =" & WorkSoegeord(I) & " name=basesoegeord>"
          Response.Write "<input type=hidden value =Rediger name=funktion>"
          Response.Write "<input type=hidden value =J name=foerstegang>"
          Response.Write "</form>"
                             
        END IF
        Response.Write "</table></td></tr>"

END SUB

SUB VisPersoner
  CALL DanYdreRamme
  CALL DanTitelLinie
%>
      <tr>
      <%              
        CALL DanBilledefelt
        %>
        <td align="left" valign="top">
        <%
          CALL DanBeskrivFelt(False, WorkBeskriv(I))
          CALL DanFelt("Koen",False, WorkKoen(I))
          CALL DanFelt("Stilling",False, WorkStilling(I))
          CALL DanFelt("Foedeaar",False, WorkFoedeaar(I)) 
          CALL DanFelt("Nation",False, WorkNation(I)) 
          CALL DanFelt("Region",False, WorkRegion(I))
          CALL DanFelt("Icq",False, WorkIcq(I))
          CALL DanEmailFelt("Email",False, WorkEmail(I))
          CALL DanFelt("Tlf",False, WorkTlf(I))
          CALL DanFelt("Mobiltlf",False, WorkMobilTlf(I))
          CALL DanUrlFelt("Url",False, WorkUrl(I),WorkUrlNavn(I),False)
          IF Session("login") THEN
              CALL DanFelt("DitNavn",True, WorkDitNavn(I))
              CALL DanEmailFelt("DinEmail", True, WorkDinEmail(I))
              CALL DanFelt("OprettetDato",True, WorkOprettetDato(I))
              CALL DanFelt("Status",True, WorkObjStatus(I))
              CALL DanFelt("Soegeord",True, WorkSoegeord(I))
          %>
              <form method="post" action="redigere.asp">
              <input type="submit" value="Rediger post" name="Rediger">
              <input type="hidden" value ="<%Response.Write I%>" name="idx">
              <input type="hidden" value ="<%Response.Write WorkIDPost(I)%>" name="Postkey">
              <input type="hidden" value ="<%Response.Write WorkKey(I)%>" name="Objektkey">
              <input type="hidden" value ="<%Response.Write WorkObjAfdnr(I)%>" name="afdelingsnummer">
              <input type="hidden" value ="<%Response.Write WorkTitel(I)%>" name="titel">
              <input type="hidden" value ="<%Response.Write WorkTitel(I)%>" name="basetitel">
              <input type="hidden" value ="<%Response.Write WorkKoen(I)%>" name="koen">
              <input type="hidden" value ="<%Response.Write WorkKoen(I)%>" name="basekoen">
              <input type="hidden" value ="<%Response.Write WorkFoedeAar(I)%>" name="foedeaar">
              <input type="hidden" value ="<%Response.Write WorkFoedeAar(I)%>" name="basefoedeaar">
                <input type="hidden" value ="<%Response.Write WorkStilling(I)%>" name="stilling">
              <input type="hidden" value ="<%Response.Write WorkStilling(I)%>" name="basestilling">
              <input type="hidden" value ="<%Response.Write WorkRegion(I)%>" name="region">
              <input type="hidden" value ="<%Response.Write WorkRegion(I)%>" name="baseregion">
              <input type="hidden" value ="<%Response.Write WorkNation(I)%>" name="nation">
              <input type="hidden" value ="<%Response.Write WorkNation(I)%>" name="basenation">
              <input type="hidden" value ="<%Response.Write WorkTlf(I)%>" name="tlf">
              <input type="hidden" value ="<%Response.Write WorkTlf(I)%>" name="basetlf">
              <input type="hidden" value ="<%Response.Write WorkMobiltlf(I)%>" name="mobiltlf">
              <input type="hidden" value ="<%Response.Write WorkMobiltlf(I)%>" name="basemobiltlf">
              <input type="hidden" value ="<%Response.Write WorkIcq(I)%>" name="icq">
              <input type="hidden" value ="<%Response.Write WorkIcq(I)%>" name="baseicq">
              <input type="hidden" value ="<%Response.Write WorkEmail(I)%>" name="email">
              <input type="hidden" value ="<%Response.Write WorkEmail(I)%>" name="baseemail">
              <input type="hidden" value ="<%Response.Write WorkUrl(I)%>" name="url">
              <input type="hidden" value ="<%Response.Write WorkUrl(I)%>" name="baseurl">
              <input type="hidden" value ="<%Response.Write WorkUrlNavn(I)%>" name="urlnavn">
              <input type="hidden" value ="<%Response.Write WorkUrlNavn(I)%>" name="baseurlnavn">
              <input type="hidden" value ="<%Response.Write WorkObjStatusKode(I)%>" name="status">
              <input type="hidden" value ="<%Response.Write WorkObjStatusKode(I)%>" name="basestatus">
              <input type="hidden" value ="<%Response.Write WorkSoegeord(I)%>" name="soegeord">
              <input type="hidden" value ="<%Response.Write WorkSoegeord(I)%>" name="basesoegeord">
              <input type="hidden" value ="Rediger" name="funktion">
              <%
              ' Response.Write "<input type=hidden name=beskriv value="
              ' Response.Write WorkBeskriv(I)
              ' Response.Write ">"
              %>
              <input type="hidden" value ="J" name="foerstegang">
              </form>
              <%
            END IF 
        %>
        </td>
      </tr>
    </table>
  </td>
</tr>
<%
END SUB

SUB VisTVTS
  CALL DanYdreRamme
  CALL DanTitelLinie
%>
        <tr>
        <%          
        CALL DanBilledefelt
        %>
        <td align="left" valign="top">
        <%
        CALL DanBeskrivFelt(False, WorkBeskriv(I))
        CALL DanUrlFelt("Url",False, WorkUrl(I),WorkTitel(I),True)
        CALL DanFelt("Indehaver",False, WorkIndehaver(I))
        CALL DanFelt("Koen",False, WorkKoen(I))
        CALL DanFelt("Region",False, WorkRegion(I))
        CALL DanFelt("Nation",False, WorkNation(I))     
        CALL DanFelt("InternLink",False, WorkInternLink(I))       
        IF Session("login") THEN
          CALL DanFelt("DitNavn",True, WorkDitNavn(I))
          CALL DanEmailFelt("DinEmail", True, WorkDinEmail(I))
          CALL DanFelt("OprettetDato",True, WorkOprettetDato(I))
          CALL DanFelt("Status",True, WorkObjStatus(I))
          CALL DanFelt("Soegeord",True, WorkSoegeord(I))
          %>
          <form method="post" action="redigere.asp">
          <input type="submit" value="Rediger post" name="Rediger">
          <input type="hidden" value ="<%Response.Write I%>" name="idx">
          <input type="hidden" value ="<%Response.Write WorkIDPost(I)%>" name="Postkey">
          <input type="hidden" value ="<%Response.Write WorkKey(I)%>" name="Objektkey">
          <input type="hidden" value ="<%Response.Write WorkObjAfdnr(I)%>" name="afdelingsnummer">
          <input type="hidden" value ="<%Response.Write WorkTitel(I)%>" name="titel">
          <input type="hidden" value ="<%Response.Write WorkTitel(I)%>" name="basetitel">
          <input type="hidden" value ="<%Response.Write WorkUrl(I)%>" name="url">
          <input type="hidden" value ="<%Response.Write WorkUrl(I)%>" name="baseurl">
          <input type="hidden" value ="<%Response.Write WorkIndehaver(I)%>" name="navn">
          <input type="hidden" value ="<%Response.Write WorkIndehaver(I)%>" name="basenavn">
          <input type="hidden" value ="<%Response.Write WorkKoen(I)%>" name="koen">
          <input type="hidden" value ="<%Response.Write WorkKoen(I)%>" name="basekoen">
          <input type="hidden" value ="<%Response.Write WorkRegion(I)%>" name="region">
          <input type="hidden" value ="<%Response.Write WorkRegion(I)%>" name="baseregion">
          <input type="hidden" value ="<%Response.Write WorkNation(I)%>" name="nation">
          <input type="hidden" value ="<%Response.Write WorkNation(I)%>" name="basenation">
          <input type="hidden" value ="<%Response.Write WorkObjStatusKode(I)%>" name="status">
          <input type="hidden" value ="<%Response.Write WorkObjStatusKode(I)%>" name="basestatus">
          <input type="hidden" value ="<%Response.Write WorkSoegeord(I)%>" name="soegeord">
          <input type="hidden" value ="<%Response.Write WorkSoegeord(I)%>" name="basesoegeord">
          <input type="hidden" value ="Rediger" name="funktion">
          <%
            ' Response.Write "<input type=hidden name=beskriv value="
            ' Response.Write WorkBeskriv(I)
            ' Response.Write ">"
          %>
          <input type="hidden" value ="J" name="foerstegang">
          </form>
          <%          
         
          END IF
              %>         
              </td>
            </tr>
        </table>
      </td>
    </tr>
<%
END SUB

SUB VisKortFortalt
  CALL DanYdreRamme
  CALL DanTitelLinie
%>
  <tr>
<%              
        CALL DanBilledefelt
        %>
        <td align="left" valign="top">
        <%
        CALL DanBeskrivFelt(True, WorkBeskriv(I))
        IF Session("login") THEN
          CALL DanFelt("DitNavn",True, WorkDitNavn(I))
          CALL DanEmailFelt("DinEmail", True, WorkDinEmail(I))
          CALL DanFelt("OprettetDato",True, WorkOprettetDato(I))
          CALL DanFelt("Status",True, WorkObjStatus(I))
          CALL DanFelt("Soegeord",True, WorkSoegeord(I))
          %>
          <form method="post" action="redigere.asp">
          <input type="submit" value="Rediger post" name="Rediger">
          <input type="hidden" value ="<%Response.Write I%>" name="idx">
          <input type="hidden" value ="<%Response.Write WorkIDPost(I)%>" name="Postkey">
          <input type="hidden" value ="<%Response.Write WorkKey(I)%>" name="Objektkey">
          <input type="hidden" value ="<%Response.Write WorkObjAfdnr(I)%>" name="afdelingsnummer">
          <input type="hidden" value ="<%Response.Write WorkTitel(I)%>" name="titel">
          <input type="hidden" value ="<%Response.Write WorkTitel(I)%>" name="basetitel">
          <input type="hidden" value ="<%Response.Write WorkObjStatusKode(I)%>" name="status">
          <input type="hidden" value ="<%Response.Write WorkObjStatusKode(I)%>" name="basestatus">
          <input type="hidden" value ="<%Response.Write WorkSoegeord(I)%>" name="soegeord">
          <input type="hidden" value ="<%Response.Write WorkSoegeord(I)%>" name="basesoegeord">
          <input type="hidden" value ="Rediger" name="funktion">
          <%
              ' Response.Write "<input type=hidden name=beskriv value="
              ' Response.Write WorkBeskriv(I)
              ' Response.Write ">"
          %>
          <input type="hidden" value ="J" name="foerstegang">
          </form>
          <%                   
        END IF
        %>       
    </table>
  </td>
</tr>
<%
END SUB

SUB VisSmaaTips
  CALL DanYdreRamme
  CALL DanTitelLinie
%>
  <tr>
<%              
        CALL DanBilledefelt
        %>
        <td align="left" valign="top">
        <%
        CALL DanBeskrivFelt(True, WorkBeskriv(I))
        IF Session("login") THEN
          CALL DanFelt("DitNavn",True, WorkDitNavn(I))
          CALL DanEmailFelt("DinEmail", True, WorkDinEmail(I))
          CALL DanFelt("OprettetDato",True, WorkOprettetDato(I))
          CALL DanFelt("Status",True, WorkObjStatus(I))
          CALL DanFelt("Soegeord",True, WorkSoegeord(I))
          %>
          <form method="post" action="redigere.asp">
          <input type="submit" value="Rediger post" name="Rediger">
          <input type="hidden" value ="<%Response.Write I%>" name="idx">
          <input type="hidden" value ="<%Response.Write WorkIDPost(I)%>" name="Postkey">
          <input type="hidden" value ="<%Response.Write WorkKey(I)%>" name="Objektkey">
          <input type="hidden" value ="<%Response.Write WorkObjAfdnr(I)%>" name="afdelingsnummer">
          <input type="hidden" value ="<%Response.Write WorkTitel(I)%>" name="titel">
          <input type="hidden" value ="<%Response.Write WorkTitel(I)%>" name="basetitel">
          <input type="hidden" value ="<%Response.Write WorkObjStatusKode(I)%>" name="status">
          <input type="hidden" value ="<%Response.Write WorkObjStatusKode(I)%>" name="basestatus">
          <input type="hidden" value ="<%Response.Write WorkSoegeord(I)%>" name="soegeord">
          <input type="hidden" value ="<%Response.Write WorkSoegeord(I)%>" name="basesoegeord">
          <input type="hidden" value ="Rediger" name="funktion">
          <%
              ' Response.Write "<input type=hidden name=beskriv value="
              ' Response.Write WorkBeskriv(I)
              ' Response.Write ">"
          %>
          <input type="hidden" value ="J" name="foerstegang">
          </form>
          <%                   
        END IF
        %>       
    </table>
  </td>
</tr>
<%
END SUB






SUB DanYdreRamme
  Response.Write "<tr>"
  Response.Write "<td align=left width=100% valign=top>"
  Response.Write "<table width=100% cellpadding=2 cellspacing=0 border=2 bordercolor=#0000CC>"

END SUB

SUB DanTitelLinie
  Response.Write "<tr>"
  Response.Write "<td colspan=3 align=left valign=top height=2>"
  Response.Write "<table width=100% cellpadding=0 cellspacing=0 border=0>"
  Response.Write "<tr><td align=left valign=top>"
  Response.Write "<font face=Times New Roman, Times, serif><b>"
                     
                      Response.Write " "& WorkTitel(I)
                     
                      Response.Write "</b></font></td>"
                     
                      Response.Write "<td align=right valign=top width=165>"
                      Response.Write "<font face=Times New Roman, Times, serif color=#FF0066>"
                   
                      Response.Write " "& WorkObjAfdNavn(I)
                      Response.Write "</font></td>"
                      Response.Write "<td align=right valign=top width=20>"
                      Response.Write "<a href=#tiltop><img src=../knapper/tiltop_lille.gif  height=15 border=0></a>"
                  Response.Write "</td></tr></table></td></tr>"

END SUB

SUB DanBilledefelt
'<td align="left" valign="top" width="25%"> forsøg
Response.Write "<td align=left valign=top width=200>"
         
            if WorkBillede(I) = "null"  then
              Response.Write " <font face=Times New Roman, Times, serif color=#FF0066>"
              Response.Write "&nbsp; "
              Response.Write " </font>"
            ELSE
              Response.Write " "& WorkBillede(I)
            END IF
            Response.Write "</td>"
         
END SUB

SUB Danfelt(Feltid,TomtFeltBeskrives,WorkFelt)

Dim Ledetekst, TekstMangler
 
  Response.Write "<table width=100% border=0 cellspacing=0 cellpadding=0>"
  Response.Write "<tr align=left valign=top><td width=105>"
 
           
                  IF WorkFelt <> "" OR TomtFeltBeskrives THEN
                Response.Write "<font face=Times New Roman, Times, serif color=#FF0066> "
                   
                    Response.Write " "& SkafLedetekst(Feltid) & "<b>:</b></font>"
               
                  END IF
                Response.Write "</td><td> "
               
                  IF WorkFelt <> "" then
                    Response.Write " <font face=Times New Roman, Times, serif>"
                    Response.Write " " & WorkFelt
                    Response.Write " </font><br>"
                  else
                    IF TomtFeltBeskrives THEN
                        TekstMangler = SkafTekstMangler(Feltid) 
                        Response.Write " <font face=Times New Roman, Times, serif color=#FF0066>"
                        Response.Write " " & TekstMangler
                        Response.Write " </font>"
                    END IF
                  end if
                Response.Write "</td></tr></table>"

END SUB

SUB DanUrlFelt(Feltid,TomtFeltBeskrives,WorkFelt,WorkFelt2, Fremhaev)
Dim Ledetekst, TekstMangler

  IF WorkFelt <> "" THEN
      Ledetekst = SkafLedetekst(Feltid)
        Response.Write "<table width=100% border=0 cellspacing=0 cellpadding=0>"
        Response.Write "<tr align=left valign=top><td width=105><font face=Times New Roman, Times, serif color=#FF0066>"
               
                  IF Fremhaev THEN
                    Response.Write "<b> " & Ledetekst & ":</b>"
                 
                  ELSE
                    Response.Write " "& Ledetekst & "<b>:</b>"
                  END IF
                  Response.Write "</font></td><td>"
               
                IF Fremhaev THEN
                    Response.Write "<font face=Times New Roman, Times, serif size=4><b>"
                ELSE
                  Response.Write "<font face=Times New Roman, Times, serif>"
                END IF
                 
                  Response.Write " <a href="
                  Response.Write " "& WorkFelt
                  Response.Write " target=""_blank"">"
                  Response.Write " "& WorkFelt2
                  Response.Write "</a>"
               
                IF Fremhaev THEN
                  Response.Write "</b>"
                END IF
                Response.Write "</font></td></tr></table>"
       
          END IF
       
END SUB

SUB DanBeskrivfelt(TomtFeltBeskrives,WorkFelt)

Dim TekstMangler, HJCount

  Response.Write "<table width=100% border=0 cellspacing=0 cellpadding=0>"
  Response.Write "<tr align=left valign=top><td>"

                  IF WorkFelt <> "" then
                      IF LEN(WorkFelt) < 50 THEN
                        'Af hensyn til design sikres det, at beskrivelsen mindst
                        'fylder 50 tegn
                        WorkFelt = WorkFelt & "<font color=99ccff>"
                        FOR HJCount = LEN(WorkFelt) + 1 TO 64
                            WorkFelt = WorkFelt & "x "
                        NEXT
                        WorkFelt = WorkFelt & "</font>"                       
                    END IF
                    Response.Write " <font face=Times New Roman, Times, serif>"
                    Response.Write " "& WorkFelt
                    Response.Write " </font><br>"
                  else
                    IF TomtFeltBeskrives THEN
                        TekstMangler = SkafTekstMangler(Feltid) 
                        Response.Write " <font face=Times New Roman, Times, serif color=#FF0066>"
                        Response.Write " " & TekstMangler
                        Response.Write " </font>"
                    END IF
                  end if
                Response.Write "</td></tr></table>"

END SUB

SUB DanEmailFelt(Feltid, TomtFeltBeskrives, WorkFelt)
   
    IF WorkFelt <> "" then
        Response.Write "<table width=100% border=0 cellspacing=0 cellpadding=0>"
        Response.Write "<tr align=left valign=top>"
        Response.Write "<td width=105><font face=Times New Roman, Times, serif color=#FF0066> "
           
                    Response.Write " "& SkafLedetekst(Feltid) & "<b>:</b>"
        Response.Write "</font></td><td>"
        Response.Write "<font face=Times New Roman, Times, serif>"
        %>
        <a href="mailto:<%Response.write WorkFelt%>"><%Response.Write WorkFelt%></a>
        <%       
        Response.Write "</font></td></tr></table>"
       
          END IF

END SUB

SUB DanPopopFelt
  SELECT CASE WorkObjStatusKode(I)
      CASE "8" ' Manglende hovedtekst
        Response.Write " <font face=Times New Roman, Times, serif color=#FF0066>"
        Response.Write " " & SkafTekstMangler("Artikel")
        Response.Write " </font>"
      CASE "20" ' Godkendt linkartikel
      CASE ELSE
        %>
        <font face="Times New Roman, Times, serif" size="4">
        <A href=java script:OnClick=WindowOpen('http://www.tv-girls.dk/Tina/leksikon32/vishovedtekst.asp?Key=<%Response.Write WorkIDPost(I)%>',820,620,"P")>
        L&aelig;s artiklen</a></font>
        <%
  END SELECT     
 
    'ELSE ' Mangelfuld
    '  Response.Write " <font face=Times New Roman, Times, serif color=#FF0066>"
      ' Response.Write " " & SkafTekstMangler("Artikel")
      ' Response.Write " </font>"   
'    END IF
END SUB

FUNCTION SkafLedetekst(Feltid)
'Danner ledetekst til visning
  SELECT CASE Feltid 
        CASE "Beskriv"
        SkafLedetekst = ""      
      CASE "Billede"
        SkafLedetekst = ""
      CASE "BogTitel"
        SkafLedetekst = "Baseret efter"         
      CASE "DistSelskab"
          SkafLedetekst = "Distr. selskab"
      CASE "DVDNr"
          SkafLedetekst = "DVD"         
      CASE "Forfatter"
          SkafLedetekst = "Forfatter"
      CASE "Forfatter2"
          SkafLedetekst = "Forfatter 2"
      CASE "Forlag"
          SkafLedetekst = "Forlag"     
      CASE "Instruktør"
        SkafLedetekst = "Instruktør"
      CASE "Medvirk"
          SkafLedetekst = "Medvirkende"   
      CASE "OprettetDato"
          SkafLedetekst = "Oprettet dato" 
      CASE "OrigTitel"
          SkafLedetekst = "Org. titel"
      CASE "PremiereAar"
          SkafLedetekst = "Premiereår"
      CASE "ProdSelskab"
          SkafLedetekst = "Prod. selskab"
      CASE "Spilletid"
          SkafLedetekst = "Spilletid (min) "       
      CASE "UdgivDato"
          SkafLedetekst = "Udgivet"
      CASE "VHSNr"
          SkafLedetekst = "Video"
      CASE "FoersteUdgivDato"
          SkafLedetekst = "1. udgivelse"
      CASE "Sprog"
          SkafLedetekst = "Sprog"
      CASE "Antalsider"
          SkafLedetekst = "Antal sider"
      CASE "Pris"
          SkafLedetekst = "Pris"   
      CASE "Isbn"
          SkafLedetekst = "ISBN-nr"
      CASE "UrlForfatter","Url"
          SkafLedetekst = "Hjemmeside"
      CASE "Koen"
        SkafLedetekst = "Køn"
      CASE "Stilling"
          SkafLedetekst = "Stilling"
      CASE "Foedeaar"
          SkafLedetekst = "Alder"
      CASE "Nation"
          SkafLedetekst = "Nationalitet"
      CASE "Region"
          SkafLedetekst = "Region/egn/by"
      CASE "Icq"
          SkafLedetekst = "ICQ-nr"
      CASE "Email"
          SkafLedetekst = "E-mail"
      CASE "DitNavn"
          SkafLedetekst = "Oprettet af"
      CASE "DinEmail"
          SkafLedetekst = "OpretE-mail"
      CASE "Tlf"
          SkafLedetekst = "Tlf"
      CASE "Mobiltlf"
          SkafLedetekst = "Mobiltlf"
      CASE "Indehaver"
          SkafLedetekst = "Indehavernavn"
      CASE "InternLink"
          SkafLedetekst = "Link til yderlig omtale"
      CASE "Status"
          SkafLedetekst = "Status"
      CASE "Soegeord"
          SkafLedetekst = "Søgeord"
  END SELECT
END FUNCTION

FUNCTION SkafTekstMangler(Feltid)
'Danner teksten til manglende data
  SELECT CASE Feltid
      CASE "Beskriv"
        SkafTekstMangler = "Der er ikke nogen beskrivelse."
      CASE "Forlag"
        SkafTekstMangler = "Ingen oplysning om forlag. Modtager gerne oplysning om det."
      CASE "Isbn"
        SkafTekstMangler = "Ingen oplysning om ISBN-nr. Modtager gerne oplysning om det."
      CASE "DitNavn"
        SkafTekstMangler = "Ingen oplysning om, hvem der har oprettet posten."
      CASE "DinEmail"
        SkafTekstMangler = "Ingen oplysning om, hvem opretterens emailadresse."
      CASE "OprettetDato"
        SkafTekstMangler = "Ingen oplysning om, oprettelsesdato."         
      CASE "Status"
        SkafTekstMangler = "Der er ikke nogen status."
      CASE "Soegeord"
        SkafTekstMangler = "Der er ikke tilknyttet søgeord til denne post."
      CASE "Artikel"
        SkafTekstMangler = "Artiklen er ikke til rådighed endnu. Vend venligst tilbage om en dag eller to."
  END SELECT
END FUNCTION
%>
Avatar billede kurtpedersen Nybegynder
25. august 2003 - 14:55 #8
Et udpluk fra et typisk gennemløb (fra opstart af billede og til programmerne har dannet skærmbilledet - men uden at data fysisk er vist) har givet mig følgende performance-data (der er 2 kald til SkrivPerformance ovenfor). Det ser således ud (jeg har noteret et par kommentarer i gennemløbet):

HTML nu afsluttet tid = 8/25/2003 3:07:47 AM (opstart 1. gang)
Dan formular tid = 8/25/2003 3:07:47 AM      (opstart 1. gang)
Afslut formular tid = 8/25/2003 3:07:47 AM  (opstart 1. gang)
HTML nu afsluttet tid = 8/25/2003 3:07:50 AM (opstart 1. gang - efter at bruger har trykket på søg)
Dan formular tid = 8/25/2003 3:07:50 AM (behandling af formular)
Dan fil til hent søgeresultat tid = 8/25/2003 3:07:50 AM (skriv specifikationsfil)
Lige før kald af læsgem tid = 8/25/2003 3:07:50 AM (læs gem er selvstændigt program, der kaldes med response.redirect)
Læs gem kaldt tid = 8/25/2003 3:07:50 AM (Indgang læseprogram)
Læs gem kaldt - der skal søges i leksikontid = 8/25/2003 3:07:50 AM (der skal igangsættes søgning)
Læs gem, kald til søgningen start tid = 8/25/2003 3:07:50 AM (selve igangsætning af søgning)
Læs gem, kald til søgningen slut tid = 8/25/2003 3:07:51 AM (færdig med søgning)
Læs gem, vi går nu retur til kaldende program tid = 8/25/2003 3:07:51 AM (output-fil er nu dannet, og jeg redirecter herefter retur)
HTML nu afsluttet tid = 8/25/2003 3:07:51 AM (returprogrammet afsluttes)
Dan formular tid = 8/25/2003 3:07:51 AM (vi starter op igen for at vise data)
Retur fra læsgem med søgeresultater tid = 8/25/2003 3:07:51 AM (vi har modtaget data, der skal vises)
Lige før indlæsning af søgeresultater til visning tid = 8/25/2003 3:07:51 AM (vi læser den dannede fil)
Lige efter indlæsning af søgeresultater til visning tid = 8/25/2003 3:07:51 AM (og det er hermed gjort)
Behandling af poster til visning start tid = 8/25/2003 3:07:51 AM (visning af poster - ovenstående kode)
Behandling af poster til visning slut tid = 8/25/2003 3:07:51 AM (visning afsluttet - ovenstående kode)
Sletning af filer med søgeresultater tid = 8/25/2003 3:07:51 AM (oprydning i filer)
Klar til bruger tid = 8/25/2003 3:07:51 AM (bruger får kontrollen)
Afslut formular tid = 8/25/2003 3:07:51 AM (og koden er hermed slut)

Bemærk at der EFTER 3:07:51 fortsat ikke er data på skærmen - det er dem der kommer i løbet af en minuts penge.

Det ville jeg mene betød at tiden gik med at sende data fra serveren og til clienten (PC'en).
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