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

C++ Discussion :

[Builder C++]Petits soucis divers et variés.


Sujet :

C++

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 46
    Points : 26
    Points
    26
    Par défaut [Builder C++]Petits soucis divers et variés.
    Bon encore et toujours dans le cadre de mon projet.

    J'ai besoin de faire un fichier .log pour enregistrer tous les evenements qui se passe dans mon application. J'ai donc décidé d'utiliser un TMemo pour faire un aperçu du fichier .log Mon code compile sans soucis mais il m'affiche les lignes en double dans mon TMemo (ApLog dans le code).

    voilà le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     /* Initialisation du journal d'evenement a chaque lancement de l'application */
     Form3->ApLog->Lines->Add(TimeToStr(Time()) + " Bienvenue dans Sim City.");
     Form3->ApLog->Lines->Add(TimeToStr(Time()) + " Gestion de l'éclairage public.");
     Form3->ApLog->Lines->Add(TimeToStr(Time()) + " En attente d'identification.");
    Et le résultat est:
    14:58:52 Bienvenue dans Sim City.
    14:58:52 Gestion de l'éclairage public.
    14:58:52 En attente d'identification.
    14:58:52 Bienvenue dans Sim City.
    14:58:52 Gestion de l'éclairage public.
    14:58:52 En attente d'identification.
    Voilà comment résoudre ce premier petit soucis je ne comprend pas pourquoi il m'affiche 2 fois la meme chose

    2nd petit soucis.
    J'ai dans ma Form1 (form d'identification) 2 EditText qui me permette de saisir le nom d'utilisateur et le mdp qui permet la connexion. Si il manque l'un ou l'autre j'aimerai qu'il m'affiche une petite fenetre qui indiquera qu'il manque le nom d'utilisateur ou le mdp.

    J'ai codé cela de la façon suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if (E_user->Text == "") ShowMessage("Utilisateur manquant.");
    if (E_pwd->Text == "") ShowMessage("Mot de passe manquant.");
    else Client->Socket->SendText("[LOGIN]"+(E_user->Text)+";"+(E_pwd->Text)+";pc_e[/LOGIN]");
    Je ne sais pas si correct. Je n'ai aucun message qui s'affiche quand je clique sur mon bouton "Se connecter" et que les champs sont vides.

    Si vous pouvez m'expliquer d'ou cela peut venir.

  2. #2
    Membre régulier Avatar de jehrikhan
    Inscrit en
    Mars 2008
    Messages
    90
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 90
    Points : 89
    Points
    89
    Par défaut
    Pour ton premier problème, si tu pouvais nous dire a quel moment tu vas écrire dans le TMemo.

    Pour le second je vois pas de soucis, j'ai meme testé pour etre sur.
    T'es sur que tes Edits sont vraiment vides?

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 46
    Points : 26
    Points
    26
    Par défaut
    Bon pour mes Edits j'ai fabriqué ma petite application serveur qui me permet de vérifier la communication y a effectivement pas de problemes.

    Pour l'ecriture dans le TMemo c'est fait directement au lancement de l'application.

    J'ai un fonctionnement normal du TMemo par la suite quand je suis identifié via le serveur il transmet les informations qu'une seule fois au TMemo. c'est pour ça que je comprend pas ce phenomene.

    En tout cas merci Jehrikhan car une fois de plus c'est toi qui m'aide c'est super sympa.

  4. #4
    Membre régulier Avatar de jehrikhan
    Inscrit en
    Mars 2008
    Messages
    90
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 90
    Points : 89
    Points
    89
    Par défaut
    La je vois pas trop..
    T'as essayé d'exectuer ton appli en pas à pas voir ce qu'il fait exactement?

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 46
    Points : 26
    Points
    26
    Par défaut
    En mode PAS A PAS. il fait 2 fois l'opération mais je ne vois pas pourquoi...

    mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    void __fastcall TForm1::FormActivate(TObject *Sender)
    {
     /* Ouvrir la fenetre du journal d'evenement dés le lancement de l'application */
     Form3->Visible=true;
     /* Initialisation du journal d'evenement a chaque lancement de l'application */
     Form3->ApLog->Lines->Add(TimeToStr(Time()) + " Bienvenue dans Sim City.");
     Form3->ApLog->Lines->Add(TimeToStr(Time()) + " Gestion de l'éclairage public.");
     Form3->ApLog->Lines->Add(TimeToStr(Time()) + " En attente d'identification.");
     /* Garder le focus sur la fenetre d'authentification */
     Form1->SetFocus();
    }
    Il n'y a rien qui devrait lui faire reprendre ce code au début dans ce morceau là. Aprés faut que je regarde mais je ne pense que ça vienne d'ailleurs.

    Si je fait une boucle while( i!=1) et la fin du code de dessus je fait i++ et j'initialise un int i = 0; ça pourrait régler le probleme meme si c'est de la bidouille.

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 46
    Points : 26
    Points
    26
    Par défaut
    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
    void __fastcall TForm1::FormActivate(TObject *Sender)
    {
     int i=0;
     while(i!=1){
      /* Ouvrir la fenetre du journal d'evenement dés le lancement de l'application */
      Form3->Visible=true;
      /* Initialisation du journal d'evenement a chaque lancement de l'application */
      Form3->ApLog->Lines->Add(TimeToStr(Time()) + " Bienvenue dans Sim City.");
      Form3->ApLog->Lines->Add(TimeToStr(Time()) + " Gestion de l'éclairage public.");
      Form3->ApLog->Lines->Add(TimeToStr(Time()) + " En attente d'identification.");
      /* Garder le focus sur la fenetre d'authentification */
      Form1->SetFocus();
      i++;
     }
    }
    Ne règle pas le probleme! Cela veut dire qu'il rentre 2 fois dans la fonction vu que je déclare le int i en local.
    Par contre en global (int i déclaré dans le .h) je n'ai plus le problème vu qu'il garde le i=1 en sortant de la fonction. D'où cela peut il venir? Appel de ma form1 dans le WinMain()?

    Et encore autre chose je suis tombé sur un truc dans l'aide de Builder c'est l'evenement OnConnecting qui renvoie OnConnectFailed dans le cas d'une erreur juste avant la connexion, je n'arrive pas à m'en servirn j'ai cherché sur Google et sur le forum mais je n'ai rien trouvé a ce sujet. Si quelqu'un peut me renseigner sur cet evenement ça sera avec bon coeur que je prendrais ces renseignements merci.

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 46
    Points : 26
    Points
    26
    Par défaut
    Pour l'evenement OnConnecting il n'y a plus de problemes. J'ai pas trouvé véritablement de solution, juste que le debogueur de Borland me plante l'application quand il n'y a pas de serveur. Et si je lance le programme directement a partir de l'executable s'il n'y a pas de client j'ai un message d'erreur qui s'affiche. A ce niveau tout va bien du coup.

    Pour mon TMemo je garde la solution que j'ai trouvé également je n'ai pas réussi a trouver la raison pour laquelle le programme exécuter 2 fois FormActivate.

  8. #8
    Membre régulier Avatar de jehrikhan
    Inscrit en
    Mars 2008
    Messages
    90
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 90
    Points : 89
    Points
    89
    Par défaut
    Sinon, vu que ta Form3 doit s'afficher au démarrage et rester tout le temps actif si j'ai tout compris. Essaye de l'afficher sur l'evenement OnCreate

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 46
    Points : 26
    Points
    26
    Par défaut
    C'est une solution je vais l'essayer j'y avait pas pensé...

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 46
    Points : 26
    Points
    26
    Par défaut
    Bon dsl pour le delai d'attente... J'avais completement zappé le topic. Pour ce qui est de la solution proposée Jehrikhan ça ne fonctionne pas j'ai donc décidé de faire a ma maniere provisoirement j'optimiserai le moment venu.

    Merci de votre aide en tout cas.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XCode] Petit souci Xcode interface builder
    Par will33 dans le forum XCode
    Réponses: 2
    Dernier message: 04/10/2010, 13h50
  2. petit soucy de fenetre cmd
    Par FeetloveR666 dans le forum Windows
    Réponses: 5
    Dernier message: 03/07/2004, 14h24
  3. petit soucis lors d'un LOAD DATA INFILE
    Par Jovial dans le forum SQL Procédural
    Réponses: 9
    Dernier message: 04/06/2004, 11h58
  4. Réponses: 6
    Dernier message: 21/01/2004, 13h25
  5. [DEBUTANT] petits soucis avec un prgm de chat
    Par LechucK dans le forum MFC
    Réponses: 8
    Dernier message: 19/01/2004, 16h52

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