Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,109

    [VB.NET] Eseguire codice salvato su database MySQL dinamicamente

    Ciao a tutti!
    Mi rendo conto che la mia richiesta di oggi possa sembrare assurda ma mi trovo in una situazione particolare.

    Sto sviluppando un software che tra le altre cose gestirà una serie di calcoli inerenti dei prodotti.
    Questi calcoli sono frutto di formule più o meno complesse.

    La prima cosa che viene in mente è di inserire tali formule all'interno dell'applicazione ma c'è un problema:

    I prodotti e le formule cambiano di mese in mese motivo per cui è necessario creare un'interfaccia che consenta all'utente di personalizzarle e per fare questo non ho trovato altre idee che stoccare il tutto in un Database.
    Il problema di usare un DB è che il tutto è tipizzato...."standard" insomma...e quando ci si trova a dover esegure formule particolari ci si blocca.

    Da qui la mia richiesta:

    E' possibile salvare codice su un db che poi possa essere pescato e rieseguito?
    In alternativa voi come fareste?

  2. #2
    Utente di HTML.it L'avatar di patel
    Registrato dal
    Jan 2008
    Messaggi
    1,994
    magari un file excel con già le formule predisposte da cui leggere solo i risultati

  3. #3
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,109
    Quote Originariamente inviata da patel Visualizza il messaggio
    magari un file excel con già le formule predisposte da cui leggere solo i risultati
    Non capisco in che modo....Se le formule le predispongo nell'XLS tanto vale che le metta in un modulo dell'applicazione VB.NET no?
    O forse non ho capito cosa mi stai suggerendo....mi fai un esempio?

  4. #4
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Quote Originariamente inviata da Veronica80 Visualizza il messaggio
    E' possibile salvare codice su un db che poi possa essere pescato e rieseguito?
    Se è codice SQL chiaramente sì.
    Io lo faccio con i report (elenco campi per i filtri, ordinamento, ecc.)

    Quote Originariamente inviata da Veronica80 Visualizza il messaggio
    In alternativa voi come fareste?
    Questo dipende da cosa devi fare esattamente.
    Non è possibile risponderti perché la tua richiesta è alquanto generica e quindi devi armarti di pazienza e cercare nel web quello che serve a te.

    Tanto per citare un paio di esempi:

    Parsing Mathematical Expressions in VB.NET: Mission Possible
    https://www.codeproject.com/Articles...n-VB-NET-Missi

    Poi c'è anche il metodo Compute del DataTable:
    https://docs.microsoft.com/it-it/dotnet/api/system.data.datatable.compute?view=netframework-4.8


  5. #5
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,109
    Si si è codice sql anche se non son funzioni solo matematiche ma anche logiche...

    Dovrei poterci salvare una serie di istruzioni per delle funzioni da eseguire poi nel programma

  6. #6
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,109
    Pardon mi son confusa...il codice non è sql ma vb.net

  7. #7
    Utente di HTML.it L'avatar di patel
    Registrato dal
    Jan 2008
    Messaggi
    1,994
    Quote Originariamente inviata da Veronica80 Visualizza il messaggio
    Non capisco in che modo....Se le formule le predispongo nell'XLS tanto vale che le metta in un modulo dell'applicazione VB.NET no?
    O forse non ho capito cosa mi stai suggerendo....mi fai un esempio?
    Intendevo utilizzare il file excel come database.
    Se le metti nell'applicazione devi ricompilare tutto se fai modifiche, se usi un file excel devi modificare solo quello e lo può fare chiunque.

  8. #8
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,288
    Quote Originariamente inviata da Veronica80 Visualizza il messaggio
    Mi rendo conto che la mia richiesta di oggi possa sembrare assurda ma mi trovo in una situazione particolare.
    Direi che non è assurda, anzi in determinati software si fa tradizionalmente, soprattutto quando sono coinvolti calcoli che prevedono un frequente aggiornamento o la necessità di una customizzazione del cliente, ad esempio.

    Quote Originariamente inviata da Veronica80 Visualizza il messaggio
    E' possibile salvare codice su un db che poi possa essere pescato e rieseguito?
    In alternativa voi come fareste?
    La parola magica che stai cercando è Scripting.

    Molto sinteticamente, su .NET ci sono diverse modalità per eseguire "codice dinamico", ossia caricato ad esempio da un file di testo, oppure da un database o da qualsivoglia fonte tu voglia.

    Le soluzioni si distinguono in base allo strumento e alle capacità che si vogliono ottenere.

    Ad esempio, puoi integrare un motore di scripting all'interno della tua applicazione (vedi questo articolo), oppure usare un linguaggio differente e specifico, come IronPython, per cui sono disponibili anche librerie da integrare nell'applicazione per caricare ed eseguire i programmi (pena il fatto di dover imparare un pochino di sintassi Python) oppure adottare librerie che eseguano compiti più specifici (ad esempio, FLEE, che è un valutatore di espressioni, che forse è quello più indicato per le tue esigenze).

    Prova magari ad approfondire l'argomento in generale, poi eventualmente si può discutere meglio dei dubbi che ti vengono in mente.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  9. #9
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,109
    Sono contenta pensavo di stare chiedendo qualcosa di irrealizzabile! Adesso vedo un po com'è questo FLEE perchè mi potrebbe davvero aiutare molto!
    Salvando le varie funzioni posso anche creare un'interfaccia utente per crearle prima (così l'utente non deve scrivere codice) una sorta di editor!

    Per ora grazie! Ci aggiorniamo con i dubbi che, sicuramente, sorgeranno a riguardo!!

  10. #10
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,288
    Quote Originariamente inviata da Veronica80 Visualizza il messaggio
    Salvando le varie funzioni posso anche creare un'interfaccia utente per crearle prima (così l'utente non deve scrivere codice) una sorta di editor!
    La libreria ti permette anche di usare una sorta di "oggetto di base" che, reso visibile al motore di valutazione delle espressioni, trasforma tutti i metodi dell'oggetto in funzioni invocabili all'interno dell'espressione: in questo modo, nella pratica puoi supportare un tuo linguaggio di macro personalizzato (vedi gli esempi di codice).

    Nulla vieta di costruirti anche un editor per creare le espressioni e inserirle, visto che di fatto si tratta di costruire una stringa.
    Certo, in base a quanto vorrai raffinarlo, ci vorrà un po' di tempo, però una banale inserzione di un nome di funzione all'interno di una casella di testo non è complicata da fare.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

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 © 2024 vBulletin Solutions, Inc. All rights reserved.