Trasmettitore sonoro morse

Forum di discussione su C# e Visual C#.

Moderatore: Toki

Regole del forum
Leggi: IProgrammatori.it - Regolamento Forum

Trasmettitore sonoro morse

Messaggioda Wolt » 12 ott 2013, 16:01

Ciao ragazzi,sto facendo un nuovo trasmettitore sonoro,che ancora non è completo perché prima deve tradurre la stringa in testo normale in morse e poi fare quello che sta facendo ora.
Il codice sembra buono però mi dice che è sbagliato,potete spiegarmi il perché?

Codice: Seleziona tutto
String Testo;
            int b = 0;

            Console.Write("TESTO IN MORSE >> ");
            Testo = Console.ReadLine();

            if (Testo.Substring(b) == ".")
            {
                Console.Beep(300, 700);
            }
            else if (Testo.Substring(b) == "-")
            {
                Console.Beep(300, 900);
            }
            else if (Testo.Substring(b) == " ")
            {
                Thread.Sleep(500);
            }
            else if (Testo.Substring(b) == "")
            {
                Console.Write("Nessun codice morse inserito");
            }

            do
            {
                b = b + 1;

                if (Testo.Substring(b) == ".")
                {
                    Console.Beep(300, 700);
                }
                else if (Testo.Substring(b) == "-")
                {
                    Console.Beep(300, 900);
                }
                else if (Testo.Substring(b) == " ")
                {
                    Thread.Sleep(500);
                }
            }
            while (Testo.Substring(b) != null);

            Console.Write("Codice morse trasmesso");

            Console.ReadLine();
Wolt
Utente Junior
 
Messaggi: 52
Iscritto il: 04 lug 2013, 20:40

Shoppalo
Trova il Miglior Prezzo online!
Cosa vuoi acquistare?
Powered by IProgrammatori.it

Re: Trasmettitore sonoro morse

Messaggioda oregon » 12 ott 2013, 16:20

Ma chi ti dice che è "sbagliato"? Che vuoi dire?
oregon
Saggio
 
Messaggi: 3392
Iscritto il: 20 nov 2011, 18:54

Re: Trasmettitore sonoro morse

Messaggioda Wolt » 12 ott 2013, 16:31

oregon ha scritto:Ma chi ti dice che è "sbagliato"? Che vuoi dire?


Visual Studio.


Eccezione non gestita di tipo 'System.ArgumentOutOfRangeException' in mscorlib.dll

Informazioni aggiuntive: startIndex non può essere maggiore della lunghezza della stringa.
Wolt
Utente Junior
 
Messaggi: 52
Iscritto il: 04 lug 2013, 20:40

Re: Trasmettitore sonoro morse

Messaggioda oregon » 12 ott 2013, 16:44

Devi *sempre* indicare nelle tue discussioni l'esatto messaggio d'errore che hai (e magari anche la linea in cui si verifica) e non dire genericamente "non funziona".

L'errore in questione significa che stai usando male il metodo

Substring

perché il valore dell'argomento b, nella riga in cui si verifica l'errore, non è corretto.

Cerca di individuare la riga e cerca di capire il perché il valore di b non va bene.
oregon
Saggio
 
Messaggi: 3392
Iscritto il: 20 nov 2011, 18:54

Re: Trasmettitore sonoro morse

Messaggioda Wolt » 12 ott 2013, 16:47

oregon ha scritto:Devi *sempre* indicare nelle tue discussioni l'esatto messaggio d'errore che hai (e magari anche la linea in cui si verifica) e non dire genericamente "non funziona".


Ricorderò di farlo.

oregon ha scritto:L'errore in questione significa che stai usando male il metodo

Substring

perché il valore dell'argomento b, nella riga in cui si verifica l'errore, non è corretto.

Cerca di individuare la riga e cerca di capire il perché il valore di b non va bene.


Ci proverò,grazie.
Wolt
Utente Junior
 
Messaggi: 52
Iscritto il: 04 lug 2013, 20:40

Re: Trasmettitore sonoro morse

Messaggioda oregon » 12 ott 2013, 16:55

In realtà il codice che hai scritto non ha molto senso per fare quello che vorresti.
Bisogna sicuramente ripensarci un po' su ma può essere un inizio.

Quello che devi controllare bene è il ciclo e quando deve terminare. Ricorda che una stringa ha una lunghezza.
oregon
Saggio
 
Messaggi: 3392
Iscritto il: 20 nov 2011, 18:54

Re: Trasmettitore sonoro morse

Messaggioda Wolt » 13 ott 2013, 14:07

oregon ha scritto:In realtà il codice che hai scritto non ha molto senso per fare quello che vorresti.
Bisogna sicuramente ripensarci un po' su ma può essere un inizio.

Quello che devi controllare bene è il ciclo e quando deve terminare. Ricorda che una stringa ha una lunghezza.


Si,ho quasi risolto,già ho preparato la form che converte la stringa in morse.Appena completo questo aggiungo un nuovo pulsante e lo collego.

Il problema è che non riesco a fargliela leggere tutta,appena arriva ad un certo punto smette con i beep e da sempre lo stesso errore.
Wolt
Utente Junior
 
Messaggi: 52
Iscritto il: 04 lug 2013, 20:40

Re: Trasmettitore sonoro morse

Messaggioda oregon » 13 ott 2013, 14:19

La stringa ha una lunghezza. Utilizzala in un ciclo for
oregon
Saggio
 
Messaggi: 3392
Iscritto il: 20 nov 2011, 18:54

Re: Trasmettitore sonoro morse

Messaggioda Wolt » 13 ott 2013, 18:04

oregon ha scritto:La stringa ha una lunghezza. Utilizzala in un ciclo for


Potresti darmi una mano?
Wolt
Utente Junior
 
Messaggi: 52
Iscritto il: 04 lug 2013, 20:40

Re: Trasmettitore sonoro morse

Messaggioda oregon » 13 ott 2013, 18:14

E te l'ho data ! Perché non provi ad utilizzare il suggerimento?

La lunghezza di una stringa la ottieni con

int lun = Testo.Length;

vedi
http://msdn.microsoft.com/it-it/library ... ength.aspx

e poi una for la saprai scrivere, no?
oregon
Saggio
 
Messaggi: 3392
Iscritto il: 20 nov 2011, 18:54

Re: Trasmettitore sonoro morse

Messaggioda Wolt » 13 ott 2013, 18:18

oregon ha scritto:E te l'ho data ! Perché non provi ad utilizzare il suggerimento?

La lunghezza di una stringa la ottieni con

int lun = Testo.Length;

vedi
http://msdn.microsoft.com/it-it/library ... ength.aspx

e poi una for la saprai scrivere, no?


.Length non è il problema,il problema è proprio il ciclo,non riesco a prendere i caratteri singolarmente.
Wolt
Utente Junior
 
Messaggi: 52
Iscritto il: 04 lug 2013, 20:40

Re: Trasmettitore sonoro morse

Messaggioda oregon » 13 ott 2013, 18:20

Il singolo carattere lo ottieni con

Testo.Substring(ix, 1)

in cui ix è l'indice della for che va da 0 a lun-1

Studia questo

http://msdn.microsoft.com/en-us/library/aka44szs.aspx

e fallo perché se non studi non ti puoi inventare le soluzioni!
oregon
Saggio
 
Messaggi: 3392
Iscritto il: 20 nov 2011, 18:54

Re: Trasmettitore sonoro morse

Messaggioda Wolt » 14 ott 2013, 13:54

oregon ha scritto:Il singolo carattere lo ottieni con

Testo.Substring(ix, 1)

in cui ix è l'indice della for che va da 0 a lun-1

Studia questo

http://msdn.microsoft.com/en-us/library/aka44szs.aspx

e fallo perché se non studi non ti puoi inventare le soluzioni!


Studiato e risolto,grazie Oregon.
Wolt
Utente Junior
 
Messaggi: 52
Iscritto il: 04 lug 2013, 20:40

Re: Trasmettitore sonoro morse

Messaggioda oregon » 15 ott 2013, 13:14

Wolt ha scritto:Studiato e risolto,grazie Oregon.


Di nulla. E' sempre meglio risolvere con le proprie forze (e una spintarella ...).
oregon
Saggio
 
Messaggi: 3392
Iscritto il: 20 nov 2011, 18:54


Torna a C# .NET

Chi c’è in linea

Visitano il forum: Yahoo [Bot] e 3 ospiti

IPROGRAMMATORI.IT 2013. Tutti i diritti riservati. - P.IVA 04135460873 | Pubblicità | Termini e Condizioni - Privacy Policy | Contatti | RSS 2.0 - Le news di IProgrammatori.itRSS