Valutazione formulo

martedì 09 novembre 2004 - 12.27

AntCiar Profilo | Expert

Salve
Sto cercando qualche metoto o funzione capace di valutarmi una stringa e restituirmi un valore booleano che mi dica se la valutazione è vera o falsa.
Mi spiego meglio

Supponiamo di avere la stringa "10/10/04 < 25/10/04"
Passo la stringa alla mia funzione e mi restituisce True perchè l'espressione è verificata.
Ho fatto l'esempio con le date ma alla fine all'interno della stringa potrei avere di tutto.

Andy Profilo | Senior Member

Ciao..non credo sia semplicissimo..io controllerei la stringa carattere x carattere, finchè non trovi un elemento di comparazione ( <, >, <>, = ); a questo punto trovato il simbolo di comparazione analizzerei tutta la parte a sinistra del tuo simbolo, la parte a destra dello stesso (per vedere di cosa si trattano, se di date, numeri, ecc...) e poi le confornterei, usando il carattere del simbolo che hai trovato nella tua stringa sorgente.

AntCiar Profilo | Expert

Ho preso in considerazione la tua soluzione. Credo che sia fattibile quando ho solo un valore all'interno del membro destro e sinistro. Il problema si pone quando ho la seguente formula:

((10/10/04 + 15) - 01/10/04) = 30

come faccio in questo caso a valutare ((10/10/04 + 15) - 01/10/04)
Che io sappia non c'è nulla che mi restituisca il risultato dell'operazione.

Andy Profilo | Senior Member

Ok, in questo caso quello che ti serve è un programma o una classe che faccia un piccolo "Parsing"..so che in rete dovrebbe esserci qualche esempio, magari prova a cercare con Google..comunque tutto il ragionamentoo dovrebbe basarsi nel creare una "ricorsione" dell'analisi dei vari frammenti (sx e dx) delle stringhe sul ragionamento che ti ho suggerito, tenendo conto anche delle priorità dovute alle parentesi.
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5