Autore Topic: [Risolto] eseguire codice memorizzato in una stringa  (Letto 2089 volte)

Offline baroflu

  • Gamberetto
  • *
  • Post: 3
    • Mostra profilo
[Risolto] eseguire codice memorizzato in una stringa
« il: 24 Giugno 2010, 13:40:48 »
Buon giorno a tutti,
sto iniziando a programmare in gambas, e ho la necessità di eseguire del codice che è memorizzato in una stringa di testo (nn definibile in fase di scrittura del programma).
Qualche suggerimento?
Ho fatto qualche ricerca ma non ha sortito effetto.....

Grazie a tutti.
« Ultima modifica: 24 Giugno 2010, 15:31:31 da baroflu »

Offline ealmuno

  • Maestro Gambero
  • ****
  • Post: 388
    • Mostra profilo
    • http://www.ealmuno.com
Re: eseguire codice memorizzato in una stringa
« Risposta #1 il: 24 Giugno 2010, 14:58:20 »
intendi eseguire un codice tipo a=b+c salvato in una stringa o eseguirlo da terminale
il mio nuovo sito : ealmuno.com

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: eseguire codice memorizzato in una stringa
« Risposta #2 il: 24 Giugno 2010, 15:17:15 »
Buon giorno a tutti,
sto iniziando a programmare in gambas, e ho la necessità di eseguire del codice che è memorizzato in una stringa di testo (nn definibile in fase di scrittura del programma).
Qualche suggerimento?
Ho fatto qualche ricerca ma non ha sortito effetto.....

Grazie a tutti.

Immaginiamo che il tuo codice si trovi in una variabile di nome $Comando, basta fare:

Codice: gambas [Seleziona]
SHELL $Comando


ed è fatta.

Era questo che intendevi?

Offline baroflu

  • Gamberetto
  • *
  • Post: 3
    • Mostra profilo
Re: eseguire codice memorizzato in una stringa
« Risposta #3 il: 24 Giugno 2010, 15:26:19 »
non esattamente, ho un campo in un DB con una formula, durante l'esecuzione del programma prendo la formula sostituisco delle parti della formula con dei valori e calcolo il risultato.
Questo è quello che dovrei fare, diciamo che la formula da decide l'utente e il programma sostituisce i valori e calcola il risultato.

Spero di essere stato chiaro.

tks

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: eseguire codice memorizzato in una stringa
« Risposta #4 il: 24 Giugno 2010, 15:29:21 »
ah....allora devi usare il comando Eval....

Codice: gambas [Seleziona]
$comando AS String = "2 + 2" 

PRINT Eval($comando)


nel terminale apparirà 4

Offline baroflu

  • Gamberetto
  • *
  • Post: 3
    • Mostra profilo
Re: eseguire codice memorizzato in una stringa
« Risposta #5 il: 24 Giugno 2010, 15:31:08 »
grazie 1000, ci provo ma non ho dubbi che va bene  :D

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.273
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: [Risolto] eseguire codice memorizzato in una stringa
« Risposta #6 il: 24 Giugno 2010, 15:47:08 »
Mi permetto di suggerirti il download del progetto GridBox ove troverai delle funzioni (nella classe GridEdit, ScomponiFormula se non ricordo male) che servono a 'risolvere' delle formule tipo foglio di calcolo...

ti allego i sorgenti. (non sia mai che qualcuno oltre a golia inizi ad usare il componente ;) )

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re: [Risolto] eseguire codice memorizzato in una stringa
« Risposta #7 il: 25 Giugno 2010, 22:23:18 »
E si ;)
Almeno una volta nella vita provatelo...poi non ne farete più a meno ;D

@baroflu
Se devi usare una grid per le formule che devi fare, gridbox fa al caso tuo, ci metterai 5 min a capire come funziona.
Ricordati di installare il componente prima di tutto, le istruzioni le trovi quì http://www.gambas-it.org/wiki/index.php/Installazione

Offline dex

  • Gran Maestro dei Gamberi
  • *****
  • Post: 872
    • Mostra profilo
Re: [Risolto] eseguire codice memorizzato in una stringa
« Risposta #8 il: 25 Giugno 2010, 23:14:42 »
ciao raga

come mai a me gridedit mi blocca gambas?
dopo aver installato il componente gambas2-gb-gridedit gambas non si avvia e mi da questo errore:
Codice: [Seleziona]
ERROR: #27: Cannot load component 'gb.qt': cannot find library file

uso ubuntu 9.10 e gambas 2.19 compilato da sorgenti

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re: [Risolto] eseguire codice memorizzato in una stringa
« Risposta #9 il: 26 Giugno 2010, 01:03:13 »
Sembra che non trova il componente gb.qt
Può essere che sia stato disinstallato? ???
A me funziona bene, ho la versione 2.20

Offline dex

  • Gran Maestro dei Gamberi
  • *****
  • Post: 872
    • Mostra profilo
Re: [Risolto] eseguire codice memorizzato in una stringa
« Risposta #10 il: 26 Giugno 2010, 13:15:09 »
ho risolto
installando i deb di gridedit mi aveva insattato un modulo di gambas 2.13, rimosso tutto e recompilato funziona.
solo che non posso installare gridedit, dovrei compilare dai sorgenti oppure trovare gambas 2.19 compilato in deb.

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re: [Risolto] eseguire codice memorizzato in una stringa
« Risposta #11 il: 26 Giugno 2010, 22:54:25 »
Altri utenti hanno avuto questo problema?

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.720
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: [Risolto] eseguire codice memorizzato in una stringa
« Risposta #12 il: 09 Settembre 2013, 00:54:48 »
Vorrei segnalare questa discussione:

http://www.gambas-it.org/smf/index.php?topic=2339.0
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »