Torna indietro   Hardware Upgrade Forum > Software > Programmazione

ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz
ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz
ASUS ROG Swift OLED PG34WCDN è il primo monitor gaming con pannello QD-OLED Gen 5 a layout RGB Stripe Pixel e 360 Hz su 34 pollici: lo abbiamo misurato con sonde colorimetriche e NVIDIA LDAT. Ecco tutti i dati
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico
Nothing Phone (4a) Pro cambia pelle: l'alluminio unibody sostituisce la trasparenza integrale, portando una solidità inedita. Sotto il cofano troviamo uno Snapdragon 7 Gen 4 che spinge forte, mentre il display è quasi da top dig amma. Con un teleobiettivo 3.5x e la Glyph Matrix evoluta, è la prova di maturità di Carl Pei. C'è qualche compromesso, ma a 499EUR la sostanza hardware e la sua unicità lo rendono un buon "flagship killer" in salsa 2026
WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro
WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro
Con Midnight, Blizzard tenta il colpaccio: il player housing sbarca finalmente su Azeroth insieme a una Quel'Thalas ricostruita da zero. Tra il dramma della famiglia Ventolesto e il nuovo Prey System, ecco com'è la nuova espansione di World of Warcraft
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 13-12-2002, 20:49   #1
Kleidemos
Bannato
 
L'Avatar di Kleidemos
 
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
Kleidemos è offline   Rispondi citando il messaggio o parte di esso
Old 14-12-2002, 05:51   #2
Kleidemos
Bannato
 
L'Avatar di Kleidemos
 
Iscritto dal: Nov 2002
Città: PV
Messaggi: 1210
ap
Kleidemos è offline   Rispondi citando il messaggio o parte di esso
Old 14-12-2002, 13:58   #3
Kleidemos
Bannato
 
L'Avatar di Kleidemos
 
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
e il ris è cosi!
Come potre migliorare il prog?
Kleidemos è offline   Rispondi citando il messaggio o parte di esso
Old 14-12-2002, 14:01   #4
Einstein
Senior Member
 
L'Avatar di Einstein
 
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
Einstein è offline   Rispondi citando il messaggio o parte di esso
Old 14-12-2002, 14:02   #5
Kleidemos
Bannato
 
L'Avatar di Kleidemos
 
Iscritto dal: Nov 2002
Città: PV
Messaggi: 1210
tnk!
E per la grafika?
Cosi è decente?
Kleidemos è offline   Rispondi citando il messaggio o parte di esso
Old 14-12-2002, 17:05   #6
Einstein
Senior Member
 
L'Avatar di Einstein
 
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
Einstein è offline   Rispondi citando il messaggio o parte di esso
Old 14-12-2002, 17:09   #7
Kleidemos
Bannato
 
L'Avatar di Kleidemos
 
Iscritto dal: Nov 2002
Città: PV
Messaggi: 1210
Quote:
Originally posted by "Einstein"

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.
come si fa??????
Kleidemos è offline   Rispondi citando il messaggio o parte di esso
Old 14-12-2002, 17:10   #8
Kleidemos
Bannato
 
L'Avatar di Kleidemos
 
Iscritto dal: Nov 2002
Città: PV
Messaggi: 1210
P.S: ho aggihnto un cotrollo sulla validità dei numeri con IsNumber()............altre aggiunte?
Kleidemos è offline   Rispondi citando il messaggio o parte di esso
Old 14-12-2002, 17:31   #9
Einstein
Senior Member
 
L'Avatar di Einstein
 
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
Einstein è offline   Rispondi citando il messaggio o parte di esso
Old 14-12-2002, 17:34   #10
Kleidemos
Bannato
 
L'Avatar di Kleidemos
 
Iscritto dal: Nov 2002
Città: PV
Messaggi: 1210
Quote:
Originally posted by "Einstein"


Ah, le funzioni di calcolo, se vengono definite nel modulo di quella form, mettile Private e non Public.

Why?
Kleidemos è offline   Rispondi citando il messaggio o parte di esso
Old 15-12-2002, 11:43   #11
Einstein
Senior Member
 
L'Avatar di Einstein
 
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
Einstein è offline   Rispondi citando il messaggio o parte di esso
Old 15-12-2002, 11:52   #12
Kleidemos
Bannato
 
L'Avatar di Kleidemos
 
Iscritto dal: Nov 2002
Città: PV
Messaggi: 1210
Quote:
Originally posted by "Einstein"

Perché non è necessario renderle visibili ad altri moduli.

ma è un fattore di chiarezza del cod o di sicurezza?
Kleidemos è offline   Rispondi citando il messaggio o parte di esso
Old 16-12-2002, 07:12   #13
harbinger
Senior Member
 
L'Avatar di harbinger
 
Iscritto dal: May 2000
Città: Vigevano (PV)
Messaggi: 204
Questo codice non brillerà per eleganza ma è molto più compatto:

Quote:
Private Sub diviso_Click()
res.Value = primo.Value / secondo.Value
End Sub

Private Sub meno_Click()
res.Value = primo.Value - secondo.Value
End Sub

Private Sub per_Click()
res.Value = primo.Value * secondo.Value
End Sub

Private Sub plus_Click()
res.Value = 1 * primo.Value + secondo.Value
End Sub

Private Sub info_Click()
Dim info As Integer
info = MsgBox("Programma by Kleidemos", vbInformation, "About....")
End Sub
Ho eliminato le funzioni da richiamare perchè, secondo me, sono inutili, in quanto difficilmente devi usarle in altre parti del programma.


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
harbinger è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz ASUS ROG Swift OLED PG34WCDN recensione: il prim...
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico Recensione Nothing Phone (4a) Pro: finalmente in...
WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro WoW: Midnight, Blizzard mette il primo, storico ...
Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato Ecovacs Goat O1200 LiDAR Pro: la prova del robot...
Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere? Recensione Samsung Galaxy S26+: sfida l'Ultra, m...
Secondo Elon Musk FSD è più...
Anche Cloudflare fissa il 2029 per la si...
Hacker sfruttano da mesi un bug segreto ...
ASUSTOR Lockerstor 24R Pro Gen2: 24 bay ...
Rigetti supera la soglia dei 100 qubit: ...
eFootball raggiunge il miliardo di downl...
Come provare OpenClaw facilmente grazie ...
Microsoft conferma: questo glitch dell'o...
Toyota bZ7: una berlina da oltre 5 metri...
Artemis II, le prime foto del lato nasco...
Sempre più pubblicità su YouTube: arriva...
Polestar fa +80% in Italia e tocca quota...
Il tuo Mac smette di connettersi a Inter...
La nuova alleanza Intel-Google ridefinis...
Energia troppo cara, regole da rivedere:...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 05:21.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v