Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - problema operazione texbox
Forum - C# / VB.NET - problema operazione texbox - Pagina 2

Pagine: [ 1 2 3 4 ] Precedente | Prossimo
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6404
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 22:16
Lunedì, 28/06/2010
Certo ma - ti assicuro - l'ho già capito ... il calcolo che fai non è corretto


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
carmine (Member)
Pro


Messaggi: 168
Iscritto: 20/04/2010

Segnala al moderatore
Postato alle 22:16
Lunedì, 28/06/2010
il programma funziona il fatto è come se memorizzasse tutte le operazioni che fa

PM Quote
Avatar
carmine (Member)
Pro


Messaggi: 168
Iscritto: 20/04/2010

Segnala al moderatore
Postato alle 22:18
Lunedì, 28/06/2010
guarda che l'operaione la fa per ogni bit ke io inserisco non per l'intero numero, xkè usando la proprietà text.Changed ogni volta che cambia il testo fa quella cosa..


carmine ha allegato un file: Comvertitore.zip (56992 bytes)
Clicca qui per scaricare il file
PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6404
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 22:27
Lunedì, 28/06/2010
Testo quotato

Postato originariamente da carmine:

guarda che l'operaione la fa per ogni bit ke io inserisco non per l'intero numero, xkè usando la proprietà text.Changed ogni volta che cambia il testo fa quella cosa..



Non per ogni bit ... per tutto il contenuto del textbox ogni volta che lo modifichi, e lo fai con questa

Convert.ToInt32(textBox1.Text);

Quando converti textBox1.Text non tratti solo l'ultima cifra inserita ma tutte quelle inserite ...

Non per niente, non ti funziona ...


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
carmine (Member)
Pro


Messaggi: 168
Iscritto: 20/04/2010

Segnala al moderatore
Postato alle 22:35
Lunedì, 28/06/2010
Allò,
Il programma FUNZIONA
Il problema è:
- ogni operazione che fa viene memorizzata
- ogni volta che cambia il contenuto della textbox, il programma fa l'operazione, ma quando vado ad inserire la variabile S nella textbox2, mi stampa tutte le operazione che fa per ogni numero, mentre io vorrei che venisse stampata solo il risultato finale (la conversione binaria appunto).
Io ho testato l'operazione a calcolatrice, e i calcoli vengono fatti per ogni bit, e non per per il numero completo (ad esempio 111, vengono fatte 3 operazioni, quindi 1 3 7, se infatti provi sulla calcolatrice vedrai che il calcolo viene eseguito per ogni cifra quando cambia il contenuto della textbox)!!

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6404
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 22:40
Lunedì, 28/06/2010
Aò (come si dice a Roma ...) ... certo che sei duro ...

Il codice corretto è questo

Codice sorgente - presumibilmente C++

  1. private void button1_Click(object sender, EventArgs e)
  2.         {
  3.             textBox2.Text = s.ToString();
  4.             s = 0;
  5.         }
  6.  
  7.         private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
  8.         {
  9.             s = (s * 2) + (e.KeyChar - '0');
  10.         }



Se non comprendi ancora il semplice problema, dopo che te l'ho spiegato più di una volta e anche chiaramente, allora penso che ne avrai di strada da fare ...

Auguri.


Ultima modifica effettuata da nessuno il 28/06/2010 alle 22:43


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
carmine (Member)
Pro


Messaggi: 168
Iscritto: 20/04/2010

Segnala al moderatore
Postato alle 8:32
Martedì, 29/06/2010
Nessuno mi devi scusare!! ma io sono ancora agli inizi con il C#, e cmq ho capito il problema e ti ringrazio!! scusa per la mia testardagine :P!! Grazie dell'aiuto!!

Mi potresti spiegare (e.KeyChar - '0'), come mai - '0'? Grazie!!

Ultima modifica effettuata da carmine il 29/06/2010 alle 8:35
PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6404
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 9:29
Martedì, 29/06/2010
Testo quotato

Postato originariamente da carmine:

Nessuno mi devi scusare!! ma io sono ancora agli inizi con il C#, e cmq ho capito il problema e ti ringrazio!! scusa per la mia testardagine :P!! Grazie dell'aiuto!!



Beh ... meglio tardi che mai ...

Testo quotato

Mi potresti spiegare (e.KeyChar - '0'), come mai - '0'? Grazie!!



Nel caso dei due caratteri ASCII '1' e '0', e.KeyChar restituisce il valore ASCII del tasto, ovvero 49 e 48. Per ottenere 1 e 0 come valori binari, occorre sottrarre il valore ASCII del carattere '0' (cioè 48). In questo modo avrai

ASCII '1' - ASCII '0' = 1 binario
ASCII '0' - ASCII '0' = 0 binario

Per quanto riguarda il calcolo che facevi nel codice sbagliato, era

Inserisci 1 ... nel textbox c'è 1 e la variabile s diventa uguale a 1
Inserisci 1 ... nel textbox c'è 11 e la variabile s diventa uguale a (1*2)+11 = 13
Inserisci 1 ... nel textbox c'è 111 e la variabile s diventa uguale a (13*2)+111 = 137

cosa che non ha alcuna attinenza con quello che volevi fare.


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Pagine: [ 1 2 3 4 ] Precedente | Prossimo