Newsgroup: it.comp.lang.javascript
Titolo: Urgente!Aiutatemi!

Mi serve un programma che realizzi un testo scorrevole con scorrimento i
verticale con caratteri grandi e visibili (tipo Karaoke).
Inoltre deve essere previsto un comando di "play" e uno di "pausa"(no stop)
e regolazione di velocità. Il tutto ovviamente deve eseguire un testo che io
devo poter sostituire ogni volta che voglio(quindi un file txt o qualcosa
del genere)Devo vedere a tutto schermo tipo karaoke il massimo dello spazio
di un 15" col massimo della grandezza possibile di un font. (o applet, o js,
o exe)
rispondere a 
offde...@email.it

Offdexter87 ha scritto:

Ti rispondo qui, sennò che che utilità avrebbero i newsgroup?
Premetto che è il mio primo programmino in javascript, che sto
mangiucchiando da qualche giorno, per cui sarà strapieno di bachi,
comunque può essere un punto di partenza.
Il primo file è index1.html (o rinominalo come ti pare) che apre
due frame:
- - - - - - clip here - - - - - -
<html><title>gpb scroller</title>
<frameset ROWS=10%,*>
     <FRAME NAME="frame0" SRC="buttons1.html">
     <FRAME NAME="frame1">
</frameset>
</html>
- - - - - - clip here - - - - - -
come vedi nel frame in alto apre il documento buttons1.html,
qui di seguito
- - - - - - clip here - - - - - -
<!--
   Copyright (C) 2004 G.Paolo Bizzaro
   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2 of the License, or
   (at your option) any later version.
   This program is distributed in the hope that it will be useful, but
   WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
   General Public License for more details.
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
   USA
-->
<HTML><HEAD></HEAD><BODY>
<FORM name=btn><table border><tr>
<td>
<INPUT type=button value="Reload" onClick=location.reload()></td>
<td><small>pixel:</small>
<INPUT name=pixel size=2 style="text-align: center" value=1>
<INPUT type=button value="<" onClick=stretto()>
<INPUT type=button value=">" onClick=largo()></td>
<td><small>velocity:</small>
<INPUT name=velocity size=2 style="text-align: center" value=0>
<INPUT type=button value="<" onClick=indietro()>
<INPUT type=button value="o" onClick=stop()>
<INPUT type=button value=">" onClick=avanti()></td>
<td><small>restart:</small>
<INPUT type=checkbox name=restart><small>sec.:</small>
<INPUT name=pausa1 size=3 style="text-align: center" 
value=6><small>+</small><INPUT name=pausa2 size=3 style="text-align: 
center" value=4>
<INPUT type=hidden name=msec value=1000></td>
<td><small>pos.:</small>
<INPUT name=position size=4 style="text-align: center" value=0>
<INPUT type=button value="<" onClick=inizio()>
<INPUT type=button value=">" onClick=fine()></td>
</tr><tr>
<td colspan=5><small>file:</small>
<INPUT name=filename type=file size=80 value="/etc/passwd">
<INPUT type=button value="Carica" onClick=loadfile()></td>
</td>
</tr></table></FORM>
<SCRIPT LANGUAGE="JavaScript">
<!--
function stretto()
{
   document.btn.pixel.value = 1*document.btn.pixel.value - 1;
   if (document.btn.pixel.value<1) document.btn.pixel.value=1;
}
function largo()
{
   document.btn.pixel.value = 1*document.btn.pixel.value + 1;
   if (document.btn.pixel.value>9) document.btn.pixel.value=9;
}
function setmsec()
{
   document.btn.msec.value = msec[Math.abs(document.btn.velocity.value)];
}
function inizio()
{
   top.frames[1].scroll(0,0);
   setmsec();
}
function fine()
{
   top.frames[1].scroll(0,top.frames[1].scrollMaxY);
   setmsec();
}
function indietro()
{
   document.btn.velocity.value = 1*document.btn.velocity.value - 1;
   if (document.btn.velocity.value<-9) document.btn.velocity.value=-9;
   setmsec();
}
function avanti()
{
   document.btn.velocity.value = 1*document.btn.velocity.value + 1;
   if (document.btn.velocity.value>9) document.btn.velocity.value=9;
   setmsec();
}
function stop()
{
   document.btn.velocity.value = 0 ;
   setmsec();
}
function showposition()
{
   document.btn.position.value = Math.floor(((top.frames[1].scrollY * 
100 / top.frames[1].scrollMaxY))) + "%";
}
function daccapo()
{
   top.frames[1].scroll(0,0);
   showposition();
   clearTimeout(timer);
   timer = setTimeout("ricomincia()",document.btn.pausa2.value*1000);
}
function dalfondo()
{
   top.frames[1].scroll(0,top.frames[1].scrollMaxY);
   showposition();
   clearTimeout(timer);
   timer = setTimeout("ricomincia()",document.btn.pausa2.value*1000);
}
function ricomincia()
{
   clearTimeout(timer);
   timer = setTimeout("go()",document.btn.msec.value);
}
function go()
{
   if ((1*document.btn.velocity.value)!=0)
   {
     scrollY = top.frames[1].scrollY + document.btn.pixel.value * 
(document.btn.velocity.value/Math.abs(document.btn.velocity.value));
     if (scrollY > top.frames[1].scrollMaxY)
     {
       scrollY = top.frames[1].scrollMaxY ;
       if(document.btn.restart.checked==true)
       {
         top.frames[1].scroll(0,scrollY);
         clearTimeout(timer);
         timer = setTimeout("daccapo()",document.btn.pausa1.value*1000);
         return ;
       }
     }
     if (scrollY < 0)
     {
       scrollY = 0 ;
       if(document.btn.restart.checked==true)
       {
         top.frames[1].scroll(0,scrollY);
         clearTimeout(timer);
         timer = setTimeout("dalfondo()",document.btn.pausa1.value*1000);
         return ;
       }
     }
     top.frames[1].scroll(0,scrollY);
   }
   showposition();
   clearTimeout(timer);
   timer = setTimeout("go()",document.btn.msec.value);
}
function loadfile()
{
   // top.frames[1].location = document.btn.filename.value ; // con 
Linux no problem
   top.frames[1].location = "file:///" + document.btn.filename.value ; 
// per lavorare con uindous
   clearTimeout(timer);
   timer = setTimeout("go()",document.btn.msec.value);
}
function NewArray()
{
   this.length = NewArray.arguments.length ;
   // alert(NewArray.arguments[0]);
   for ( var argo=0 ; argo<this.length ; argo++ )
   {
     this[argo] = NewArray.arguments[argo];
   }
   return this;
}
function tasto(e)
{
   // e.which e.modifiers
   // tasto 0>48 1>49 2>50 3>51 4>52 5>53 6>54 7>55 8>56 9>57
   // alert(e.which) ;
   switch(e.which)
   {
     case 52: // "4"
         indietro();    return true;
     case 53: // "5"
         stop();        return true;
     case 54: // "6"
         avanti();      return true;
     case 55: // "7"
         stretto();     return true;
     case 57: // "9"
         largo();       return true;
   }
   return false;
}
msec = new NewArray(1000,1000,563,316,178,100,56,32,18,10) ;
var timer = setTimeout("go()",document.btn.msec.value);
document.onkeypress = tasto ;
// -->
</SCRIPT>
</BODY>
</HTML>
- - - - - - clip here - - - - - -
Unica nota "dolente": credo funzioni solo su browser "gecko based"
(l'ho testato su Mozilla 1.6 e Firefox 0.8) e su Linux, per cui
non so sugli altri sistemi operativi (BSD, Unix, OSX) come vada.
Comunque ha la possibilità di cambiare i "pixel" di scroll
(sia con i bottoni che con i tasti 7 e 9), la velocità di scroll
(sia con i bottoni che con i tasti 4,5,6) e di ripartire dall'inizio
dopo che è arrivato alla fine del documento (con i secondi di
"fermo alla fine" e "fermo all'inizio" modificabili a piacere).
Ripeto, è il mio primo programma per cui sarà fuori tutti gli
standard esistenti, ma... va.
Bye
gp
-- 
gpb chiocciola freemail punto it

preferirei poter scaricare il file già pronto se è possibile..nn ne capisco
niente di java!grazie per quello che hai già fatto..t prego d aiutarmi
ulteriormente se è possibile..

ah dimenticavo...qst programma deve essere utilizzato con internet
explorer..ho incollato il codice..ma il browser non mi visualizza la
pagina..

 pagina..
Che alcune particolarità del codice ti consentano solo di vederlo
con Mozilla e non con Explorer potrebbe essere una buona occasione
per cambiare browser.
Se i due file che ti ho listato li chiami uno index1.html e l'altro 
buttons1.html e li metti su una stessa directory, poi vai ad aprire
index1.html almeno la schermata con i bottoni la dovresti vedere
anche su Exploder.


scusami non vorrei disturbarti..mi sa ke ho fatto qualcosa di
sbagliato..personalmente utilizzo mozzilla..il problema e ke questo
programma non è per me..in ogni caso io nn riesco a distinguere due
files..non è che perfavore potresti inviarmi i due file gia pronti?te ne
prego.è molto importante!!!

allora penso d aver individuato i due file..li ho provati con mozzilla..ma
niente!a questo punto ti chiedo un ultimo favore..puoi mandarmi il file già
pronto!???ti prego!nn c capisco nulla di queste cose..in caso allegalo a
offde...@email.it