|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Mar 2001
Città: Near the way for Vigevano
Messaggi: 3985
|
[VB] Calcolo IVA e alcuni consigli
Ciao a tutti
![]() Dovrei calcolare + 20% + 20% di un dato numero...mi direste come verrebbe il codice? Non ho ancora ben assimilato il VB e quando devo mettere giù un calcolo non ci riesco...probabilmente non ho delle buone basi di matematica o non ho la testa per programmare. Sapreste dove reperire sul web esempi di codice con le più comuni operazioni e funzioni matematiche (dal +-*: media, alle incognite e cose più serie) da applicare in VB? Anche una guida per zucconi come me sarebbe ben accetta! (me la cavo con l' HTML, ma con VB e PHP nada...) Grazie ![]() |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
prezzo = prezzo * 1.2
|
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Mar 2001
Città: Near the way for Vigevano
Messaggi: 3985
|
Grazie
![]() Questo nel caso dell' iva al 20%. Da che calcolo esce 1,2? Io dovrei fare il 20% di un dato prezzo e il risultato ancora + 20% Scusa la mia ignoranza |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Il 20% di un prezzo è pari al prezzo moltiplicato per 0,20...
Quindi aggiungere il 20% al prezzo significa: prezzo + prezzo * 0,20 = prezzo * (1 + 0.20) = prezzo * 1.20... Pre aggiungere 20% e poi un altro 20% semplicemente si rimoltiplica per 1.2 ![]() |
![]() |
![]() |
![]() |
#5 | |
Senior Member
Iscritto dal: Mar 2001
Città: Near the way for Vigevano
Messaggi: 3985
|
Quote:
![]() +20% (*1,2) +20%(*1,2) è diverso da +40% (*1,4) vero? Conosci sul web qualche guida facile facile sul VB che spieghi anche le nozioni fondamentali della programazione (array, cicli ecc...)? Grazie ![]() |
|
![]() |
![]() |
![]() |
#6 | |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
prezzo * 1.2 * 1.2 è diverso da prezzo * 1.4... Infatti prezzo * (1.2 * 1.2) = prezzo * 1.44 ![]() |
|
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Mar 2001
Città: Near the way for Vigevano
Messaggi: 3985
|
Mi sapresti dire come implementare nel textbox il raggruppamento in cifre? (es. 1.000 anzichè 1000)
Grazie |
![]() |
![]() |
![]() |
#8 | |
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
Quote:
Codice:
Private Sub Text1_Change() Text1 = Format$(Text1, "#,###") Text1.SelStart = Len(Text1) End Sub
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!" A. Einstein |
|
![]() |
![]() |
![]() |
#9 | |
Senior Member
Iscritto dal: Mar 2001
Città: Near the way for Vigevano
Messaggi: 3985
|
Quote:
Il mio codice è il seguente: Private Sub cmdCalcola_Click() txt20.Text = Round(txtInserDati.Text * 1.44, 2) txt15.Text = Round(txtInserDati.Text * 1.38, 2) txtDiff.Text = Round(txt20.Text - txt15.Text, 2) End Sub Come verrebbe, applicando quello che hai postato? Grazie ![]() |
|
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
Io pensavo che a te servisse una text box che quando premevi mettevi una cifra ti faceva il separatore
![]() Se tu indenfi il raggruppamento alla pressione del tasto (dopo che ti ha fatto il calcolo) basta che fai così: Codice:
Private Sub cmdCalcola_Click() txt20.Text = Round(txtInserDati.Text * 1.44, 2) txt15.Text = Round(txtInserDati.Text * 1.38, 2) txtDiff.Text = Round(txt20.Text - txt15.Text, 2) txtDiff= Format$(txtDiff, "#,###") End Sub
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!" A. Einstein |
![]() |
![]() |
![]() |
#11 |
Senior Member
Iscritto dal: Mar 2001
Città: Near the way for Vigevano
Messaggi: 3985
|
Io inserisco i dati nel txtInserDati e vorrei che si veda il separatore durante la "battitura" dei numeri. Poi quando clicco nel cmdcalcola vorrei il separatore anche nel txt15, txt20 e txtDiff
Scusa se non mi sono spiegato bene e grazie per l' aiuto! |
![]() |
![]() |
![]() |
#12 |
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
Ora si che è tutto chiaro!
Fai così: Codice:
Private Sub txt20_Change() txt20= Format$(txt20, "#,###") txt20.SelStart = Len(txt20) End Sub Private Sub txt15_Change() txt15= Format$(txt15, "#,###") txt15.SelStart = Len(txt15) End Sub Private Sub txtDiff_Change() txtDiff= Format$(txtDiff, "#,###") txtDiff.SelStart = Len(txtDiff) End Sub
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!" A. Einstein |
![]() |
![]() |
![]() |
#13 |
Senior Member
Iscritto dal: Mar 2001
Città: Near the way for Vigevano
Messaggi: 3985
|
Grazie
![]() Ma la funzione round che fine fa? |
![]() |
![]() |
![]() |
#14 |
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
Quanto sai di VB ?
Scusa pensavo che qlcina sapevi, mi sono espresso male ![]() La parte di codice che hai messo tu nel comando _Click devi lasciarli li dov'è! Perchè tanto la formattazione viene fatta in un altro evento ![]() Al massimo fai questa modifica: Codice:
Private Sub cmdCalcola_Click() txt20.Text = Round(val(txtInserDati.Text) * 1.44, 2) txt15.Text = Round(val(txtInserDati.Text) * 1.38, 2) txtDiff.Text = Round(val(txt20.Text) - val(txt15.Text), 2) End Sub
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!" A. Einstein |
![]() |
![]() |
![]() |
#15 |
Senior Member
Iscritto dal: Mar 2001
Città: Near the way for Vigevano
Messaggi: 3985
|
Grazie
![]() Ultima cosa, poi basta ![]() Come si fa tramite cmdbutton a far aprire un' altra finestra? Per fare in modo che all' inserimento di 0 o di una lettera, compaia la scritta "inserisci solo numeri positivi"? (o una frase più sensata ![]() |
![]() |
![]() |
![]() |
#16 |
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
Ti ho fatto l'esempio...devi solo adattarlo!
Questo esempio nn permette l'inserimenti si altre cose tranne i numeri dallo 0 al 9, per cui niente simbolo -, niente caratteri, niente di niente!
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!" A. Einstein |
![]() |
![]() |
![]() |
#17 |
Senior Member
Iscritto dal: Mar 2001
Città: Near the way for Vigevano
Messaggi: 3985
|
Non me ne ero accorto...
Come avrai capito non sono un' aquila in VB ![]() Grazie per l' aiuto ![]() |
![]() |
![]() |
![]() |
#18 |
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
Prego, di nulla
![]()
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!" A. Einstein |
![]() |
![]() |
![]() |
#19 |
Senior Member
Iscritto dal: Mar 2001
Città: Near the way for Vigevano
Messaggi: 3985
|
Se non ti dispiace, ti chiederei ancora due cose...
C' è un modo per allineare i numeri a destra del text box? Viene più comodo quando bisogna cancellare. Nel codice non si potrebbe implementare una funzione invece di fare un evento change per ogni text box? Grazie ![]() |
![]() |
![]() |
![]() |
#20 | ||
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
Quote:
Quote:
Si certo anche questo, cioè per spiegarmi meglio, nn puoi evitare l'evento change di una textbox..perchè altrimenti nn saresti nella programmazione guidata dagli eventi (come VB)! Però per evitare la ripetizione di codice uguale puoi fare una cosa del genere: Codice:
Private Sub Text1_Change() Call bho(Text1) End Sub Private Sub bho(ByVal txtAux As TextBox) txtAux = Format$(txtAux, "#,###") txtAux.SelStart = Len(txtAux) End Sub
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!" A. Einstein |
||
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 00:58.