Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1686 connectés 

  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  [Delphi] Problème dans un code / N'affiche jamais la variable

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Delphi] Problème dans un code / N'affiche jamais la variable

n°1658592
Pad
Posté le 14-12-2007 à 23:43:25  profilanswer
 

:hello:

 

J'ai un exo qui est un jeu : le player 1 saisit un mot caché, le player 2 doit le trouver en maxi 3 essais.

 

Mais, lors de l'execution, j'ai un souci, dans le showmessage de la ligne 21, il ne m'affiche rien. Pourtant, le texte apparait bien :heink: Donc, il y aurait un problème avec ma variable essai, mais lequel ? :??:

 

Merci pour votre aide !

 

Code :

 
Code :
  1. var
  2. essai : string[4];
  3. begin
  4. if key= VK_RETURN
  5. then if compteur <> 3
  6.      then begin
  7.           if editEssai.text = editMotATrouver.text
  8.           then begin
  9.                showmessage('Bravo, joueur 2, tu as gagné du ' + inttostr(compteur) + ' coup.');
  10.                btnNew.setfocus;
  11.                end
  12.           else begin
  13.                if editMotATrouver.text[1] <> editEssai.text[1]
  14.                then essai[1] := '-';
  15.                if editMotATrouver.text[2] <> editEssai.text[2]
  16.                then essai[2] := '-';
  17.                if editMotATrouver.text[3] <> editEssai.text[3]
  18.                then essai[3] := '-';
  19.                if editMotATrouver.text[4] <> editEssai.text[4]
  20.                then essai[4] := '-';
  21.                showmessage('Voici les bonnes et mauvaises lettres : ' + essai); // Le problème est ici
  22.                end;
  23.            compteur := compteur + 1
  24.            end
  25.      else begin
  26.      showmessage('Vous avez perdu ...');
  27.      btnNew.setfocus;
  28.      end
  29. end;


Message édité par Pad le 16-12-2007 à 11:24:04
mood
Publicité
Posté le 14-12-2007 à 23:43:25  profilanswer
 

n°1658860
olivthill
Posté le 16-12-2007 à 11:16:18  profilanswer
 

La string i]essai [/i] doit être iniialisé, par exemple, juste après le begin, il devrait y avoir

essai := '    ';


Voici ce squi se passe :
 
var essai : string[4]; réserve un emplacement de plusieurs octets. Le premier octet contient la longueur de la chaine (je ne sais pas si c'est 4 ou 0 à ce moment-là). Le deuxième octet, le vrai début de la chaine, contient un caractère nul, 0 en binaire.
 
essai[2] := '-'; met un tiret dans le troisième octet, sans changer le deuxième octet qui reste à nul.
 
showmessage(essai) affiche le contenu de la variable essai en s'arrêtant quand la longueur de la chaine est atteinte ou quand un zéro binaire est rencontré. Donc l'affichage s'arrête avant d'avoir atteint le tiret.

n°1658862
Pad
Posté le 16-12-2007 à 11:25:03  profilanswer
 

:hello:
 
Il me semblait avoir essayé, mais bon, je modifierais cet aprem quand je serais chez moi ;)
 
Merci !

n°1658981
Pad
Posté le 16-12-2007 à 16:11:28  profilanswer
 

Même en initialisant, ça n'affiche rien :/


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  [Delphi] Problème dans un code / N'affiche jamais la variable

 

Sujets relatifs
Problème de jointurePage dynamique ne s'affiche pas php/mysql/easyphp
[php] variable contenant un espaceProbleme de variable VB Access
probleme java et tokenizer[C++] [resolu] Problème de templates
Problème affichage XML dans IEPetit problème avec mon algo de tri !
problème de connexion oracle 9i 
Plus de sujets relatifs à : [Delphi] Problème dans un code / N'affiche jamais la variable


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR