Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
non riceve sempre dei numeri?
spiegami gentilmente la differenza tra double.tryparse e integer.tryparse ma sopratutto cosa è questa funzione tryparse
grazie mille
Sono in giro per aeroporti, non sempre posso rispondere.
Perché usi timer3 a che serve?
Testo quotato
Postato originariamente da nightwolf:
passiamo alle spiegazioni,
perche per i gradi usi
Codice sorgente - presumibilmente Plain Text
Double.TryParse
mentre per il volume usi
Codice sorgente - presumibilmente Plain Text
Integer.TryParse
non riceve sempre dei numeri?
spiegami gentilmente la differenza tra double.tryparse e integer.tryparse ma sopratutto cosa è questa funzione tryparse
grazie mille
Non si ricevono dei numeri si ricevono stringhe.
TrayParse tenta di interpretare una stringa come fosse un valore numerico e se ci riesce mette il valore convertito nella variabile assegnata, nel nostro caso avanzamento con restituzione di true.
Se non ci riesce, lascia invariato avanzamento e restituisce false.
Siccome Double.TryParse(valoriDivisi(0), avanzamento) è dentro ad un If il codice all'interno dell'If viene eseguito solo se la conversione è avvenuta, infatti se guardi sull'else c'è evidenziato:
Codice sorgente - presumibilmente C# / VB.NET
Else
ListBox1.Items.Add(DateTime.Now.ToLongTimeString & " - Elaborato = Errore " & valoriDivisi(0) & " non è un intero")
End If
inizialmente il valore dei gradi arrivava con il punto decimale
il punto veniva sostituito con la virgola
Codice sorgente - presumibilmente Plain Text
valoriDivisi(0) = valoriDivisi(0).Replace(".", ",") ' se ci fosse il punto decimale viene sostituito con la virgola decimale
e
If Double.TryParse(valoriDivisi(0), avanzamento) Then convertiva se possibile la stringa ricevuta in double, che poi finendo in avanzamento, dichiarato come integer, veniva arrotondato all'intero più vicino.
ora che arrivano i gradi senza punto decimale la riga:
valoriDivisi(0) = valoriDivisi(0).Replace(".", ",") non serve più
e Double.TryParse può essere Integer.TryParse
Ultima modifica effettuata da Carlo il 05/04/2024 alle 18:53
in programmazione tutto è permesso
()
Newbie
Messaggi: Iscritto:
Postato alle 20:22
Venerdì, 05/04/2024
Ma scusa vuoi spiegata dal forum la differenza tra Integer e Double?
Io non capisco in cosa si e' trasformato questo forum. Una domanda da centinaia di post e ora comincia un corso di base del linguaggio?
Ora capisco perche' questo forum e' praticamente abbandonato...
Ultima modifica effettuata da il 06/04/2024 alle 2:45
Sono in giro per aeroporti, non sempre posso rispondere.
Perché usi timer3 a che serve?
Testo quotato
Postato originariamente da nightwolf:
passiamo alle spiegazioni,
perche per i gradi usi
Codice sorgente - presumibilmente Plain Text
Double.TryParse
mentre per il volume usi
Codice sorgente - presumibilmente Plain Text
Integer.TryParse
non riceve sempre dei numeri?
spiegami gentilmente la differenza tra double.tryparse e integer.tryparse ma sopratutto cosa è questa funzione tryparse
grazie mille
Non si ricevono dei numeri si ricevono stringhe.
TrayParse tenta di interpretare una stringa come fosse un valore numerico e se ci riesce mette il valore convertito nella variabile assegnata, nel nostro caso avanzamento con restituzione di true.
Se non ci riesce, lascia invariato avanzamento e restituisce false.
Siccome Double.TryParse(valoriDivisi(0), avanzamento) è dentro ad un If il codice all'interno dell'If viene eseguito solo se la conversione è avvenuta, infatti se guardi sull'else c'è evidenziato:
Codice sorgente - presumibilmente C# / VB.NET
Else
ListBox1.Items.Add(DateTime.Now.ToLongTimeString & " - Elaborato = Errore " & valoriDivisi(0) & " non è un intero")
End If
inizialmente il valore dei gradi arrivava con il punto decimale
il punto veniva sostituito con la virgola
Codice sorgente - presumibilmente Plain Text
valoriDivisi(0) = valoriDivisi(0).Replace(".", ",") ' se ci fosse il punto decimale viene sostituito con la virgola decimale
e
If Double.TryParse(valoriDivisi(0), avanzamento) Then convertiva se possibile la stringa ricevuta in double, che poi finendo in avanzamento, dichiarato come integer, veniva arrotondato all'intero più vicino.
ora che arrivano i gradi senza punto decimale la riga:
valoriDivisi(0) = valoriDivisi(0).Replace(".", ",") non serve più
e Double.TryParse può essere Integer.TryParse
grazie mille per la spiegazione, timer3 lo uso perchè nella grafica il controllo del volume non è visibile, mentre con timer3 lo rendo visibile qualdo lo utilizzo. con questo codice
Codice sorgente - presumibilmente VB.NET
PrivateSub Timer3_Tick(sender AsObject, e As EventArgs)Handles Timer3.Tick
principale.Volume_control1.Visible=True
principale.lb_volume.Visible=True
Label1.Visible=True
Volume_control1.Visible=True
lb_volume.Visible=True
video.Volume_control1.Visible=True
video.lb_volume.Visible=True
Timer4.Start()
EndSub
PrivateSub Timer4_Tick(sender AsObject, e As EventArgs)Handles Timer4.Tick
Timer3.Stop()
principale.Volume_control1.Visible=False
principale.lb_volume.Visible=False
Label1.Visible=False
Volume_control1.Visible=False
lb_volume.Visible=False
EndSub
timer3 ha come interval 100
mentre timer4 ha come interval 3000
questo è solo per aspetto grafico perchè non mi piace vedere il controllo del volume sempre
Postato originariamente da nightwolf: grazie mille per la spiegazione, timer3 lo uso perchè nella grafica il controllo del volume non è visibile, mentre con timer3 lo rendo visibile qualdo lo utilizzo. con questo codice
Codice sorgente - presumibilmente VB.NET
PrivateSub Timer3_Tick(sender AsObject, e As EventArgs)Handles Timer3.Tick
principale.Volume_control1.Visible=True
principale.lb_volume.Visible=True
Label1.Visible=True
Volume_control1.Visible=True
lb_volume.Visible=True
video.Volume_control1.Visible=True
video.lb_volume.Visible=True
Timer4.Start()
EndSub
PrivateSub Timer4_Tick(sender AsObject, e As EventArgs)Handles Timer4.Tick
Timer3.Stop()
principale.Volume_control1.Visible=False
principale.lb_volume.Visible=False
Label1.Visible=False
Volume_control1.Visible=False
lb_volume.Visible=False
EndSub
timer3 ha come interval 100
mentre timer4 ha come interval 3000
questo è solo per aspetto grafico perchè non mi piace vedere il controllo del volume sempre
Perché pensi che possa essere associato ai salti di volume???
Stavo pensando, ma se da arduino inviassi i dati del potenziometro solamente quando lo aziono, per evitare il rimbalzo del timer3, cambierebbe qualcosa a livello di codice?
Se da arduino ricevi ripetutamente sempre lo stesso valore di volume, perché dovrebbe causare dei rimbalzi??
Beh!, credo che dipenda da quello, dal timer3, è l unico associato alla visualizzazione di controll_volume1, se tolgo timer3 il controllo non si vede, infatti se non viene attivato timer3, il control_volume1 non si vede. È l unica spiegazio e che posso dare.
Beh!, credo che dipenda da quello, dal timer3, è l unico associato alla visualizzazione di controll_volume1, se tolgo timer3 il controllo non si vede, infatti se non viene attivato timer3, il control_volume1 non si vede. È l unica spiegazio e che posso dare.
dipende da cosa significa rimbalzi.
se il controllo volume appare e scompare, si.
se il volume si alza e abbassa in modo non voluto allora no.
Ultima modifica effettuata da Carlo il 06/04/2024 alle 21:33