Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Evidenziare il frammento di codice eseguito

    Ciao a tutti, ho un quesito da porvi, vi spiego cosa volgio ottenere:

    Devo realizzare un file in flash che esegue passo passo un algoritmo, ad esempio un ordinamento ricorsivo, vorrei far visualizzare una finestra che indica quale riga di codice viene eseguita. L'input è da utente quindi non so preventivamente quante volte verrà ripetuto l'algoritmo.

    Io ho pensato ad aggiungere un indice di riga e tramite un altro codice capire la riga eseguita e far visualizzare su di essa questa finestra che lo evidenzia indicando la posizione rispetto agli assi.

    Mi sapete consigliare un sistema migliore?


    Aspetto un vostro aiuto, grazie
    MondoLibero: Informazione Libera, Varia ed Eventuale
    Sito di informazione varia ed eventuale. Quando ho voglia scrivo di ciò che mi pare. Pubblico guide, recensioni, notizie, critiche e tutto ciò che mi passa sotto mano e che penso sia interessante.

  2. #2
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,780
    Non ho capito sostanzialmente niente della tua spiegazione.
    In flash puoi fare il debug e inserire dei punti di interruzione nello script, ma immagino non ti serva questo.

    Per "algoritmo" intendi un normale script che scrivi nel pannello "Azioni" di flash?

    Cosa intendi per "L'input è da utente"?

    Potresti rispiegare con concetti diversi la seguente frase?

    "Io ho pensato ad aggiungere un indice di riga e tramite un altro codice capire la riga eseguita e far visualizzare su di essa questa finestra che lo evidenzia indicando la posizione rispetto agli assi."

    :master:
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  3. #3
    Originariamente inviato da KillerWorm
    Non ho capito sostanzialmente niente della tua spiegazione.
    In flash puoi fare il debug e inserire dei punti di interruzione nello script, ma immagino non ti serva questo.

    Per "algoritmo" intendi un normale script che scrivi nel pannello "Azioni" di flash?

    Cosa intendi per "L'input è da utente"?

    Potresti rispiegare con concetti diversi la seguente frase?

    "Io ho pensato ad aggiungere un indice di riga e tramite un altro codice capire la riga eseguita e far visualizzare su di essa questa finestra che lo evidenzia indicando la posizione rispetto agli assi."

    :master:
    Scusami se mi sono espresso male, cerco di spiegarmi meglio:

    Ho ad esempio l'algoritmo:

    codice:
     int somma(int sn){
        if(sn==1) return 1;
        else return sn+somma(sn-2);
    }
    Voglio mettere un layer che evidenzia la riga di codice che viene eseguita, un qualcosa del genere:


    Questo codice vorrei farlo visualizzare dall'utente e contemporaneamente eseguire in modo da crearne una descrizione grafica.

    Questa selezione deve posizionarsi sulla riga di codice man mano che questa viene eseguita.

    Con l'input è da utente intendo che il dato di ingresso nell'algoritmo, che determina il numero di volte che l'algoritmo viene eseguito, è immesso da utente, nel caso da me proposto ad esempio il valore "sn" viene precedentemente chiesto all'utente.

    Io avrei pensato di fare una cosa del genere:
    codice:
     int somma(int sn){//1
        if(sn==1) return 1;//2
        else return sn+somma(sn-2);//3
    }
    I numeri mi indicano la riga di codice eseguita, e tramite una funzione andrei a leggere il numero da me inserito e di conseguenza andrei a posizionare la selezione della riga, settando le variabili x ed y rispetto allo schermo, nella posizione in cui si trova la riga di codice eseguita.
    MondoLibero: Informazione Libera, Varia ed Eventuale
    Sito di informazione varia ed eventuale. Quando ho voglia scrivo di ciò che mi pare. Pubblico guide, recensioni, notizie, critiche e tutto ciò che mi passa sotto mano e che penso sia interessante.

  4. #4
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,780
    Ok, comincio a capire qualcosa ma ho ancora varie perplessità.

    Giusto per non cadere in equivoci, che versione di flash stai utilizzando??

    Quell'algoritmo dev'essere uno script che metti direttamente tra le azioni del filmato?
    In questo caso non so se esista un modo, da script, per recuperare in maniera semplice ciò che è riportato nello stesso pannello Azioni.

    Non capisco però se si tratti effettivamente di ActionScript o di un codice generico che deve essere reinterpretato riga per riga da una qualche funzione in flash.
    :master:
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  5. #5
    No, quello che vuole dire il mio amico è che abbiamo bisogno di sapere se esiste un modo in actionscript 3, per poter fare in modo che una funzione che viene eseguita possa essere eseguita restituedo un numero che mi rappresenti la riga di codice che sto eseguendo. Insomma una sorta di debug come dire fare in modo da ricodarsi dell'esecuzione di una riga appena eseguita. :-)

    Ci serve per una sorta di presentazione !!!

    Originariamente inviato da Skull260287
    Scusami se mi sono espresso male, cerco di spiegarmi meglio:

    Ho ad esempio l'algoritmo:

    codice:
     int somma(int sn){
        if(sn==1) return 1;
        else return sn+somma(sn-2);
    }
    Voglio mettere un layer che evidenzia la riga di codice che viene eseguita, un qualcosa del genere:


    Questo codice vorrei farlo visualizzare dall'utente e contemporaneamente eseguire in modo da crearne una descrizione grafica.

    Questa selezione deve posizionarsi sulla riga di codice man mano che questa viene eseguita.

    Con l'input è da utente intendo che il dato di ingresso nell'algoritmo, che determina il numero di volte che l'algoritmo viene eseguito, è immesso da utente, nel caso da me proposto ad esempio il valore "sn" viene precedentemente chiesto all'utente.

    Io avrei pensato di fare una cosa del genere:
    codice:
     int somma(int sn){//1
        if(sn==1) return 1;//2
        else return sn+somma(sn-2);//3
    }
    I numeri mi indicano la riga di codice eseguita, e tramite una funzione andrei a leggere il numero da me inserito e di conseguenza andrei a posizionare la selezione della riga, settando le variabili x ed y rispetto allo schermo, nella posizione in cui si trova la riga di codice eseguita.
    neeohak

  6. #6
    Nessuna proposta?
    MondoLibero: Informazione Libera, Varia ed Eventuale
    Sito di informazione varia ed eventuale. Quando ho voglia scrivo di ciò che mi pare. Pubblico guide, recensioni, notizie, critiche e tutto ciò che mi passa sotto mano e che penso sia interessante.

  7. #7
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,780
    non saprei..
    Non ho mai usato as3 ..

    Per quanto ne so non è possibile leggere da script l'esecuzione di uno script.

    Per sapere il numero di riga si potrebbe pensare ad una soluzione molto banale ma poco pratica.. ovvero per ogni riga inserire un richiamo ad una funzione passando appunto un dato numero.

    ad es

    codice:
    var riga = function(id){
       trace("sto leggendo la riga "+id)
    }
    
    riga(1)
    int somma(int sn){
    riga(2)
        if(sn==1) return 1;
    riga(3)
        else return sn+somma(sn-2);
    riga(4)
    }
    riga(5)
    Ma a parte la poca praticità, in questo modo viene passato solo il numero di riga.
    Non è possibile sapere quale sia effettivamente lo script di ogni riga a meno che non si esterni in qualche modo questo script, ovvero farne una copia esatta in formato testuale, ad esempio in una variabile che a sua volta viene letta dalla funzione riga per recuperare ciò che è scritto..

    Al momento non mi viene in mente nient'altro.
    Puodarsi in as3 c sia una soluzione pratica per fare questo..
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  8. #8
    Perfetto, in realtà era proprio quello a cui pensavamo noi, una soluzione poco pratica, ma in mancanza di meglio... diciamo che la cosa può essere fatta da un file di testo esterno, così diventa tutto più semplice, anche richiamare il codice in maniera testuale, e poi, semplificarsi le cose se si assegna un particolare ID a costrutti IF, WHILE, FOR ecc...
    Questo fine settimana ci lavoro per vedere che riesco a fare... magari tra me e te (vincenzo), troviamo la soluzione migliore... per le animazioni (la parte grafica-visuale), vediamo con calma... è la parte direi forse più semplice... (almeno credo).

    Ci sentiamo presto e ci vediamo martedì... poi mercoledì spediamo una idea via email e giovedì andiamo a vedere il nostro referente che ne pensa. :-)

    Cmq. è l'unica soluzione fattibile per ora... certo che se si potesse ottenere direttamente il punto di esecuzione :-D

    mmm... miracolo ? ehehehhehe...

    Originariamente inviato da KillerWorm
    non saprei..
    Non ho mai usato as3 ..

    Per quanto ne so non è possibile leggere da script l'esecuzione di uno script.

    Per sapere il numero di riga si potrebbe pensare ad una soluzione molto banale ma poco pratica.. ovvero per ogni riga inserire un richiamo ad una funzione passando appunto un dato numero.

    ad es

    codice:
    var riga = function(id){
       trace("sto leggendo la riga "+id)
    }
    
    riga(1)
    int somma(int sn){
    riga(2)
        if(sn==1) return 1;
    riga(3)
        else return sn+somma(sn-2);
    riga(4)
    }
    riga(5)
    Ma a parte la poca praticità, in questo modo viene passato solo il numero di riga.
    Non è possibile sapere quale sia effettivamente lo script di ogni riga a meno che non si esterni in qualche modo questo script, ovvero farne una copia esatta in formato testuale, ad esempio in una variabile che a sua volta viene letta dalla funzione riga per recuperare ciò che è scritto..

    Al momento non mi viene in mente nient'altro.
    Puodarsi in as3 c sia una soluzione pratica per fare questo..
    neeohak

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.