Home User CP Browse Members Calendar Register Today!  
Get New posts Faq / Help?
   
Justoverclock.com - Link Sponsorizzati


Not A Member Yet? Register today and become part of the community.

Vai Indietro   JustOverclock.com > Software Square/Web world > Html, Css, Php/Programmazione

Rispondi
 
Strumenti Discussione Modalità Visualizzazione
Vecchio 10-19-2007, 19:44   #1
Matteo92
30Kvolt moderator
Hardware di Matteo92
 
L'avatar di  Matteo92
 
Iscritto da: Sep 2007
Locazione: Pernate (near Novara)

Cpu: Intel P4 precotto 3.00GHz

Mobo: ASUS P5VDC-x

Ram: 512MB Ddr V-Data


Punti Feedback: (0)
Feedback Positivi: (0%)

Messaggi: 529
Reputazione: 2 Matteo92 che diventerà un grande clocker un giorno
Predefinito Ho bisogno di un aiuto per visual basic

Sto imparando a programmare grazie a Dani88, che ringrazio per avermi dedicato del tempo per spiegarmi le basi della programmazione in vb.
Sto cercando di fare un primo programma "serio", in pratica un calcolatore per la resy per i led. Tipo quello gia fatto da dani.
Fin'ora ho implementato senza problemi la parte relativa al calcolo, per il colore del led ho messo un menù a tendina (dicesi combobox) che imposta automaticamente la vdrop relativa al colore.
Vorrei aggiungere un altra funzionalità, ed è qui che m'intoppo
In pratica il prog com'è ora restituisce il valore ESATTO della resistenza calcolata.
esempio
12 alim
led blu HE
20mA
1 led

mi restituisce 446. Matematicamente è corretto... peccato che questo valore non esista in commercio.
Vorrei implementare quindi una funzione che mi restituisca il valore in commercio di valore superiore più vicino a quello calcolato
Riprendendo l'esempio di prima
446 val esatto
valore in commercio 470

Un'idea per implementarlo è stata:
nell'esempio qui sotto x è il valore calcolato, n ed N sono due valori consecutivi di resistenza standard
Codice:
if n<x<N then
x=N
else
eccetera eccetera... ma così ci divento vecchio sul prog:lol: e per quando l'avrò finito i led non si useranno più, ci saranno le astronavi a velocità di curvatura ed i vulcaniani ci insegneranno le loro tecnologie

secondo voi, come si potrebbe fare?
__________________
Bob Pease, progettista natl semiconductor:
"I really do like SOLDERING as my programming language."
Status: Offline
 
Rispondi Citando
Justoverclock.com - Link Sponsorizzati

Vecchio 10-19-2007, 21:50   #2
EV!L
_Amo_la_Gnocca_
Hardware di EV!L
 
L'avatar di  EV!L
 
Iscritto da: Sep 2007
Locazione: da qualche parte..

Cpu: X2 4200+ Toledo @ 2.8 GHz

Mobo: Asus A8n SLI Premium

Ram: G-Skill F1-4000 HZ DDR500


Punti Feedback: (0)
Feedback Positivi: (0%)

Messaggi: 1,064
Reputazione: 3 EV!L sulla via della distinzione
Invia un messaggio via MSN a EV!L
Predefinito

io te la dò una buona risp, ma poi nn ti lamentare..

fai un bel database con dentro tutti i valori possibili delle resistenze, (saranno + di 100 immagino) , e poi fai una funzione che chiama il db e confronta.. se no un bell'algoritmo di ricerca sul db tipo bubblesort (se nn erro il nome) ..

altrimenti un'approssimazione sul numero della resistenza.. dal tuo calcolo che il prog restituisci lo fai diventare un numero senza cifre sull'unità..

tipo :

il prog calcola 463 --diventa--> 470

e così nn hai + i numeri all'unità della cifra.. ma penso sia una cazzata paura .. nn so se è fattibile, se in commercio ci sono resistenze da 100 a 1000 con passo 10 funziona..
__________________
Case Alternativo - X2 4200+ Toledo @ 2.8 GHz - Asus A8n SLI - Premium - G-Skill F1-4000 HZ DDR500 - SI-128 con Noctua 12-12 NF-S12-1200
------
RAZER COPPERHEAD Tempest Blu
Status: Offline
 
Rispondi Citando
Vecchio 10-19-2007, 23:47   #3
Marko
Amministratore
Hardware di Marko
 
L'avatar di  Marko
 
Iscritto da: Sep 2007
Locazione: Bari

Cpu: Intel Core 2 Duo E8400@4005Mhz

Mobo: Asus P5E x38 (bios maximus)

Ram: OCZ Reaper Ddr2 1066mhz


Punti Feedback: (1)
Feedback Positivi: (100%)

Messaggi: 4,597
Reputazione: 10 Marko guida di justoverclock.comMarko guida di justoverclock.comMarko guida di justoverclock.comMarko guida di justoverclock.comMarko guida di justoverclock.comMarko guida di justoverclock.comMarko guida di justoverclock.comMarko guida di justoverclock.comMarko guida di justoverclock.comMarko guida di justoverclock.comMarko guida di justoverclock.com
Invia un messaggio via MSN a Marko
Predefinito

si devi usare un arrotondamento più vicino al numero ottenuto.
in pratica se ti restituisce 463 lo fai arrotondare al più vicino numero in commercio.

non so se vada bene la funzione

Quote:
FormatNumber
non sono un asso con vbasic
__________________
Thermaltake Armor Jr Black| Alimentatore Lc Power Arkangel 850W Modulare | Intel Core 2 Duo "Wolfdale" e8400@ 4005mhz 1.19v| Watercooling by Ybris A.C.S | Asus P5E x38 | 2x1GB OCZ Reaper DDR2 1066 | POW Geforce 8800GTX 768 MB GDDR3 | Maxtor 320GB SATA2 16mb cache + 500Gb Maxtor (esterno) 16mb cache usb 2.0 | Creative Audigy 2 ZS | Samsung 226bw 22" Widescreen Lcd | Windows Vista Ultimate 64bit + Xp per bench
Status: Offline
 
Rispondi Citando
Vecchio 10-20-2007, 10:15   #4
EV!L
_Amo_la_Gnocca_
Hardware di EV!L
 
L'avatar di  EV!L
 
Iscritto da: Sep 2007
Locazione: da qualche parte..

Cpu: X2 4200+ Toledo @ 2.8 GHz

Mobo: Asus A8n SLI Premium

Ram: G-Skill F1-4000 HZ DDR500


Punti Feedback: (0)
Feedback Positivi: (0%)

Messaggi: 1,064
Reputazione: 3 EV!L sulla via della distinzione
Invia un messaggio via MSN a EV!L
Predefinito

se nn trovi una funzione x arrotondare, falla tu.. dichiarandola nell'area class..
__________________
Case Alternativo - X2 4200+ Toledo @ 2.8 GHz - Asus A8n SLI - Premium - G-Skill F1-4000 HZ DDR500 - SI-128 con Noctua 12-12 NF-S12-1200
------
RAZER COPPERHEAD Tempest Blu
Status: Offline
 
Rispondi Citando
Vecchio 10-20-2007, 10:27   #5
Marko
Amministratore
Hardware di Marko
 
L'avatar di  Marko
 
Iscritto da: Sep 2007
Locazione: Bari

Cpu: Intel Core 2 Duo E8400@4005Mhz

Mobo: Asus P5E x38 (bios maximus)

Ram: OCZ Reaper Ddr2 1066mhz


Punti Feedback: (1)
Feedback Positivi: (100%)

Messaggi: 4,597
Reputazione: 10 Marko guida di justoverclock.comMarko guida di justoverclock.comMarko guida di justoverclock.comMarko guida di justoverclock.comMarko guida di justoverclock.comMarko guida di justoverclock.comMarko guida di justoverclock.comMarko guida di justoverclock.comMarko guida di justoverclock.comMarko guida di justoverclock.comMarko guida di justoverclock.com
Invia un messaggio via MSN a Marko
Predefinito

Quote:
Originariamente inviato da EV!L Visualizza Messaggio
se nn trovi una funzione x arrotondare, falla tu.. dichiarandola nell'area class..

ma alla fine mi sa dovrà fare per forza così, creala tu e il numero risultante sarà arrotondato al più vicino in commercio.
__________________
Thermaltake Armor Jr Black| Alimentatore Lc Power Arkangel 850W Modulare | Intel Core 2 Duo "Wolfdale" e8400@ 4005mhz 1.19v| Watercooling by Ybris A.C.S | Asus P5E x38 | 2x1GB OCZ Reaper DDR2 1066 | POW Geforce 8800GTX 768 MB GDDR3 | Maxtor 320GB SATA2 16mb cache + 500Gb Maxtor (esterno) 16mb cache usb 2.0 | Creative Audigy 2 ZS | Samsung 226bw 22" Widescreen Lcd | Windows Vista Ultimate 64bit + Xp per bench
Status: Offline
 
Rispondi Citando
Vecchio 10-20-2007, 18:50   #6
Matteo92
30Kvolt moderator
Hardware di Matteo92
 
L'avatar di  Matteo92
 
Iscritto da: Sep 2007
Locazione: Pernate (near Novara)

Cpu: Intel P4 precotto 3.00GHz

Mobo: ASUS P5VDC-x

Ram: 512MB Ddr V-Data


Punti Feedback: (0)
Feedback Positivi: (0%)

Messaggi: 529
Reputazione: 2 Matteo92 che diventerà un grande clocker un giorno
Predefinito

L'80% delle risposte che mi avete dato per me è ancora arabo.

come si crea una funzione che arrotondi al val. maggiore (è importante questo punto)?
un esempio di codice non cce l'avete?
thx
__________________
Bob Pease, progettista natl semiconductor:
"I really do like SOLDERING as my programming language."
Status: Offline
 
Rispondi Citando
Vecchio 10-21-2007, 22:09   #7
Marko
Amministratore
Hardware di Marko
 
L'avatar di  Marko
 
Iscritto da: Sep 2007
Locazione: Bari

Cpu: Intel Core 2 Duo E8400@4005Mhz

Mobo: Asus P5E x38 (bios maximus)

Ram: OCZ Reaper Ddr2 1066mhz


Punti Feedback: (1)
Feedback Positivi: (100%)

Messaggi: 4,597
Reputazione: 10 Marko guida di justoverclock.comMarko guida di justoverclock.comMarko guida di justoverclock.comMarko guida di justoverclock.comMarko guida di justoverclock.comMarko guida di justoverclock.comMarko guida di justoverclock.comMarko guida di justoverclock.comMarko guida di justoverclock.comMarko guida di justoverclock.comMarko guida di justoverclock.com
Invia un messaggio via MSN a Marko
Predefinito

un esempio per farti capire (non c'entra molto magari con il tuo caso)

Il secondo parametro (Arrotondamento appunto) prevede il valore assoluto che si vuole come base di arrotondamento, quindi un eventuale valore di 10 NON indica che si vogliono dieci decimali ma semplicemente che si vuole arrotondare per 10.


Quote:
'Enumerazione del tipo di arrotondamento desiderato
Public Enum TipoArrotonda
Difetto = 0
Eccesso = 1
Matematico = 2
End Enum

Function Arrotonda(Valore As Double, Arrotondamento As Double, Optional Direzione As TipoArrotonda = Eccesso) As Double
On Error Resume Next
Dim Temp As Double
Temp = Valore / Arrotondamento
If Int(Temp) = Temp Then
Arrotonda = Valore
Else
Select Case Direzione
Case TipoArrotonda.Difetto
Temp = Int(Temp)
Case TipoArrotonda.Eccesso
Temp = Int(Temp) + 1
Case TipoArrotonda.Matematico
Temp = CDbl(Format(Temp, "0"))
End Select
Arrotonda = Temp * Arrotondamento
End If
End Function
__________________
Thermaltake Armor Jr Black| Alimentatore Lc Power Arkangel 850W Modulare | Intel Core 2 Duo "Wolfdale" e8400@ 4005mhz 1.19v| Watercooling by Ybris A.C.S | Asus P5E x38 | 2x1GB OCZ Reaper DDR2 1066 | POW Geforce 8800GTX 768 MB GDDR3 | Maxtor 320GB SATA2 16mb cache + 500Gb Maxtor (esterno) 16mb cache usb 2.0 | Creative Audigy 2 ZS | Samsung 226bw 22" Widescreen Lcd | Windows Vista Ultimate 64bit + Xp per bench
Status: Offline
 
Rispondi Citando
Vecchio 10-22-2007, 13:33   #8
EV!L
_Amo_la_Gnocca_
Hardware di EV!L
 
L'avatar di  EV!L
 
Iscritto da: Sep 2007
Locazione: da qualche parte..

Cpu: X2 4200+ Toledo @ 2.8 GHz

Mobo: Asus A8n SLI Premium

Ram: G-Skill F1-4000 HZ DDR500


Punti Feedback: (0)
Feedback Positivi: (0%)

Messaggi: 1,064
Reputazione: 3 EV!L sulla via della distinzione
Invia un messaggio via MSN a EV!L
Predefinito

azzo ma tu usi i double come noccioline ?

lol.. cmq x matteo conviene sostituirli con un integer.. anche xè resistenze con valori così alti x i led nn penso che esistano..


x il resto ottima function !
__________________
Case Alternativo - X2 4200+ Toledo @ 2.8 GHz - Asus A8n SLI - Premium - G-Skill F1-4000 HZ DDR500 - SI-128 con Noctua 12-12 NF-S12-1200
------
RAZER COPPERHEAD Tempest Blu
Status: Offline
 
Rispondi Citando
Rispondi


Utenti attualmente attivi che stanno leggendo questa discussione: 1 (0 utenti e 1 visitatori)
 
Strumenti Discussione
Modalità Visualizzazione

Regole di scrittura
Tu non puoi aprire nuove discussioni
Tu non puoi replicare ai post
Tu non puoi inserire allegati
Tu non puoi modificare i tuoi post

BB code is Attivo
Smilies è Attivo
[IMG] il codice è Attivo
Il codice HTML è Disattivato
Vai al Forum


Sezioni del Sito Justoverclock.com sponsored

Tutti gli Orari sono GMT +2. Attualmente sono le 03:07.

Skin Design By vBSkinworks Modified by Justoverclock Team



Powered by vBulletin Versione 3.7.1
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.