Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di AvOJaromil
    Registrato dal
    Feb 2006
    residenza
    laddove si stagiona formaggio dentro a dei grossi buchi di tufo
    Messaggi
    549

    non capisco...problemi con funzioni e passaggio variabili

    dunque, questa è la situazione:

    all'interno di un for io devo controllare una condizione. lo faccio con un if..else
    una variabile dichiarata all'interno della procedura che contiene anche questo for viene inizializzata a 0.

    quindi:

    function
    ....
    var flag=0;
    ....
    for
    ....

    if (condizione verificata)
    {
    flag=1;
    chiamaFunzione(flag);
    }
    else
    {
    flag=0;
    chiamaFunzione(flag);
    }

    ora; il for fa 20 giri. i primi 7 la condizione è verificata mentre nei restanti 10 no
    quindi se io nella funzione stampo il valore di flag dovrei avere sette 1 e tredici 0, mentre invece ho un 1 e il resto tutti 0.

    come mai?

    molte grazie
    "homer sei tonto come un mulo e due volte più brutto. se uno sconosciuto ti offre un passaggio tu devi accettarlo..."

    www.flickr.com/photos/asciella/
    www.lastfm.it/user/qvaioe/

  2. #2
    Scusa,
    potresti postare un po' + di codice?
    almeno il ciclo FOR....

    Da quello che hai scritto non ci sono errori,
    puoi migliorarlo così:

    (condizione verificata) ? chiamaFunzione(1) : chiamaFunzione(0);

    Ciao
    Mirko Agrati
    WEB : http://mirkoagrati.110mb.com
    RSS : http://feeds.feedburner.com/MirkoAgratiArticoli

  3. #3
    Utente di HTML.it L'avatar di AvOJaromil
    Registrato dal
    Feb 2006
    residenza
    laddove si stagiona formaggio dentro a dei grossi buchi di tufo
    Messaggi
    549
    var flag=0;

    for (var i=0; i<numeroInserzioni; i++)
    {
    rigaUrl=inserzioni[i].indexOf(pattern)+9;
    temp=inserzioni[i].slice(rigaUrl);
    temp2=temp.indexOf("\x22");
    indirizzo=temp.slice(0,temp2);
    if ((indirizzo.search("www"))!=-1)
    {
    flag=1;
    }
    else
    {
    flag=0;

    }
    prelevaAnagrafica(inserzioni[i],flag);

    }

    la cosas strana, è che se dentro l'if ci metto un output come Response.write(flag);
    allora i risultati sono esatti (7 uno, 13 zero) ma se faccio partire la chiamata di funzione prelevaAnagrafica il risultato viene sbagliato (1 uno, 19 0). ho provato anche a mettere la chiamata prelevaAnagrafica(inserzioni[i],flag) con un output per il debug all'interno dell'if e cioè:

    if ((indirizzo.search("www"))!=-1)
    {
    flag=1;
    Response.write(flag);
    prelevaAnagrafica(inserzioni[i],flag);
    Response.write(flag);
    }
    else
    {
    flag=0;
    Response.write(flag);
    prelevaAnagrafica(inserzioni[i],flag);
    Response.write(flag);

    }
    se provo così, il risultato viene sbagliato , se tolgo la chiamata viene corretto.
    la chiamata per ora non fa niente, non ha nessuna riga di codice, quindi non puo essere colpevole
    "homer sei tonto come un mulo e due volte più brutto. se uno sconosciuto ti offre un passaggio tu devi accettarlo..."

    www.flickr.com/photos/asciella/
    www.lastfm.it/user/qvaioe/

  4. #4
    L'unica cosa che mi viene in mente è quella di passargli un flag stringa anziché numerico.
    prova a settare flag='1' e flag='0'

    Ciao
    Mirko Agrati
    WEB : http://mirkoagrati.110mb.com
    RSS : http://feeds.feedburner.com/MirkoAgratiArticoli

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.