Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    361

    [VB6]: Somma di piu' text

    Ciao ragazzi ho bisogno di voi,
    io uso questo codice per sommare dei numeri in diverse text dopo averle formattate:

    On Error Resume Next
    Op1 = AAQV.Text
    Op2 = AQV.Text
    Op3 = BQV.Text
    Op4 = CQV.Text
    TOTV.Text = CDbl(Op1) + CDbl(Op2) + CDbl(Op3) + CDbl(Op4)
    Select Case OpFlag
    Case "+"
    TOTV.Text = CDbl(Op1) + CDbl(Op2) + CDbl(Op3) + CDbl(Op4)
    End Select

    ...tutto bene fin qui, ma quando una delle text o piu' text non ha nessun numero all'interno mi da errore, chiaramente perchè non hanno nemmeno lo zero, pero' gradirei se si potesse, che non fosse essenziale mettere lo zero per poter sommare, vorrei che lo calcolasse in automatico.
    Spero di essere stato abbastanza chiaro
    Ciauz Claudio

  2. #2
    Codice PHP:
    On Error Resume Next
    if isnumeric(AAQV.Text)
    then
     Op1 
    AAQV.Text
    else
     
    Op1 0;
    End if
    Op2 AQV.Text
    Op3 
    BQV.Text
    Op4 
    CQV.Text
    TOTV
    .Text CDbl(Op1) + CDbl(Op2) + CDbl(Op3) + CDbl(Op4)
    Select Case OpFlag
    Case "+"
    TOTV.Text CDbl(Op1) + CDbl(Op2) + CDbl(Op3) + CDbl(Op4)
    End Select 
    ripeti il controllo per ogni textbox. (perdonami se la sintassi è errata ora programmo in c e il vb me lo ricordo a malapena)
    -----
    101110101011101111100000
    -----

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    361

    GRAZIE MILLE

    CIAO xam85reBanned
    ti ringrazio tantissimo, e assolutamente non ti devi scusare per la grammatica, è CHIARAMENTE intuibile.

    Claudio

  4. #4

    Re: [VB6]: Somma di piu' text

    Originariamente inviato da vr-claudio
    Ciao ragazzi ho bisogno di voi,
    io uso questo codice per sommare dei numeri in diverse text dopo averle formattate:

    On Error Resume Next
    Op1 = AAQV.Text
    Op2 = AQV.Text
    Op3 = BQV.Text
    Op4 = CQV.Text
    TOTV.Text = CDbl(Op1) + CDbl(Op2) + CDbl(Op3) + CDbl(Op4)
    Select Case OpFlag
    Case "+"
    TOTV.Text = CDbl(Op1) + CDbl(Op2) + CDbl(Op3) + CDbl(Op4)
    End Select

    ...tutto bene fin qui, ma quando una delle text o piu' text non ha nessun numero all'interno mi da errore, chiaramente perchè non hanno nemmeno lo zero, pero' gradirei se si potesse, che non fosse essenziale mettere lo zero per poter sommare, vorrei che lo calcolasse in automatico.
    Spero di essere stato abbastanza chiaro
    Ciauz Claudio
    questo codice non ha senso, assegni a un textbox un text, e dopo con un select case gli riassegni lo stesso valore, inoltre cdbl e' per le espressioni, quindi indicare una variabile con cdbl non ha molto senso. Poi non hai dichiarato le variabili, o comunque non hai postato le dichiariazioni.

    in ogni caso, tutto questo codice si puo' riassumere in una riga ovvero:

    codice:
        TOTV.Text = Val(AAQV.Text) + Val(AQV.Text) + Val(BQV.Text) + Val(CQV.Text)
    val cambia il "" in 0, e cambia la stringa in double, prendendo il valore di essa.

    se vuoi sapere di piu sul VAL :

    http://msdn.microsoft.com/library/it...afctUBound.asp

    ciao

  5. #5

    Re: Re: [VB6]: Somma di piu' text

    Originariamente inviato da 814(k m49!( ...Val cambia il "" in 0, e cambia la stringa in double, prendendo il valore di essa.
    se vuoi sapere di piu sul VAL...
    Concordo in pieno sulla semplificazione a UNA riga, e sulla funzione Val: e' molto piu' adatta a convertire testo in valori numerici, in quanto non da' mai errori (restituisce 0 se non ci sono dati significativi, e interrompe la valutazione al primo carattere non congruo).

    Ha un solo difetto: richiede sempre il PUNTO come separatore decimale, indipendentemente dalle impostazioni internazionali del PC.
    Se intendi usare anche la virgola come separatore, basta premettere un Replace$(txt, ",", ".")...

    Altrimenti, per risolvere il problema "alla radice" dovresti usare un controllo apposito per valori numerici...
    IceCube_HT (VB6 fan Club)

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    361
    PER 814(k m49!(
    Ciao, ho provato il tuo codice postato e funziona molto bene, anche se con il codice che avevo postato all'inizio e gentilmente modificato in seguito xam85reBanned, l'utente ha la possibilità di scegliere i diversi operatori con la funzione Select. Ma infinitamente grazie perchè posso utilizzare entrambi con diverse operazioni.

    PER icecube_HT

    In merito al "difetto" con il PUNTO, penso che si possa risolvere anche nell'evento KeyPress con la formattazione dei numeri e delle virgole.


    Cmq grazie mille a tutti, veramente molto gentili, spero un giorno di esservi anch'io d'aiuto.

  7. #7
    Puoi sempre mettere il select case, nel codice che avevi postato cmq non aveva senso, i valori assegnali solo col select case, assegnarlo due volte non ha senso

    Per la virgola, semplicemente al posto di txt.text metti replace(txt.text,",",".") nei codici, mentre nell'interfaccia lasci i numeri come sono, in modo che l'utente si trovi a suo agio

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    361

    GRAZIE!!!

    Grazie mille per il consiglio!
    Claudio

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.