Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    714

    [F8] controllo su un ciclo for

    Ho questo ciclo for:

    codice:
    for (var i:Number = 0; i < list.length; i++) {
    	while (incar==false) {
    	item.upload(_root.link+_root.utente+"upload.php"+"?dir=/"+_root.nomecart + "&rnd=" + random(999999))
    	_root.listload.push(item.name)
    	incar=true
    	} else {
    	i--
    	}
    }
    Solo che chiramente impazzisce ... come faccio ad impedire che il contatore i vada avanti finchè non è verificata la condizione incar=false?

    Grazie
    Mir

  2. #2
    Utente di HTML.it L'avatar di alpeweb
    Registrato dal
    Oct 2002
    Messaggi
    1,691
    potresti descrivere cosa vuoi ottenere?
    ...altri 5 anni di purga...

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    714
    Senza questo controllo flash impalla il server e crede di aver uplodato file che invece non sono ancora stati caricati ... ho così creato un controllo che verifichi in .onComplete che il file sia stato effettivamente caricato (che passerà quindi incar=false) ... e questo controllo deve agire sul for "rallentandolo".

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    714
    Cerco di esporre meglio il mio problema:

    ho questo codice:

    codice:
    controllo=True
    for (var i:Number = 0; i < 100 i++) {
    	if (controllo==True) {
    		//operazione
    		controllo=False
    	} else {
    		i--
    	}
    }
    
    if ("operazione eseguita") {
    	controllo=True
    }
    Siccome "operazione" comporta un'interrogazione al server potrebbe essere lenta quindi non voglio che la progedura mi salti delle "i", ecco quindi che ho settato un "controllo" che mi verifichi l'"operazione eseguita".
    Se l'operazione non è eseguita il ciclo for (che non so come mettere e se si può mettere in pausa) deve rimanermi fermo sulla stessa "i" ma questo chiaramente (come è scritto sopra) fa credere a flash che il ciclo for sia infinito (continua a fare i++ ed i-- mentre l'"operazione" è in corso)!!!


    Spero di essere stato chiaro e spero che qualcuno mi possa dare qualche dritta!!!!

    Grazie
    Mir

  5. #5
    Utente di HTML.it L'avatar di alpeweb
    Registrato dal
    Oct 2002
    Messaggi
    1,691
    se ho capito, credo che ti convenga fare un funzione che rappresenti
    la tua operazione, nella quale se l'operazione va a buon fine
    incrementa il contatore e richiama se stessa,
    altrimenti richiama se stessa senza incrementare il contatore.
    Puoi anche inserire un numero massimo di tentativi per l'esecuzione
    dell'operazione dopodichè incrementi il contatore ugualmente,
    magari avvisandoti dell'errore.

    var subR=0
    function uppa(i){
    if(i<100){
    if( item.upload()) {uppa(i+1); subR=0}
    else{
    subR++
    if(subR<4)uppa(i)
    else {uppa(i+1); subR=0; trace("item.upload("+i+") ->Fallito")}
    }

    }else trace("finito")

    }
    uppa(1)
    ...altri 5 anni di purga...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.