|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Bannato
Iscritto dal: Nov 2002
Città: PV
Messaggi: 1210
|
[Vb]Megliorare Funzione
Come posso migliorare sto cod?
Codice:
Public Function Addiziona(n As Integer, m As Integer) As Integer Dim ris As Long ris = n + m Addiziona = ris End Function Public Function Sottrai(r As Integer, l As Integer) As Integer Dim risul As Long ris = r - l Sottrai = risul End Function Public Function Moltiplica(n As Integer, m As Integer) As Integer Dim ris As Long ris = n * m Moltiplica = ris End Function Public Function Dividi(n As Integer, m As Integer) As Integer Dim ris As Long ris = n / m Dividi = ris End Function Private Sub diviso_Click() res.Text = Dividi(primo.Text, secondo.Text) End Sub Private Sub meno_Click() res.Text = Sottrai(primo.Text, secondo.Text) End Sub Private Sub per_Click() res.Text = Moltiplica(primo.Text, secondo.Text) End Sub Private Sub plus_Click() res.Text = Addiziona(primo.Text, secondo.Text) End Sub Private Sub info_Click() Dim info info = MsgBox("Programma by Kleidemos", vbInformation, "Abuot....") End Sub |
|
|
|
|
|
#2 |
|
Bannato
Iscritto dal: Nov 2002
Città: PV
Messaggi: 1210
|
ap
|
|
|
|
|
|
#3 |
|
Bannato
Iscritto dal: Nov 2002
Città: PV
Messaggi: 1210
|
ora il cod è cosi:
Codice:
Public Function Addiziona(n As Integer, m As Integer) As Integer Dim ris As Long ris = n + m Addiziona = ris End Function Public Function Sottrai(r As Integer, l As Integer) As Integer Dim risul As Long ris = r - l Sottrai = risul End Function Public Function Moltiplica(n As Integer, m As Integer) As Integer Dim ris As Long ris = n * m Moltiplica = ris End Function Public Function Dividi(n As Integer, m As Integer) As Integer Dim ris As Long ris = n / m Dividi = ris End Function Private Sub Chiudi_Click() Unload Princ End Sub Private Sub diviso_Click() res.Text = Dividi(primo.Text, secondo.Text) End Sub Private Sub infos_Click() Dim info info = MsgBox("Programma by Kleidemos", vbInformation, "Abuot....") End Sub Private Sub meno_Click() res.Text = Sottrai(primo.Text, secondo.Text) End Sub Private Sub per_Click() res.Text = Moltiplica(primo.Text, secondo.Text) End Sub Private Sub plus_Click() res.Text = Addiziona(primo.Text, secondo.Text) End Sub Come potre migliorare il prog? |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Jan 2000
Città: Provincia di Parma
Messaggi: 724
|
' La somma di due integer può essere superiore a 32768,
' quindi è meglio restituire un long Public Function Addiziona(n As Integer, m As Integer) As Long Addiziona = n+m End Function ' Non è necessario restituire un long, ma per coerenza... Public Function Sottrai(r As Integer, l As Integer) As Long Sottrai = r-l End Function ' Stesso discorso fatto per la somma.... Public Function Moltiplica(n As Integer, m As Integer) As Long Moltiplica = n*m End Function ' Così puoi restituire anche risultati con decimali Public Function Dividi(n As Integer, m As Integer) As Single Dividi = n/m End Function Ciao
__________________
My Pc: Case Enermax Chakra - PSU Corsair HX520 - Gigabyte P35-DS3R - Core2 Duo E6550 - 6 Gb RAM Geil PC800 - 2x WD Caviar SE 320Gb (Raid1) - Xfx GeForce 8600Gt - Master Pioneer DVR111D - Samsung SM T220 - S.O. Windows 7 Ultimate x64 SP1 My blog: http://blogs.ugidotnet.org/alby |
|
|
|
|
|
#5 |
|
Bannato
Iscritto dal: Nov 2002
Città: PV
Messaggi: 1210
|
tnk!
E per la grafika? Cosi è decente? |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Jan 2000
Città: Provincia di Parma
Messaggi: 724
|
La grafica è sempre molto personale...
Così potrebbe già andare bene, al limite potresti sostituire gli operatori matematici e l'uguale (le caption sui pulsanti)con delle immagini.
__________________
My Pc: Case Enermax Chakra - PSU Corsair HX520 - Gigabyte P35-DS3R - Core2 Duo E6550 - 6 Gb RAM Geil PC800 - 2x WD Caviar SE 320Gb (Raid1) - Xfx GeForce 8600Gt - Master Pioneer DVR111D - Samsung SM T220 - S.O. Windows 7 Ultimate x64 SP1 My blog: http://blogs.ugidotnet.org/alby |
|
|
|
|
|
#7 | |
|
Bannato
Iscritto dal: Nov 2002
Città: PV
Messaggi: 1210
|
Quote:
|
|
|
|
|
|
|
#8 |
|
Bannato
Iscritto dal: Nov 2002
Città: PV
Messaggi: 1210
|
P.S: ho aggihnto un cotrollo sulla validità dei numeri con IsNumber()............altre aggiunte?
|
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Jan 2000
Città: Provincia di Parma
Messaggi: 724
|
Dovresti trovare qualche immagine in giro e poi, nelle proprietà di ciascun pulsante, dai il path dell'immagine corrispondente.
Ah, le funzioni di calcolo, se vengono definite nel modulo di quella form, mettile Private e non Public.
__________________
My Pc: Case Enermax Chakra - PSU Corsair HX520 - Gigabyte P35-DS3R - Core2 Duo E6550 - 6 Gb RAM Geil PC800 - 2x WD Caviar SE 320Gb (Raid1) - Xfx GeForce 8600Gt - Master Pioneer DVR111D - Samsung SM T220 - S.O. Windows 7 Ultimate x64 SP1 My blog: http://blogs.ugidotnet.org/alby |
|
|
|
|
|
#10 | |
|
Bannato
Iscritto dal: Nov 2002
Città: PV
Messaggi: 1210
|
Quote:
Why? |
|
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Jan 2000
Città: Provincia di Parma
Messaggi: 724
|
Perché non è necessario renderle visibili ad altri moduli.
__________________
My Pc: Case Enermax Chakra - PSU Corsair HX520 - Gigabyte P35-DS3R - Core2 Duo E6550 - 6 Gb RAM Geil PC800 - 2x WD Caviar SE 320Gb (Raid1) - Xfx GeForce 8600Gt - Master Pioneer DVR111D - Samsung SM T220 - S.O. Windows 7 Ultimate x64 SP1 My blog: http://blogs.ugidotnet.org/alby |
|
|
|
|
|
#12 | |
|
Bannato
Iscritto dal: Nov 2002
Città: PV
Messaggi: 1210
|
Quote:
ma è un fattore di chiarezza del cod o di sicurezza? |
|
|
|
|
|
|
#13 | |
|
Senior Member
Iscritto dal: May 2000
Città: Vigevano (PV)
Messaggi: 204
|
Questo codice non brillerà per eleganza ma è molto più compatto:
Quote:
C'è qualche esperto che mi sa dire se il codice che ho appena postato è più o meno veloce nell'esecuzione di uno in cui vengono richiamate delle funzioni (sia che queste siano indicate nel form o in un modulo)? Ciao!
__________________
If you're smart enough you'll survive to get bigger. If you're not then you're just part of the food chain. The Patrician[RAWK] - oGame - Uni1.org My Flickr |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 09:59.



















