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
Ciaffo Zone - Invio email
Forum - Ciaffo Zone - Invio email - Pagina 3

Pagine: [ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ] Precedente | Prossimo
Avatar
quasar87 (Normal User)
Pro


Messaggi: 65
Iscritto: 03/05/2022

Segnala al moderatore
Postato alle 19:10
Mercoledì, 11/05/2022
Ciao, ho utilizzato un servizio di server smtp, il programma esegue correttamenti i calcoli poi dovrebbe inviare l'email ma alla fine del codice per i calcoli c'è il metodo Console.Readkey che attende di premere un tasto per terminare il programma, ho così eliminato il metodo da quel punto mettendolo alla fine di tutto il programma cioè dopo la parte di codice per l'invio dell'email però il debug mi dice "le istruzioni di primo livello devono precedere le dichiarazioni di tipo e di spazio dei nomi" ma se metto il metodo prima di queste funziona solo la parte di calcolo e poi viene eseguito il metodo e attende che si prema un tasto per uscire, eseguire il codice per l'invio dell'email, come si fa in questi casi?

PM Quote
Avatar
Thejuster (Admin)
Guru^2


Messaggi: 2305
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 20:36
Mercoledì, 11/05/2022
Sinceramente sarei curioso di vedere sto sorgente.
Sto leggendo degli errori che non ho mai visto in vita mia.

Hai letto almeno la guida che ti avevo postato?
della struttura di un programma?

Codice sorgente - presumibilmente C++

  1. using [ Eventuali Librerie ]
  2.  
  3. namespace spazio_dei_nomi_progetto
  4. {
  5.  
  6.    class programma
  7.   {
  8.  
  9.            //Eventuali variabili globali  
  10.        
  11.          //Punto di ingresso del programma
  12.          static void Main()
  13.          {
  14.  
  15.           }
  16.  
  17.  
  18.          static void blablabla()
  19.          {
  20.                //Eventali void o funzioni
  21.  
  22.          }
  23.  
  24.    }
  25.  
  26.  
  27. }






https://mire.forumfree.it/ - Mire Engine
C# UI Designer
PM Quote
Avatar
quasar87 (Normal User)
Pro


Messaggi: 65
Iscritto: 03/05/2022

Segnala al moderatore
Postato alle 11:20
Giovedì, 12/05/2022
Sto seguendo un manuale su C# ma le cose sono tante e non è facile metterle insieme correttamente, ora ricontrollo se non risolvo posto il codice, comunque a me il debug indica quel problema li.

PM Quote
Avatar
quasar87 (Normal User)
Pro


Messaggi: 65
Iscritto: 03/05/2022

Segnala al moderatore
Postato alle 12:25
Giovedì, 12/05/2022
Sto seguendo un manuale su C# ma le cose sono tante e non è facile metterle insieme correttamente, ora ricontrollo se non risolvo posto il codice, comunque a me il debug indica quel problema li.

PM Quote
Avatar
quasar87 (Normal User)
Pro


Messaggi: 65
Iscritto: 03/05/2022

Segnala al moderatore
Postato alle 12:31
Giovedì, 12/05/2022
Ecco di seguito la struttura che mi da quell'errore, come prima parte ho riportato per comodità la struttura che mi hai indicato in un altro post, poi c'è la parte relativa all'invio dell'email, il programma esegue il calcolo poi, se Console.Readkey lo posiziono alla fine mi da quell'errore, se lo posiziono alla fine della parte di codice che esegue il calcolo, non viene eseguita la parte dell'invio email.


Codice sorgente - presumibilmente C#

  1. //Le Variabili vanno dichiarate sempre prima del codice
  2. double Calcolo1, Calcolo2, Calcolo3;
  3. double valore;
  4.  
  5. Console.Write("Inserisci valore1: ");
  6. var input = Console.ReadLine();
  7.  
  8.  
  9. //Valore 1
  10. double.TryParse(input, out valore);
  11. Calcolo1 = (valore * 100 / 50 / 100 * 25);
  12.  
  13.  
  14. //Valore2
  15. Console.Write("Inserisci valore2: ");
  16. input = Console.ReadLine();
  17.  
  18. double.TryParse(input, out valore);
  19. Calcolo2 = (valore * 100 / 50 / 100 * 25);
  20.  
  21. //Valore3
  22. Console.Write("Inserisci valore3: ");
  23. input = Console.ReadLine();
  24.  
  25. double.TryParse(input, out valore);
  26. Calcolo3 = (valore * 100 / 50 / 100 * 25);
  27.  
  28.  
  29. //Risultato
  30. Console.WriteLine($"I Calcoli risultano {Calcolo1}, {Calcolo2} e {Calcolo3}");
  31.  
  32.  
  33. namespace Test
  34. {
  35.     using System.Net.Mail;
  36.     using System.Net;
  37.     class Program
  38.     {
  39.         static void Main(string[] args)
  40.         {
  41.             MailMessage message = new MailMessage();
  42.             message.To.Add("email_destinatario1, email_destinatario2, ecc");
  43.             message.Subject = "Test invio email con C#";
  44.             message.Body = "Questa è una email di test inviata con server smtp da C#";
  45.             message.From = new MailAddress("email_mittente", "nome_mittente_visualizzato_da_destinatario");
  46.             SmtpClient smtp = new SmtpClient("nome_Server_smtp", porta);
  47.             smtp.EnableSsl = true;
  48.             smtp.UseDefaultCredentials = false;
  49.             smtp.Credentials = new NetworkCredential("email_mittente", "password_email_mittente");
  50.             smtp.Send(message);
  51.         }
  52.     }
  53. }
  54.  
  55.  
  56. Console.ReadKey(); //Attesa per terminare il programma


PM Quote
Avatar
Thejuster (Admin)
Guru^2


Messaggi: 2305
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 19:37
Giovedì, 12/05/2022
Quindi secondo te è corretto?

3 post precedenti che ho scritto?


Codice sorgente - presumibilmente C++

  1. using [ Eventuali Librerie ]
  2.  
  3. namespace spazio_dei_nomi_progetto
  4. {
  5.  
  6.    class programma
  7.   {
  8.  
  9.            //Eventuali variabili globali  
  10.        
  11.          //Punto di ingresso del programma
  12.          static void Main()
  13.          {
  14.  
  15.           }
  16.  
  17.  
  18.          static void blablabla()
  19.          {
  20.                //Eventali void o funzioni
  21.  
  22.          }
  23.  
  24.    }
  25.  
  26.  
  27. }




Perché vai a mettere quell'ambaradan di codice prima del namespace?

ripeto:

1° Using (Solo importazione di librerie e niente codice)
2° namespace (Solo Namespace  niente codice)
3° classe ( Solo classe  niente codice)
4° Eventuali Variabili globali ( Solo variabili  e niente codice)
5° Void Main (Punto di partenza del programma (All'interno del void puoi inserire codice)
6° void Mia_Funzione ( Crei eventuali fuzioni con codice)

http://www.pierotofy.it/pages/guide/Guida_al_Csharp/La_Str ...


Racchiudi tutti i calcoli in un void a parte e chiamalo dal main.

Codice sorgente - presumibilmente C#

  1. namespace test {
  2.  
  3.    class Program {
  4.  
  5.       //Dopo la dichiarazione della classe si possono dichiarare variabili globali
  6.       //Le Variabili vanno dichiarate sempre prima del codice
  7.       double Calcolo1, Calcolo2, Calcolo3;
  8.  
  9.       static void Calcolo() {
  10.          double valore;
  11.  
  12.          Console.Write("Inserisci valore1: ");
  13.          var input = Console.ReadLine();
  14.  
  15.          //Valore 1
  16.          double.TryParse(input, out valore);
  17.          Calcolo1 = (valore * 100 / 50 / 100 * 25);
  18.  
  19.          //Valore2
  20.          Console.Write("Inserisci valore2: ");
  21.          input = Console.ReadLine();
  22.  
  23.          double.TryParse(input, out valore);
  24.          Calcolo2 = (valore * 100 / 50 / 100 * 25);
  25.  
  26.          //Valore3
  27.          Console.Write("Inserisci valore3: ");
  28.          input = Console.ReadLine();
  29.  
  30.          double.TryParse(input, out valore);
  31.          Calcolo3 = (valore * 100 / 50 / 100 * 25);
  32.  
  33.          //Risultato
  34.          Console.WriteLine($"I Calcoli risultano {Calcolo1}, {Calcolo2} e {Calcolo3}");
  35.  
  36.       }
  37.  
  38.       static void Main(string[] args) {
  39.  
  40.          Calcolo(); //Esegui il calcolo
  41.  
  42.          //Invii email
  43.          MailMessage message = new MailMessage();
  44.          message.To.Add("email_destinatario1, email_destinatario2, ecc");
  45.          message.Subject = "Test invio email con C#";
  46.          message.Body = "Questa è una email di test inviata con server smtp da C#";
  47.          message.From = new MailAddress("email_mittente", "nome_mittente_visualizzato_da_destinatario");
  48.          SmtpClient smtp = new SmtpClient("nome_Server_smtp", porta);
  49.          smtp.EnableSsl = true;
  50.          smtp.UseDefaultCredentials = false;
  51.          smtp.Credentials = new NetworkCredential("email_mittente", "password_email_mittente");
  52.          smtp.Send(message);
  53.  
  54.          Console.ReadKey(); //Attesa per terminare il programma
  55.       }
  56.  
  57.    }
  58.  
  59. }




Questo è il modo corretto.

Forse in questo modo ti è più chiaro.

Namespace, è lo spazio dei nomi dell'applicazione, che può avere più nomi o posizioni.
E come un palazzo, dove al suo interno sono contenuti vari appartamenti (classi), ed in ogni appartamento (classe), c'è una persona (void) che fa qualcosa.

Esempio non puoi mettere un persona(void) a dormire nel palazzo (namespace), ma nell'appartamento(classe).


Quindi,

Codice sorgente - presumibilmente C++

  1. Namespace Palazzo
  2. {
  3.    
  4.   class Appartamento_luca
  5.   {
  6.  
  7.         void Bevi() {}
  8.         void Dormi() {}
  9.  
  10.         void Luca() //sarebbe static void Main
  11.         {
  12.               Bevi();
  13.               Dormi();
  14.  
  15.          }
  16.        
  17.  
  18.    }
  19.  
  20. }



Più chiaro di questo non sò spiegarti, altrimenti ci rinuncio :pat:


https://mire.forumfree.it/ - Mire Engine
C# UI Designer
PM Quote
Avatar
quasar87 (Normal User)
Pro


Messaggi: 65
Iscritto: 03/05/2022

Segnala al moderatore
Postato alle 20:53
Giovedì, 12/05/2022
Ci riguardo per bene con calma, anche come scritto da te vengono segnalati errori che prima non c'erano, faccio un po' di altre prove tenedo presente la struttura, sono parecchie cose e non sono facili da mettere tutte insieme.

PM Quote
Avatar
Thejuster (Admin)
Guru^2


Messaggi: 2305
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 21:14
Giovedì, 12/05/2022
Testo quotato

Postato originariamente da quasar87:

Ci riguardo per bene con calma, anche come scritto da te vengono segnalati errori che prima non c'erano, faccio un po' di altre prove tenedo presente la struttura, sono parecchie cose e non sono facili da mettere tutte insieme.



Errori?
Impossibile, il mio codice è scritto bene.

L'unico dubbio che mi viene, e quello di rendere static le variabili in alto.

Invece di
Codice sorgente - presumibilmente Ciaffo Zone

  1. double Calcolo1, Calcolo2, Calcolo3;



Codice sorgente - presumibilmente Ciaffo Zone

  1. static double Calcolo1, Calcolo2, Calcolo3;



il resto del codice ti assicuro che funziona anche se non l'ho testato.
Bisogna vedere solo se riesci a mandare l'email ma il codice è scritto bene
almeno per quello che ho scritto io.


https://mire.forumfree.it/ - Mire Engine
C# UI Designer
PM Quote
Pagine: [ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ] Precedente | Prossimo