Lire, écrire dans un fichier.

a marqué ce sujet comme résolu.

Bonjour, je crois que c'est la première question de programmation du site!!! Bref, j'aimerais que mon application se souvienne de ce qu'il fait ex: Il y a un textbox, et quand il clique sauvegarder sa sauvegarde le texte qu'il a écrit dans la textbox en un bloc-note, et ensuite j'aimerais que l'application puisse lire ce qu'il a écrit un chiffre ou autre pour le mettre en variable.

Merci

+0 -0

Ouais en fait je suis allé sur MSDN et j'ai trouvé sa http://support.microsoft.com/kb/816149/fr ya t'il un problème avec celui-ci? Le tiens est plus simple mais… juste pour savoir.

Sinon je sais que je devrais faire un autre post mais je crois que sa serai plus simple si je le faisais ici, j'ai un problème avec mon code mais je ne sais pas pourquoi:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
  private void AddUser(string username, string password, string confirmPass, string email)
        {

            {

                string smtpEmail = smtpUserNameTextBox.Text;
                string smtpPassword = smtpPasswordTextBox.Text;
                int smtpPort = (int)smtpPortNumericUD.Value;
                string smtpAddress = smtpAddressTextBox.Text; //Prob en dessous de smtpAddressTextBox


                Regex regex = new Regex(@"^([\w\.\-]+)@([\w\-]+)((\.(\w){2,3})+)$");
                Match match = regex.Match(email);


                foreach (DataRow row in loginsDataSet.Logins)
                {

                    if (row.ItemArray[0].Equals(username))
                    {

                        MessageBox.Show("Username already exists");
                        return;
                    }
                }


                if (password != confirmPass)
                {
                    MessageBox.Show("Passwords do not match");
                }

                else if (password.Length < 8)
                {
                    MessageBox.Show("Password must be at least 8 characters long");
                }

                else if (!match.Success)
                {
                    MessageBox.Show("Invalid Email");
                }

                else if (username == null)
                {
                    MessageBox.Show("Must have Username");
                }

                else
                {
                    loginsDataSet.LoginsRow newUserRow = loginsDataSet.Logins.NewLoginsRow();

                    string EncryptedPass = HashPass(password); //En dessous de HashPass
                    newUserRow.Username = username;        //Problème en dessous de Username
                    newUserRow.Password = EncryptedPass;   //Problème en dessous de Password
                    newUserRow.Email = email;              //Problème en dessous de Email

                    loginsDataSet.Logins.Rows.Add(newUserRow);
                    registerUserName.Text = String.Empty;
                    registerPassword.Text = String.Empty;
                    registerConfirmPassword.Text = String.Empty;
                    registerEmail.Text = String.Empty;
                    MessageBox.Show("Thank you for Registering!");
                    if (String.IsNullOrWhiteSpace(smtpEmail) || String.IsNullOrWhiteSpace(smtpPassword) || String.IsNullOrWhiteSpace(smtpAddress) || smtpPort <= 0)
                    {
                        MessageBox.Show("Email configuration is not set up correctly! \nCannot sent email!");

                    }
                    else
                    {
                        SendMessage(email.ToString(), username.ToString(), password.ToString());
                       //Problème en dessous de SendMessage
                    }
                }
            }
        }
    }
}

Merci d'avance

+0 -0

Ouais en fait je suis allé sur MSDN et j'ai trouvé sa http://support.microsoft.com/kb/816149/fr ya t'il un problème avec celui-ci? Le tiens est plus simple mais… juste pour savoir.

lapin03

Ton lien commence par support.microsoft…, support implique que c'est une page qui explique la résolution d'un problème. Non il y a pas de problème ;) Juste pourquoi faire compliqué? Dans ton cas il n'y a pas besoin d'utiliser, mon code te suffit.

Sinon je sais que je devrais faire un autre post mais je crois que sa serai plus simple si je le faisais ici, j'ai un problème avec mon code mais je ne sais pas pourquoi:

lapin03

Pour savoir pourquoi ca ne marche pas, il faut utiliser le debugger, tu peux mettre des points d'arret dans le code et l'executer ligne par ligne pour voir ou ça crash. On pourrait écrire un tuto sur comment debugger avec Visual Studio il y a plein de chose à en dire.

Pour ta regex, je n'ai pas trop le temps de regarder en détail.

Tu as bien créer les méthode HashPass et SendMessage ? Met un try catch autour de SendMessage et affiche l'exception dans le catch (je te laisse chercher comment faire)

J'ai trouvé ton code ici :P

+0 -0

Bonjour, je crois que c'est la première question de programmation du site!!! Bref, j'aimerais que mon application se souvienne de ce qu'il fait ex: Il y a un textbox, et quand il clique sauvegarder sa sauvegarde le texte qu'il a écrit dans la textbox en un bloc-note, et ensuite j'aimerais que l'application puisse lire ce qu'il a écrit un chiffre ou autre pour le mettre en variable.

Merci

lapin03

Essaye de découper ton problème pour mettre en évidence les couches de ton application et les classes qui les composent.

  • IHM : Interface Homme-Machine, c'est là que tu auras notemment toutes tes classes Form. Elle ne peut communiquer qu'avec les couches BO et BLL
  • BLL : logique applicative, c'est là que tu auras toutes les classes qui constituent le noyau de ton application. Elle peut être appelée par l'IHM et ne peut communiquer qu'avec les couches BO et DAL
  • DAL : accès aux données, et persistance des données. Les classes qui s'y trouvent, dans ton cas, sont celles responsables de la lecture et de l'écriture en fichier. Elle ne peut communiquer qu'avec la BO, et seule la BLL peut l'appeler.
  • BO : objets métier. Les classes qui s'y trouvent reflètent les entités à manipuler. Je ne sais pas trop de quelles entités il s'agit dans ton cas, mais cette couche est juste là pour représenter en entités les données à manipuler. Toutes les couches l'appellent.

Déjà si tu essaye de mettre en place cette séparation en couche, la difficulté de ton problème va se diviser par 10. Après il suffira juste d'utiliser les bons outils dans ta couche DAL. Jette un coup d'oeil à la documentation MSDN de la classe FileStream par exemple. ;)

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte