afficher un mot dans un label

afficher un mot dans un label - Delphi/Pascal - Programmation

Marsh Posté le 26-04-2006 à 19:55:51    

bonjour, j'ai dans ma fiche initialisé 5 mot aléatoire.
Dans un label a coté, un des mots doit apparaitre mais avec toute les lettre mélangées.
En faite c'est un jeu et la personne doit retrouvé le mot exactement.
Comment dois-je faire pour faire arriver un des 5 mot créer dans la fiche dans le label?
Et avec le code que j'ai fait, il me donne un caractère bizare et non le mot faisant partie des 5.
 
 
voici deja une partie de mon code qui concerne cette partie ci:
 
procedure TFSuite.FormCreate(Sender: TObject);
begin
randomize;
mot[1]:='scanner';
mot[2]:='microprocesseur';
mot[3]:='hertz';
mot[4]:='claviers';
mot[5]:='reseau';
Initialise;
end;
procedure TFSuite.Initialise;
begin
essaie:=0; // mise à zero du nombre d'essai
errperm:=1; // nombre d'erreur permise
hasard:=random(5)+1; //tirage au sort du mot
end;
end.
 
procedure TFSuite.LBLmotsClick(Sender: TObject);
begin
LBLmots.caption:=mot[hasard];
end;
 
merci

Reply

Marsh Posté le 26-04-2006 à 19:55:51   

Reply

Marsh Posté le 26-04-2006 à 21:04:48    

Salut,
 
je connait pas trop mais ça semble bizarre, tu doit avoir un problème au niveau de:
 
hasard:=random(5)+1; //tirage au sort du mot ???
 
si tu fait :
 

procedure TFSuite.LBLmotsClick(Sender: TObject);
begin
LBLmots.caption:=mot[1];
end;


 
il te met bien scanner dans le label?
 
y faudrait plutôt qu tu fasse un truc du genre:
 

if Hasard = 1 then
LBLmots.caption:=mot[1];
if Hasard = 2 then
LBLmots.caption:=mot[2];
etc.


 


Message édité par Flagad'aware le 26-04-2006 à 21:07:49
Reply

Marsh Posté le 26-04-2006 à 21:07:02    

ben si je met 1 entre crochet, là il ne me met rien

Reply

Marsh Posté le 26-04-2006 à 21:09:29    

ouais donc [hasard] c pas mieux :-/

Reply

Marsh Posté le 26-04-2006 à 21:15:06    

je ne sais pas comment faire surtout que a chaque lancement du jeu, le mot doit etre différent.
je ne sais pas...

Reply

Marsh Posté le 26-04-2006 à 21:17:16    

déja tu peut faire plutôt:
 
if Hasard = 1 then
LBLmots.caption:= 'scanner';
if Hasard = 2 then
LBLmots.caption:= 'microproc';
etc.
mais ça peut être long
 
ou dans un fichier txt qui contiendrait tout les mots?
 
ah non j'avait pas compris ce que tu voulait faire!!!
 
déja t'es sur que randomise ça marche comme ça?
 
t'es sûr que ça va te donner par ex:
 
mot[1]:='cananre';  
mot[2]:='miprocecrosseur';  
mot[3]:='rthez';  
mot[4]:='viclaers';  
mot[5]:='earesu';


Message édité par Flagad'aware le 26-04-2006 à 21:22:21
Reply

Marsh Posté le 26-04-2006 à 21:22:38    

je viens de rechanger et donc faire comme ci dessus et ca me met toujours les caractère bizare.
Dommage uon ne sais pas insérer de photo aussi non jaurai montrer ce que ca donnais, parce que sans exemple c'est peut etre pas clair.

Reply

Marsh Posté le 26-04-2006 à 21:27:33    

je crois avoir compris ce que tu veut, en fait t'aurais un label qui donnerait:
 
sacnenr au lieu de scanner et à coté un Tedit où le joueur devrait rentrer scanner
 
c'est pas hyper compliqué , je revient dans env45Min si t'es encore là je peut te montrer un peu

Reply

Marsh Posté le 26-04-2006 à 21:29:39    

oui c cela.
Mais moi les 5 mots, je les ai initialiser dans la fiche et sont donc caché.
mais je pense que tu a compris.
ouf enfin
 
oui je serais tourjours là
 
je te remercie

Reply

Marsh Posté le 26-04-2006 à 22:11:39    

y a pô d'koi ;)  
 
sinon ce que tu peut essayer de faire c'est de mettre tout ton "dico" dans une variable de type Widestring:
 
essaye déja un truc comme ça:
 
var dico: widestring ;
 
dico := ('1scanner 2moniteur 3cpu 4ecran 5souris') ; //la tu rentre ce que tu veut entre les ' '
if Hasard=3 then; alors tu vas chercher cpu dans le dico
 
 
 

Reply

Marsh Posté le 26-04-2006 à 22:11:39   

Reply

Marsh Posté le 26-04-2006 à 22:17:14    

par hasard, y a pas moyen de dialoguer par msn par rapport a ceci biensur pcque a chaque fois revenir sur le site, ca irai plus vite comme cela.
Enfin si ca te dérange pas.
Je peux tenvoyer par email mon adresse hotmail pr ne pas biensur que ce soit divulger

Reply

Marsh Posté le 26-04-2006 à 22:20:46    

regarde tes MP

Reply

Marsh Posté le 26-04-2006 à 22:23:45    

ok

Reply

Marsh Posté le 26-04-2006 à 22:25:17    

mais dans lexemple que tu me dis de faire, peut je le faire dans formcreate de la fiche comme javai fait ou je dois le faire dans un edit?

Reply

Marsh Posté le 26-04-2006 à 22:32:15    

voila j'ai fait comme cela:
 
procedure TFSuite.FormCreate(Sender: TObject);
var dico:widestring;
begin
   dico := ('1scanner 2moniteur 3ergonomie 4microprocesseur 5souris') ;
if Hasard=3 then
     dico:='ergonomie'

Reply

Marsh Posté le 26-04-2006 à 22:34:32    

et maintenant quand je le lance, il ne me met plus comme caractere spéciaux 0|D mais '|D

Reply

Marsh Posté le 26-04-2006 à 22:38:31    

non faut en mettre plus que ça, j'ai du mal à faire plusieurs truc en meme temps là, essaye de passer sur msn si tu peut
 
faut pas refaire dico := 'ergonomie' sinon tu efface tout le dico, il faut aller lire dedans


Message édité par Flagad'aware le 26-04-2006 à 22:44:23
Reply

Marsh Posté le 26-04-2006 à 22:47:05    

va voir ds tes MP, je te demande qqch

Reply

Marsh Posté le 27-04-2006 à 04:31:04    

imeys a écrit :

bonjour, j'ai dans ma fiche initialisé 5 mot aléatoire.
Dans un label a coté, un des mots doit apparaitre mais avec toute les lettre mélangées.
En faite c'est un jeu et la personne doit retrouvé le mot exactement.
Comment dois-je faire pour faire arriver un des 5 mot créer dans la fiche dans le label?
Et avec le code que j'ai fait, il me donne un caractère bizare et non le mot faisant partie des 5.

 


voici deja une partie de mon code qui concerne cette partie ci:

 

procedure TFSuite.FormCreate(Sender: TObject);
begin
randomize;
mot[1]:='scanner';
mot[2]:='microprocesseur';
mot[3]:='hertz';
mot[4]:='claviers';
mot[5]:='reseau';
Initialise;
end;
procedure TFSuite.Initialise;
begin
essaie:=0; // mise à zero du nombre d'essai
errperm:=1; // nombre d'erreur permise
hasard:=random(5)+1; //tirage au sort du mot
end;
end.

 

procedure TFSuite.LBLmotsClick(Sender: TObject);
begin
LBLmots.caption:=mot[hasard];
end;

 

merci


 
Salut Tu peu essayer ca

 

unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
type
  TForm1 = class(TForm)
    Label1: TLabel;
    procedure FormPaint(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Déclarations privées }
    hazard:integer;
    mot:array[1..10] of string;
  public
    { Déclarations publiques }
  end;
var
  Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
randomize;
hazard:=random(5)+1;
mot[1]:='scanner';
mot[2]:='microprocesseur';
mot[3]:='hertz';
mot[4]:='claviers';
mot[5]:='reseau';
end;
procedure TForm1.FormPaint(Sender: TObject);
begin
label1.Caption:=mot[hazard];
end;
end.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed