Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,315

    [delphi] scrivere formula da applicare

    Ciao a tutti,

    ho 5 paramentri P01,P02,P03,P04,P05 tutti integer.

    ho la necessita' di far scrivere una formula all'utente al fine di ottenere il valore di una nuova variabile. es.: RISULTATO:= (P01 + P02) * P03

    questa formula deve essere scritta dall'utente... ma io ne devo verificare/utilizzare il funzionamento.

    c'e' qualcosa che mi sfugge...
    come posso fare per calcolare quanto scritto dall'utente?


    grazie

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Devi utilizzare un parser di espressioni aritmetiche ... non è complesso ma ti consiglio di utilizzarne uno già pronto e reperibile in rete ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,315
    grazie per la risposta,

    ho cercato in rete ma ho trovato solo componenti o dll.

    ma se io volessi semplicemente 'calcolare' una STRINGA cosi '(105 + 32) * 7' come posso fare per farla eseguire a delphi?

  4. #4

    ....

    se ho ben capito:

    var
    intero:integer;
    a,b,c:string;
    begin
    a:=105;
    b:=32;
    c:=7;
    intero:= (strtoint(a) + strtoint(b)) * strtoint(c);

    ciao!

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,315
    ciao dalton, forse non mi sono spiegato bene....

    la formula la scrive l'utente io la devo solo eseguire, non so quale operazione aritmetica vuole eseguire, se addizione sottrazione o altro.... l'utente puo scrivere una sorta di espressione con parentesi....

    grazie

  6. #6
    Utente di HTML.it L'avatar di Joe Taras
    Registrato dal
    Nov 2003
    residenza
    Taranto
    Messaggi
    954
    Ciao, devi usare un parser di espressioni come ti ha consigliato oregon.
    O te lo scrivi tu oppure ne trovi uno già pronto

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,315
    mi sapete indicare dove trovare del codice che non utilizzi dll o componenti?

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,315
    ciao,

    ok per il parser di espressioni matematiche.

    adesso pero cercavo di capire come posso verificare una espressione del tipo:

    if (paramentro1>parametro2) and (...) or (...) then parametro3=100


    esiste un qualcosa anche per fare questo?

    grazie

  9. #9
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Ma cosa stai scrivendo? Un compilatore per un nuovo linguaggio di programmazione?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  10. #10
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,315
    Originariamente inviato da oregon
    Ma cosa stai scrivendo? Un compilatore per un nuovo linguaggio di programmazione?
    magari... sarei un mostro d'intelligenza!

    dovrei scrivere un 'semplice' programma che deve calcalare la quantita di alcuni articoli di distinta base a secondo di alcuni parametri inseriti dall'utente.

    es.
    il cliente acquista un armadio
    i parametri che immette l'utente sono Lunghezza, Altezza e Profondida

    l'articolo armadio e' composto da altri articoli detti di 'distinta base'
    viti
    maniglie
    perni
    etc. etc

    adesso quante viti devo prendere????
    if Altezza dell'armadio > 2 then 5 viti ( e fin qui ci sono)

    ma potrebbe essere necessario utilizzare una ulteriore formula:

    if (Altezza dell'armadio > 2) and (profindita dell'armadio > 2) then 15 viti

    questo è il mio problema...

    suggerimenti?

    grazie

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.