Newsgroup: it.comp.www.php
Titolo: scandire i tempi di un ciclo

Come posso fare per rallentare un ciclo? Cioč, esiste una funzione che
scandisce il tempo delle operazioni cicliche?
Oppure che mi crei una pausa tra un ciclo e l'altro?
jud

Oppure che mi crei una pausa tra un ciclo e l'altro?
Description
void sleep ( int seconds)
The sleep function delays program execution for the given number of
seconds

 seconds
Si, ma nella pratica come si usa?
Ad esempio, su un ciclo che conta da 1 a 10, dove e come lo inserisco?
esempio ciclo:
for ( $i = 1; $i <= 10; $i++) {
echo $i;
}
...
grazie
jud

 jud
perche' devi fare una cosa del genere? (magari esistono soluz migliori:))
-- 
Danilo

 Ad esempio, su un ciclo che conta da 1 a 10, dove e come lo inserisco?
all'interno del ciclo, prima dell'istruzione che vuoi ritardare. È 
abbastanza ovvio, non trovi?
Ma quello che vuoi fare tu forse è inviare l'html un pò alla volta, o 
sbaglio?
Nel caso devi leggere attentamente qui: 
http://it.php.net/manual/it/ref.outcontrol.php
Ovvero devi bufferizzare l'output. Leggi bene anche le note degli utenti.
-- 
Spoken: How much is that gorilla in the window?
Take our advice, At any price, A gorilla like Magilla is mighty nice.
Gorilla, Magilla Gorilla for sale

 perche' devi fare una cosa del genere? (magari esistono soluz migliori:))
[CUT]
In verità, stavo facendo delle prove per far comparire del testo un
carattere per volta con un margine di tempo di attesa tra un carattere e
l'altro, ma non ci sto riuscendo, ci sono altre soluzioni?
ciao

 Ovvero devi bufferizzare l'output. Leggi bene anche le note degli utenti.
Vado a vedere se mi può essere di aiuto
thx

 l'altro, ma non ci sto riuscendo, ci sono altre soluzioni?
ma per far questo non ti conviene usare js?
it.comp.lang.javascript
-- 
sp-
courrier électronique:
[spintop _ chez _ virgilio _ point _ it]

www.html.it/jscript/scrolling/scrolling02codice.htm
qui c'e' quello che cerchi.


 
da 
http://it.php.net/manual/it/function.flush.php
(leggermente modificato)
<?
set_time_limit(300);
echo str_repeat(" ", 256);
$i = 100;
while($i > 0)
{
    echo $i." bottle".($i != 1 ? 's' : '')." of beer on the wall, ".$i." 
bottle".($i != 1 ? 's' : '')." of beer. Take one down and pass it 
around, ".(--$i)." bottle".($i != 1 ? 's' : '')." of beer on the 
wall<br>\n";
    flush();
    ob_flush();
    sleep(1);
}
?>


 ?>
Si, l'esempio funziona, certo che mi sembra l'equivalente di uno
scioglilingua, lo potevano fare più semplice? :-)
Adesso me lo studio.
Ci sono delle funzioni che non conosco, come set_time_limit(), str_repeat(),
flush(), sleep(), praticamente tutte via! però vedo se riesco cmq a venirne
a capo.
grazie
jud

CI SONO RIUSCITO!
<?
$stringa = "Mio nome";
$lunghezza = strlen($stringa);
$i = 0;
while ( $i < $lunghezza ) {
$f = 1;
$char = substr($stringa, $i, $f);
    $i = $i + 1;
    echo "$char";
    flush();
    ob_flush();
    sleep(0.1);
}
?>
Grazie mille a tutti

 CI SONO RIUSCITO!
Anche se devo ammettere che con javascript sarà sempre più fluido... ;-)

 
Ottimo, io però per vedere l'effetto ho dovuto aumentare il valore in 
sleep (il parametro deve essere intero). Se usi un sistema nonMS valuta 
la possibilità di usare usleep.
Ciao


Judo Mast wrote:

Bhé, gli utilizzi sono diversi...
Volendo lo puoi fare in flash...


 
cmq come suggerito da altri meglio js.
--
Danilo

 Danilo
Ho risolto, e ringrazio ovviamente anche te.
js lo proverò, sarà sicuramente più fluido dato che lavora lato client.
ciao
jud

scioglilingua, lo potevano fare più semplice? :-)
E' una canzone, spesso usata in esempi di programmazione :-)
http://encyclopedia.thefreedictionary.com/99%20Bottles%20of%20Beer
http://www.99-bottles-of-beer.net/
'bye

 la possibilità di usare usleep.
Il fatto è che al di là del codice del ciclo per leggere carattere per
carattere una stringa non ho ben capito come funziona questo flush e
ob_flush. Ho intuito che regola il flusso di output ma come proprio no...
te conosci le due funzioni flush e ob_flush? Sto provando a leggere su
http://it.php.net/manual/it/function.flush.php
 ma non è facilissimo da
capire...
ciao

 
http://www.99-bottles-of-beer.net/
Per un programmatore può andare bene, per chi la canta veramente è proprio
da ubriachi! Ci credo, con tutte quelle birre...
;-)

 
http://www.99-bottles-of-beer.net/
Questo è il più bel sito sulla programmazione che io abbia mai visto. 
Notevole!
Grazie della segnalazione


 
intanto leggi la description si sleep:
/*void sleep ( int seconds)*/
ovvero il parametro deve essere un intero ed esprime si secondi di 
'sonno'. Come poteva funzionarti l'esempio che hai postato?


 'sonno'. Come poteva funzionarti l'esempio che hai postato?
Ti assicuro che sotto IE6 funziona anche con i decimi di secondo... non mi
chiedere come! ;-)

Judo Mast wrote:

Ok, può essere, IE è talmente un eccezione che può essere.


> Ok, può essere, IE è talmente un eccezione che può essere.
LOL, nel bene e nel male...


...e soprattutto se usi Javascript per gli "effetti speciali" lato client,
il server ti ringrazierà :p
Considera che per ottenere una pagina in cui includi quel pezzo di codice
impieghi al minimo 0.1*len($stringa) secondi di connessione, mentre
solitamente si cerca di sbrigare più velocemente possibile le richieste dei
client....
Saluti
Luca Beltrame