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

    Google sheet e variabili

    Ciao a tutti,

    è un paio di giorni che sto studiando il JavaScript con i fogli di calcolo ( Google sheet ) per creare macro.

    Per quanto banale proprio non sono riuscito a capire perché non vada.

    Vorrei creare della variabili o globali o statiche per ricordare alcuni valori, una volta inizializzato
    codice:
    a = 10
    attraverso la funzione

    codice:
    function aaa(){
        this.a = 20;
    }
    dovrebbe aggiornare il valore eppure non lo fa il valore rimane 10 e non diventa 20.

    Qualcuno sa dirmi il perché?
    Grazie
    Lele

    codice:
     a = 10;
    
    
    /**
     * @returns {undefined}
     * @customfunction
     */
    function aaa(){
        this.a = 20;
    }
    
    
    /**
     * @returns {undefined}
     * @customfunction
     */
    function bbb(){
        return this.a;
    }

  2. #2
    Utente di HTML.it L'avatar di vic53
    Registrato dal
    Oct 2010
    residenza
    Fonte Nuova (Roma)
    Messaggi
    591

    perche' non funziona?

    Quote Originariamente inviata da HfChancellor Visualizza il messaggio
    Ciao a tutti,

    è un paio di giorni che sto studiando il JavaScript con i fogli di calcolo ( Google sheet ) per creare macro.

    Per quanto banale proprio non sono riuscito a capire perché non vada.

    Vorrei creare della variabili o globali o statiche per ricordare alcuni valori, una volta inizializzato
    codice:
    a = 10
    attraverso la funzione

    codice:
    function aaa(){
        this.a = 20;
    }
    dovrebbe aggiornare il valore eppure non lo fa il valore rimane 10 e non diventa 20.

    Qualcuno sa dirmi il perché?
    Grazie
    Lele

    codice:
     a = 10;
    
    
    /**
     * @returns {undefined}
     * @customfunction
     */
    function aaa(){
        this.a = 20;
    }
    
    
    /**
     * @returns {undefined}
     * @customfunction
     */
    function bbb(){
        return this.a;
    }
    Innanzitutto ben entrato/a nei forum... ma devo dire che prima di scrivere codice che non funziona, bisogna capire cosa si sta facendo... senza offese...
    ma...
    Cosa è una funzione?
    Una funzione è un sottoprgramma che passandogli dei dati, li manipola e ti risponde dandoti qualcosa....
    in pratica una funzione che per esempio dovesse fare l'elevamento a potenza di un dato numero, cosa vuole?
    in primo luogo il numero e poi ti risponde dandoti la risposta che cerchi; le funzioni javascript usano la notazione
    codice:
    ...return valore;
    in cui valore nel caso della funzione che eleva al quadrato il numero sarà il risultato di una operazione aritmetica in cui moltiplicherà il valore che gli comunichi per se stesso nel caso dell'elevamento al quadrato....
    Dove gli passi tale valore?
    nella chiamata chiaramente...
    quindi la notazione sorgente tipo
    codice:
    ...
    var x = Quadrato(12);
    ...in cui la funzione 
    
    ...
    function Quadrato(n) {
    var k=parseFloat(n)*parseFloat(n);
    return k;
    }
    E' una piccola funzioncina che risponde con il valore che gli passi in quel caso 12 e ti dovrebbe ritornare il suo quadrato..
    ....
    nel tuo caso l'oggetto "this" E' UN OGGETTO!.... e come tale va trattato... a cosa sta puntando?
    cosa e'? un numero, un form, una select, una texbox?...se è un numero questo dovrebbe essere una variabile....
    Va be in ogni caso un buon libro di programmazione base ti ci vuole per iniziare a capire le fondamenta dell'informatica..
    Ti consiglio di aprire questo link e passo dopo passo cominciare a fare le esercitazioni che ci sono...

    http://www.w3schools.com/js/default.asp
    Ok?
    Scusate se sono stato un po prolisso di parole....
    e buon lavoro
    Ultima modifica di vic53; 03-06-2016 a 21:37
    Vic53

  3. #3
    Ciao prima di venire qui sono passato da
    http://www.w3schools.com/js/default.asp

    il codice che ho scritto non devo fare nulla di particolare.

    volevo solo inserire da google sheet un valore creando una macro

    del tipo
    =setMetodo(a)

    in un secondo momento volevo recuperare il valore attraverso
    =getMetodo()

    Il problema di fondo è che ho problemi di visibilità, l'ho messa con vivibilità globale eppure non riesco a trovarla.

    Da Java classico non sarebbe un problema, ma qui non ho capito perché non riesco
    Lele

    PS mi accontentavo di una cosa così

    codice:
    
    
    codice:
    ​public class Person {   
    
        private String nome;
    
        public String getNome() {
            return nome;
        }
    
    
        public void setNome(String nome) {
            this.nome = nome;
        }
    }

    Ultima modifica di HfChancellor; 03-06-2016 a 22:16

  4. #4
    Utente di HTML.it L'avatar di vic53
    Registrato dal
    Oct 2010
    residenza
    Fonte Nuova (Roma)
    Messaggi
    591
    Quote Originariamente inviata da HfChancellor Visualizza il messaggio
    Ciao prima di venire qui sono passato da
    http://www.w3schools.com/js/default.asp

    il codice che ho scritto non devo fare nulla di particolare.

    volevo solo inserire da google sheet un valore creando una macro

    del tipo
    =setMetodo(a)

    in un secondo momento volevo recuperare il valore attraverso
    =getMetodo()

    Il problema di fondo è che ho problemi di visibilità, l'ho messa con vivibilità globale eppure non riesco a trovarla.

    Da Java classico non sarebbe un problema, ma qui non ho capito perché non riesco
    Lele

    PS mi accontentavo di una cosa così

    codice:
    
    
    codice:
    ​public class Person {   
    
        private String nome;
    
        public String getNome() {
            return nome;
        }
    
    
        public void setNome(String nome) {
            this.nome = nome;
        }
    }

    Ciao,
    ho visto i fogli google sheet e ho notato che utilizza funzioni javascript che tu vuoi usare...
    di sicuro una cosa è certa che se definisci le variabili in una funzione, queste sono solo locali...
    se pero metti la variabile fuori dalla funzione, la salva? e se la salva te la fa riusare dentro una chiamata a funzione?


    es.
    codice:
    ...
    
    var a=10;
    function myFunction(param1) {
    var risul = a * param1;
    return risul;
    }
    esempio a caso naturalmente solo per prova dato che non conosco la struttura di google sheet e dato che definendo la variabile all'esterno della funzione, questa dovrebbe in teoria poterci accedere...
    Vic53

  5. #5
    Ciao Vic53
    codice:
    /**
    * @customfunction
    */
    var a=10;
    function myFunction(param1) {
    var risul = a * param1;
    return risul;
    }
    In questo caso viene visto il valore risul ma se facessi:

    codice:
    function updateFunction(param1) {
    a = param1;
    return a;
    }
    in questo caso sarebbe sempre 10, a quanto pare ogni cella lavora in maniera indipendente dalle altre.

    La mia era più una curiosità, facendo spesso fogli di calcolo e " sentendoli un po stretti " avevo pensato che una macro avrebbe risolto i miei problemi..... ma è stato l'esatto contrario....

    Quindi almeno che qualcuno non tiri fuori un coniglio dal cappello è più semplice fare un programma direttamente in Java.

    Lele

  6. #6
    Utente di HTML.it L'avatar di vic53
    Registrato dal
    Oct 2010
    residenza
    Fonte Nuova (Roma)
    Messaggi
    591
    Quote Originariamente inviata da HfChancellor Visualizza il messaggio
    Ciao Vic53
    codice:
    /**
    * @customfunction
    */
    var a=10;
    function myFunction(param1) {
    var risul = a * param1;
    return risul;
    }
    In questo caso viene visto il valore risul ma se facessi:

    codice:
    function updateFunction(param1) {
    a = param1;
    return a;
    }
    in questo caso sarebbe sempre 10, a quanto pare ogni cella lavora in maniera indipendente dalle altre.


    La mia era pi� una curiosit�, facendo spesso fogli di calcolo e " sentendoli un po stretti " avevo pensato che una macro avrebbe risolto i miei problemi..... ma � stato l'esatto contrario....

    Quindi almeno che qualcuno non tiri fuori un coniglio dal cappello � pi� semplice fare un programma direttamente in Java.

    Lele
    ciao
    anche io ci studio su le cose e devo dire che i fogli google (a parte chi li ha scritti � un programmatore di un livello elevato) hanno comunque di sicuro limitazioni all'utilizzo dentro un sito web...li vedo di piu come utility che servono a fare calcoli e salvare pagine di calcoli come calcolatrici.
    Il linguaggio Javascript diversamente da java, � un linguaggio interpretato che � presente dentro i browser perch� i tecnici di internet hanno deciso cosi' per normalizzare lo standard di comunicazione dati. Essendo un interprete si presta a fare molte cose e ricordiamoci che essendo presente sul client, � anche presente sul server oltretutto ... ma programmare lato server in javascript, non tutti lo fanno.
    Java e' un linguaggio compilato a due lievelli e richiede che sia installato il componente java al contrario dei programmi eseguibili della vecchia scuola informatica che prima erano compilati e poi resi eseguibili dal link editor che li trasformava in linguaggio macchina per un dato processore particolare. Essendo Java presente in molte piattaforme si � arrivati a un linguaggio pseudocompilato come quello che usi tu (java) che gira su Sist.Oper. diversi basta che ci sia montata la piattaforma Java. L'uso di javascript per quanto riguarda il web, ritengo (ed � mia convinzione) sia un buon strumento di creazione programmi interattivi basati su modalita client-server dato che possono usare linguaggi misti e colloquiare in HTTP e avere collegamenti con linguaggi lato server come vbscript e il CGI componente che permette l'utilizzo di eseguibili creati in diversi linguaggi dentro il server.
    Oggi la parte web dinamica sta crescendo molto e stanno uscendo come funghi librerie Javascript come Jqueri etc etc... tutte mirate a creare modelli di utilizzo per avere interfacce standard.
    Se tutti usiamo la stessa interfaccia alla fine ci possiamo parlare meglio diciamo...
    io personalmente utilizzo lato client javascript + librerie Jquery e chiamate Ajax verso vbscript sul server... In questo modo copro il 100% dei bisogni per costruire programmi dinamici e a me basta.
    Il mondo informatico � talmente vario e complesso che ci vorrenne una vita intera e di piu per studiarli tutti e io ci ho passato piu' di 30 anni per avere delle basi minime per creare applicazioni come volevo io e ancora ci studio su.
    Be mi sono dilungato un po troppo, se vuoi chiacchierare con me scrivimi che approfondiamo concetti e modelli utilizzabile per fare cosa e come
    un saluto
    Vic53

  7. #7
    Certo che mi interessa, a me piace molto la programmazione. Con il Java come sei messo?

    TI scrivo qui o in PM?
    Lele

  8. #8
    Utente di HTML.it L'avatar di vic53
    Registrato dal
    Oct 2010
    residenza
    Fonte Nuova (Roma)
    Messaggi
    591
    Quote Originariamente inviata da HfChancellor Visualizza il messaggio
    Certo che mi interessa, a me piace molto la programmazione. Con il Java come sei messo?

    TI scrivo qui o in PM?
    Lele
    Ciao

    io sto studiando Jboss da poco... con Java ci sono dentro da poco mentre con Javascript ho fatto i test W3school per mio conto e ho risposto a tutte le domande che ti fano nei test, non comprero' l'attestato perchè non mi serve dato che ho studiato programmazione per 30 anni partendo dal fortran IV poi al Cobol et et fino al Visual basic dato che sono in pensione.
    In ultimo sto studiando sistemi per web intranet e internet.
    ho sempre usato Javascript e chiamate a librerie varie tipo Jquery e parenti addons; per collegarmi a database di solito mi collego ad Access 2007 oppure ultimamente ho acquistato MySQL nel mio sito, sto provando le connessioni ASP con MySQL e gestione dati.
    Ho scritto due applicazioni che stanno girando su tre mercatini dell'usato collegate a database Access 2007 via Ajax e javascript + vbscript.
    Se vuoi aiutarmi a proseguire un lavoro che sto facendo in questi giorni e parlare di programmazione con me sarei contento e se ti piace il sistema che ho progettato per il front end Client-server saro' contento di avere qualcuno a cui possono servire le mie singolari conoscenze sviluppate in anni.
    ti mando la mia mail se vuoi contattarmi io ho anche skype e di solito lavoro fino a tardi fino anche a mezzanotte e oltre. Di giorno sono spesso al PC perchè seguo alcuni miei clienti che usano le mie applicazioni e le seguo in controllo remoto via remote host 6.3 grauito della open source.
    Vic53

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.