Avatar billede tricky Nybegynder
04. juni 2007 - 16:51 Der er 14 kommentarer og
1 løsning

Skrive pre-defineret tekst til .txt-fil med bestemte intervaller.

Hej eksperter...

Er det muligt at skrive pre-defineret tekst til .txt-fil med bestemte intervaller.

Eksempel:

0 sekunder: Velkommen til
15 sekunder: Hitlisten
30 sekunder: Vi spiller
45 sekunder: Hits
60 sekunder: Hele tiden

Og så starte forfra. Hvert enkelt element skal skrives til en .txt-fil da der er et program der skal "samle" informationen op.

Det skal bruges sammen med en Shoutcast streaming server.


Tak!
Avatar billede jakobdo Ekspert
04. juni 2007 - 17:42 #1
Det kunne du vel evt. gøre via cronjob.
Avatar billede tricky Nybegynder
04. juni 2007 - 18:18 #2
Hej Jakob...

Hvordan gør man det på en Win2003 server? :o/
Avatar billede jakobdo Ekspert
04. juni 2007 - 19:11 #3
Så skal du måske kigge på opgavestyring, kan det sætte opgaver i gang ned til sekunder?
Avatar billede montago Praktikant
04. juni 2007 - 23:15 #4
hvad med at hijacke den stream og sende teksten direkte på TCP porten ?
Avatar billede tricky Nybegynder
05. juni 2007 - 14:56 #5
jakobdo> Det kan kun på minutbasis. Desværre.

montago> Jeg forstår ikke hvad du mener?
Avatar billede montago Praktikant
06. juni 2007 - 10:15 #6
hvis du har direkte adgang til serveren, er der en lidt anderledes løsning...

måske ikke ideel, men hvad faen :)

jeg ville lave et Javascript som kan stå og skrive til filen, det er ultra simpelt at lave - og hvis serveren ikke skal bruges som workstation, kan scriptet jo køre uendeligt...


sig til hvis du skal bruge et JS script...


min første kommentar: det er muligt at lave en monitor på den stream som shoutcast udsender, man skal så replikere den stream og sende dine tekstlinier som ID3 tags... det ER muligt... men afsindig svært...
Avatar billede tricky Nybegynder
06. juni 2007 - 10:25 #7
montago> Jeg har direkte adgang til serveren... Kan du gøre et forsøg med en Javascript-løsning?

Omkring det med at replikere streamen - så har du tabt mig ;o)
Avatar billede montago Praktikant
06. juni 2007 - 11:16 #8
dette burde virke...

kald auto funktionen i onLoad, eller lige efter siden er loadet:

var fso = new ActiveXObject("Scripting.Filesystemobject")

function saveFile(str_Line){
    try{
        var f = fso.OpenTextFile( "c:\FilSomViOverASkriver.txt" , 2 , true ) //for writing + create
        f.WriteLine( str_Line)
        f.close()
       
    }catch(){
        return false;
    }
    return true;
}

var stringlines = new Array("0 sekunder: Velkommen til"
    "15 sekunder: Hitlisten",
    "30 sekunder: Vi spiller",
    "45 sekunder: Hits",
    "60 sekunder: Hele tiden");
var counter = 0;
   
function autowriter()
{
    // in case that writefile fales, try again after a little while
    if( ! saveFile( stringlines[counter++ % stringlines.length] ) )
        setTimeout("saveFile( stringlines[counter++ % stringlines.length] )",50);
       
    setTimeout("autowriter",(15*1000)) //15s * 1000ms
}
Avatar billede tricky Nybegynder
06. juni 2007 - 11:52 #9
Det er jeg ikke helt sikker på, hvordan man gør. Kan du hjælpe med en køreklar skabelon? Og så smide et svar samtidig :o)
Avatar billede montago Praktikant
06. juni 2007 - 13:11 #10
testet og virker... du skal bare rette stien til tekstfilen...

<html>
<head>
<script language="Javascript">
var fso = new ActiveXObject("Scripting.Filesystemobject")

function saveFile(str_Line){
    try{
        var f = fso.OpenTextFile( "fotobase.txt" , 2 , true ) //for writing + create
        f.WriteLine( str_Line )
        f.close()
    }catch(e){
        return false;
    }
    return true;
}

var stringlines = new Array("0 sekunder: Velkommen til",
    "15 sekunder: Hitlisten",
    "30 sekunder: Vi spiller",
    "45 sekunder: Hits",
    "60 sekunder: Hele tiden");
var counter = -1;
   
function autowriter(){
    // in case that writefile fales, try again after a little while
    counter++
    if(! saveFile( stringlines[ counter ] ) )
        document.getElementById("out").innerHTML += "<br>Fejl i skrivning";
   
    document.getElementById("out").innerHTML = stringlines[counter]
   
    counter = (counter >= stringlines.length)? 0 : counter;
   
    setTimeout("autowriter();",(15*1000)) //15s * 1000ms
}
</script>
</head>
<body onload="autowriter();">
  <h3>der arbejdes...</h3>
  <div id="out"></div>
  <div id="log"></div>
</body>
</html>
Avatar billede tricky Nybegynder
06. juni 2007 - 13:32 #11
Tusind tak!

Jeg synes dog ikke at den opretter/skriver tekstfilen. Men jeg vil arbejde lidt med det :o)
Avatar billede montago Praktikant
06. juni 2007 - 13:41 #12
hvis der ikke skrives en sti på filen. ligger den på skrivebordet (af underlige årsager)

husk at backlash skal escape's : "c:\\textfil.txt"
Avatar billede tricky Nybegynder
06. juni 2007 - 13:44 #13
Det var dét jeg havde glemt... Tak for hjælpen! :o)
Avatar billede montago Praktikant
06. juni 2007 - 13:56 #14
btw - virker ikke i andre browsere end Explorer
Avatar billede tricky Nybegynder
06. juni 2007 - 14:38 #15
Det er også helt fint. Det er hvad serveren har installeret :o)
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

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