Uden at gå i dybden på dit problem vil jeg sige at jeg ville løse det ved at læse alle linjerne og derefter lade et (klientside) javascript tage sig af at vise de enkelte linjer ved hvert 30'de sekund.
I javascript der kører i browseren er det relativt enkelt at lave en timer der tager sig af dette.
Håber dette hjælper.
/sEi
Det ville være en enkel løsning ja .. Men så vil klienten jo ikke blive informeret i fald der kom nogle nye linjer i filen på serveren. Men det kommer jo helt an på hvad behovet er.
Ja, jeg er enig. Men hvis behovet er at KONSTANT checke serveren for nye linier mens brugeren står på den samme side ville jeg vælge en mere avanceret løsning.
Men hvis ikke dette er tilfældet ville jeg bruge noget lignende det som jeg har indsat som kode i min post herover (mens du skrev dit svar!)
Hygge!
/sEi
EDIT:
Skriver lige min indsatte kode her igen - så det er nemmere at hitte:
timerting.asp
<%
option explicit 'altid godt at have
response.Buffer = true 'udregn først ASP og send derefter resultatet
dim toHtml 'til at opbygge de linier kode som skal indsættes i javascriptet
dim antal 'til at holde antal linier vi skal arbejde med
dim t 'bruges som tæller
' Her må du bygge en måde at hente alle linierne og putte dem i en dimentioneret variabel
' det vil jeg ikke vise her og 'bygger' derfor linierne manuelt
'----------------------------
antal = 3 'først skal vi vide hvormange linier vi vil komme ud for
redim lin(antal) 'laver plads til linierne
lin(0) = "Linie 1"
lin(1) = "Og linie 2"
lin(2) = "Og her linie 3"
'----------------------------
for t=0 to (antal-1) 'opbygger en tekstblok som skal indsættes i javascriptet
toHtml = toHtml & "linier[" & t & "] = """ & lin(t) & """;" & vbcrlf
next
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Timerting</title>
<script type="text/javascript">
var pause = 5000; //Hvor lang tid mellem hver linie (30000 = 30 sec)
var c = 0; // bruges som tæller
var antal = <%=antal%>; //Her hentes antal linier
var linier = new Array(); //Vi laver et array til at holde linierne
/*
// Således vil de indsatte linier komme til at se ud fra toHtml variablen
linier[0] = "Linie 1";
linier[1] = "Og linie 2";
linier[2] = "Og her linie 3";
*/
<%=toHtml%>
//Alt klart til at opbygge selve timer-funktionen
function timedCount()
{
document.getElementById('showhere').innerHTML=linier[c]; //Hent linie nummer c
setTimeout("timedCount()",pause); //Hold en pause før vi henter næste linie
c++; //samme som c=c+1
if (c==antal)
{
//Hvis c = antal linier skal vi starte forfra, så c = 0
c=0;
}
}
</script>
</head>
<body onload="timedCount()">
<!-- Selve showet startes i body hvor der, når siden er loaded, kaldes timedCount funktionen -->
<p>Herunder er så den skiftende tekst:</p>
<!-- Herunder det element som vil vise linierne -->
<p id="showhere">Loading... </p>
</body>
</html>
Indlæg senest redigeret d. 15.07.2007 14:35 af Bruger #12142