IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Pascal Discussion :

Création d'une boîte mail


Sujet :

Pascal

  1. #1
    Candidat au Club
    Femme Profil pro
    etudiant
    Inscrit en
    Octobre 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : etudiant

    Informations forums :
    Inscription : Octobre 2018
    Messages : 5
    Points : 4
    Points
    4
    Par défaut Création d'une boîte mail
    Bonsoir,
    je veux créer une boite mail qui enregistrerait les messages avec l'identifiant de la personne concernée dans un fichier et qui l'afficherait lors de la connexion de la personne concernée ...
    Lorsque je compile j'obtiens : Nom : 2018-10-30 (7).png
Affichages : 509
Taille : 88,5 Ko
    merci d'avance

    Voila mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    Program Boitemail;
     
    uses wincrt,sysutils;
     
    var identifiant1, identifiant2,messages : String;
    var reponse: Integer;
     
     
    var e : text;
     
    begin
    assign(e,'messages');
    append(e);
     
    writeln ('Donner votre identifiant');
    readln(identifiant1);
    writeln ('Que voulez-vous faire ?');
    writeln ('Consulter votre boite mail ? (1)');
    writeln ('Ecrire un mail ? (2)');
    readln (reponse);
     
    if reponse=2 then 
    begin
    writeln ('Identifiant');
    readln (identifiant2);
    writeln (e, identifiant2);
    writeln ('Message');
    readln (messages);
    writeln (e, messages);
    close(e);
    end;
     
     
    if reponse =1 then
    begin
    reset(e);
    while not(eof(e)) do
    begin
    readln (e,identifiant2);
    readln(e,messages);
    writeln ('Quel est la boite mail que vous voulez consulter ?');
    readln(identifiant1);
    begin
    if identifiant1 = identifiant2 then 
    writeln(e,identifiant2);
    writeln (e, messages); 
    write('ok');
    close(e);
    end;
    end;
    end;
    end.

  2. #2
    Membre éprouvé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Novembre 2012
    Messages
    375
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2012
    Messages : 375
    Points : 1 030
    Points
    1 030
    Par défaut
    Bonjour,

    Sous Free Pascal (pour les autres compilateurs je ne sais pas), la fonction append() permet d'ajouter des données à un fichier existant, elle ne crée pas le fichier s'il est inexistant. Donc, si le fichier 'messages' n'existe pas au préalable, il sera impossible d'écrire dedans, d'où le message d'erreur.

  3. #3
    Candidat au Club
    Femme Profil pro
    etudiant
    Inscrit en
    Octobre 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : etudiant

    Informations forums :
    Inscription : Octobre 2018
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    j'ai déjà créé le fichier et même que j'écris dedans avec l'action numéro 2

  4. #4
    Membre éprouvé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Novembre 2012
    Messages
    375
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2012
    Messages : 375
    Points : 1 030
    Points
    1 030
    Par défaut
    Il semblerait alors que c'est à cause de reset(e) qui ouvre le fichier en lecture seule. Du coup je ne sais pas comment faire pour revenir en début de fichier en gardant la possibilité d'écrire dedans

  5. #5
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 729
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 729
    Points : 15 133
    Points
    15 133
    Par défaut
    Yop !
    Citation Envoyé par xdelatour Voir le message
    Il semblerait alors que c'est à cause de reset(e) qui ouvre le fichier en lecture seule. Du coup je ne sais pas comment faire pour revenir en début de fichier en gardant la possibilité d'écrire dedans
    Rewrite !


    Citation Envoyé par Maudr Voir le message
    writeln ('Quel est la boite mail que vous voulez consulter ?');
    'Quelle est ...'
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  6. #6
    Candidat au Club
    Femme Profil pro
    etudiant
    Inscrit en
    Octobre 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : etudiant

    Informations forums :
    Inscription : Octobre 2018
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    Bonjour,
    J'ai essayé mais ça met ça ...

    Donner votre identifiant
    Paolo
    Que voulez-vous faire ?
    Consulter votre boite mail ? (1)
    Ecrire un mail ? (2)
    1
    An unhandled exception occurred at $00401B73:
    EInOutError: File not open for input
      $00401B73
    
    Appuyez sur une touche pour continuer...

  7. #7
    Expert confirmé
    Avatar de BeanzMaster
    Homme Profil pro
    Amateur Passionné
    Inscrit en
    Septembre 2015
    Messages
    1 899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Amateur Passionné
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Septembre 2015
    Messages : 1 899
    Points : 4 346
    Points
    4 346
    Billets dans le blog
    2
    Par défaut
    Re-bonjour

    Le problème c'est la façon dont les actions s'effectuent.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    Program Boitemail;
     
     
     
    uses wincrt,sysutils;
     
    var 
      identifiant1, identifiant2,messages : String;
      reponse: Integer;
      e : text;
      CountMessage : Integer;
     
    begin		 	
      writeln ('Que voulez-vous faire ?');
      writeln ('Consulter votre boite mail ? (1)');
      writeln ('Ecrire un mail ? (2)');
      readln (reponse);
     
      if reponse=2 then 
      begin
        assign(e,'messages.txt');
        if not(FileExists('messages.txt')) then rewrite(e)  else append(e);
        writeln ('Identifiant');
        readln (identifiant2);
        writeln (e, identifiant2);
        writeln ('Message');
        readln (messages);
        writeln (e, messages);
        close(e);
      end
      else if reponse =1 then
      begin
        assign(e,'messages.txt');
        reset(e);		
        writeln ('Quelle est la boite mail que vous voulez consulter ?'); 
        readln(identifiant1); 
        CountMessage := 0;
        while not(eof(e)) do
        begin 
           readln (e,identifiant2); 
           readln(e,messages); 
           if identifiant1 = identifiant2 then 
           begin			
              inc(CountMessage);
              Writeln('Message : '+InttoStr(CountMessage) + ': '); 
              Writeln (messages); 
              Writeln('ok --------------------------------------------'); 			  
           end;
        end;
        close(e); 
      end; 
    end.
    Voilà un code fonctionnel. Regarde bien les différences. Surtout dans l'imbrication des blocs if..then et begin...end. Essaye de prendre l'habitude d'indenter tes codes. C'est plus lisible et donc plus facile pour retrouver les erreurs.
    • "L'Homme devrait mettre autant d'ardeur à simplifier sa vie qu'il met à la compliquer" - Henri Bergson
    • "Bien des livres auraient été plus clairs s'ils n'avaient pas voulu être si clairs" - Emmanuel Kant
    • "La simplicité est la sophistication suprême" - Léonard De Vinci
    • "Ce qui est facile à comprendre ou à faire pour toi, ne l'est pas forcément pour l'autre." - Mon pèrei

    Mes projets sur Github - Blog - Site DVP

Discussions similaires

  1. Traitement automatisé d'une boite mail
    Par choubiroute dans le forum Modules
    Réponses: 1
    Dernier message: 04/04/2008, 06h27
  2. Réponses: 4
    Dernier message: 21/07/2006, 11h00
  3. [Mail] interroger une boite mail
    Par maximenet dans le forum Langage
    Réponses: 3
    Dernier message: 05/07/2006, 11h20
  4. [VBA-O]-Scanner mail sur une boite mail particulière
    Par bonilla dans le forum VBA Outlook
    Réponses: 1
    Dernier message: 29/06/2006, 17h08
  5. Creation d'une boite de dialogue
    Par parazite31 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 15/03/2005, 12h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo