Créer Questionnaire

Résolu
kopierreko Messages postés 139 Date d'inscription mercredi 12 mars 2008 Statut Membre Dernière intervention 10 juillet 2010 - 23 avril 2008 à 14:10
Sat83 Messages postés 166 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 13 octobre 2008 - 5 mai 2008 à 17:59
Bonjour tout le monde;
Je dois créer un questionnaire en deplhi, mais par étape: C-A-D
1ère question, je rempli le formulaire, et là, un message apparait me disant si j'ai bon ou si j'ai faux, et en même temps, là fenêtre se quitte et passe à la question d'après.
Comment procéder ?
Merci

23 réponses

Sat83 Messages postés 166 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 13 octobre 2008
25 avril 2008 à 18:49
C'est mon jour de bonté, mais le but c'est que tu trouve par toi même, pas que quelqu'un d'autre fasse le programme

Voilà quelques amélioration :

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    EdtReponse: TEdit;
    LblQuestion: TLabel;
    BtnValid: TButton;
    BtnQuit: TButton;
    procedure BtnValidClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure BtnQuitClick(Sender: TObject);
  private
    { Private declarations }
       listQuestion, listReponse : TStringList ;
       index : integer;
       cptBonneRep : integer ;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.BtnValidClick(Sender: TObject);
var nbrQuestion   : integer ;
    messageTmp  : string ;
begin
    if ( uppercase( EdtReponse.Text ) = uppercase( listReponse.strings[index] )) then
    begin
       Application.MessageBox('FELICITATION, VOUS AVEZ LA BONNE REPONSE!','RESULTAT',MB_ICONINFORMATION + MB_OK) ;
       cptBonneRep := cptBonneRep + 1 ; // on compte les bonnes reponses
    end else
    begin
       messageTmp := 'DOMMAGE, VOUS N''AVEZ PAS LA BONNE REPONSE!'
                   + #10#13  //on saute une ligne
                   + 'La bonne reponse était : '
                   + listReponse.strings[index] ; //on construit le message

       Application.MessageBox(PChar(messageTmp),'RESULTAT SUR CETTE QUESTION',MB_ICONINFORMATION + MB_OK) ;

    end;

    index := index+1 ; //on passe a laquestion suivante

// recupere le nombre de question (<=> le nombre d'élement dans la liste)
    nbrQuestion := listQuestion.Count ;

    if index >= nbrQuestion then   // on verifie si il reste des questions
    begin
       messageTmp := 'Vous obtenez une note de : ' + IntToStr(cptBonneRep) + '/' + IntToStr(nbrQuestion) ;
       Application.MessageBox( PChar(messageTmp) ,'RESULTAT FINAL',MB_ICONINFORMATION + MB_OK) ;
       BtnValid.Enabled := false ; // on desactive le bouton car il n'y a plus de questions
    end else
    begin
       LblQuestion.caption := listQuestion.strings[index] ; //on l'affiche
       EdtReponse.Text := '' ; //on efface la reponse précedante
    end ;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  listQuestion := TStringList.Create; //on creer la liste de questions
  listReponse := TStringList.Create;  // on creer la liste de reponses
  listQuestion.LoadFromFile('C:\question.txt');  //on charge depuis le fichier
  listReponse.LoadFromFile('C:\reponse.txt');    //on charge depuis le fichier
  index := 0;
  LblQuestion.caption := listQuestion.strings[index];
  cptBonneRep := 0 ;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  listQuestion.Free;  //on detruit les listes
  listReponse.Free;
end;

procedure TForm1.BtnQuitClick(Sender: TObject);
begin
  Close ; // on quitte le programme
end;

end.
3
JulioDelphi Messages postés 2226 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 18 novembre 2010 14
23 avril 2008 à 14:49
Où en es-tu dans l'avancée de ce code ?
Tu peux nous montrer un morceau ?
Si tu n'as encore rien fait, et que tu attends une solution ou un programme tout fait, passe ton chemin.
merci
0
kopierreko Messages postés 139 Date d'inscription mercredi 12 mars 2008 Statut Membre Dernière intervention 10 juillet 2010
23 avril 2008 à 15:02
Ben pour l'instant j'ai testé avec les frames et tout ça mais je patoge ...

J'ai pensé à quand le message apparait pour dire si on a bon, en cliquant sur continuer, la fenêtre se ferme, celle avec la question aussi et une autre s'ouvre ac la question suivante, mais je sais pas du tout comment je peux procéder

Voilà mon code:

unit Unit11;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    valid: TButton;
    Label1: TLabel;
    procedure validClick(Sender: TObject);

  private
    { Private declarations }
  public
    { Public declarations }
  end;

  TForm2 = class(TForm)
    Edit1: TEdit;
    valid: TButton;
    Label1: TLabel;

  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm1.validClick(Sender: TObject);
begin
TForm.Create(nil);
if Edit1.Text='CO2' then //Si le texte de l'edit est "delphi" alors...
ShowMessage('Exelent ! Vous pouvez passer à la question suivante !') //On affiche un message indiquant que le mot de passe est correct

else if Edit1.Text='co2' then //Si le texte de l'edit est "delphi" alors...
ShowMessage('Exelent ! Vous pouvez passer à la question suivante !') //On affiche un message indiquant que le mot de passe est correct

else //Sinon...
ShowMessage('Mot de passe incorrect !'); //On affiche un message indiquant que le mot de passe est incorrect

end;

end.

^^
Merci
0
cs_Shai Messages postés 50 Date d'inscription mardi 8 octobre 2002 Statut Membre Dernière intervention 21 décembre 2011
23 avril 2008 à 15:20
Ah, l'éditeur avancé, il l'est surtout en bug,

bon, plus court, ce sujet "http://www.developpez.net/forums/showpost.php?p=2953247&postcount=12" devrait t'intéresser, il s'appuie sur la boucle Run et les évènements pour gérer l'ensemble d'un questionnaire, mon exemple est en dur, mais avec un peu d'imagination on peut lire un fichier XML contenant les questions et les comportement entre les questions ...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Sat83 Messages postés 166 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 13 octobre 2008
23 avril 2008 à 15:52
Un point de départ simple pour commencer :

- tu crée deux fichier contenant la liste des question (question.txt) et la liste des reponses (reponse.txt)
- sur ta forme tu place un label, un edit et un bouton
- en variable globale (ou mieux en donnée membre privée de ta classeTForm1 si tu sais ce que c'est) tu creé:
    >2 TStringList listQuestion et listReponse
    >1 entier index

    var listQuestion, listReponse : TStringList ;
        index : Integer ;

- dans le OnCreate de ta Form (tu double clique dessus) tu charge ta liste de question/reponse:

    listQuestion := TStringList.Create; //on creer la liste de questions
    listReponse := TStringList.Create;  // on creer la liste de reponses
    listQuestion.LoadFromFile('C:\MonDossier\question.txt'); //on charge depuis le fichier  

    listReponse.LoadFromFile('C:\MonDossier\reponse.txt')    //on charge depuis le fichier 
    index := 0 ;
    label1.caption = listQuestion.strings[index] ;

- dans la fonction de ton bouton :

    if ( uppercase( Edit1.Text ) = uppercase( listReponse.strings[index] )) then
       ShowMessage('Bonne reponse')
    else
       ShowMessage('Mauvaise reponse ');

    index := index + 1 ;  //on passe a laquestion suivante
    label1.caption = listQuestion.strings[index] ; //on l'affiche
    Edit1.Text = '' ; /on efface la reponse précedante

- dans le OnDestroy de ta Form (je te laisse cherché comment le créer)

//on detruit ce qu'on a creer ( un Create implique un Free qqpart dans le code )
    listQuestion.Free;  //on detruit les listes
  listReponse.Free; 

Cet exemple ne montre evidemment pas la meilleurs manière de s'y prendre pour faire ce que tu veux faire, mais ca propose une solution simple a mettre en oeuvre, pas trop difficile a comprendre (je pense) et facilement améliorable, même avec peux de connaissance (tu peux par exemple créer des fonctions pour les trucs répétitifs, compté les bonnes reponses, etc...).

Cet methode a pas mal de defaut (par exmeple dans tes fichiers les question/reponses doivent parfaitement correspondre, sinon ca marche pas), mais je pense que ca te fera une premiere approche.
0
Sat83 Messages postés 166 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 13 octobre 2008
23 avril 2008 à 16:06
Ah oui, il va de soit que ce que je t'ai proposé n'est qu'une ebauche, tu va vite tombé sur des problèmes et exceptions (fichier non trouvé, indice de liste hors limite, etc...).

Le but c'est que tu prenne en compte ces problèmes quand tu tombera dessus, et tenté de les resoudres par toi même.

Et petit a petit tu améliorera ton application en ajoutant des tests et des protections evitant divers plantages possible.

Bon courage.
0
kopierreko Messages postés 139 Date d'inscription mercredi 12 mars 2008 Statut Membre Dernière intervention 10 juillet 2010
25 avril 2008 à 17:00
Bon, j'ai cherché longtemps ( qqs heures ) e je n'ai pas trouvé le moyen de bouclr tout ça !

Voici mon code ...

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Label1: TLabel;
    Button1: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }

  public
    { Public declarations }
  end;

var
  Form1: TForm1;
       listQuestion, listReponse : TStringList ;
        index : Integer;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
listQuestion := TStringList.Create; //on creer la liste de questions
    listReponse := TStringList.Create;  // on creer la liste de reponses
    listQuestion.LoadFromFile('C:\1-Pierre\9-Programmation\Delphi\Mr DETRE\questions\questions.txt'); //on charge depuis le fichier
    listReponse.LoadFromFile('C:\1-Pierre\9-Programmation\Delphi\Mr DETRE\questions\reponses.txt');    //on charge depuis le fichier
    index:=0;
    label1.caption := listQuestion.strings[index];
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
if ( uppercase( Edit1.Text ) = uppercase( listReponse.strings[index] )) then
       ShowMessage('Bonne reponse')
    else
       ShowMessage('Mauvaise reponse ');

    index:=index+1;  //on passe a laquestion suivante
    label1.caption := listQuestion.strings[index] ; //on l'affiche
    Edit1.Text := '' ; //on efface la reponse précedante

    //on detruit ce qu'on a creer ( un Create implique un Free qqpart dans le code )
  listQuestion.Free;  //on detruit les listes
  listReponse.Free;
end;

end.

Et je voudrais savoir aussi comment éviter que les textes mauvaise réponse et bonne réponse s'affiche dans un fenêtre appellée project1

Merci pour tout, grâce à vous, je comprend des tas de choses que je n'avais pas compris avant !!!
0
kopierreko Messages postés 139 Date d'inscription mercredi 12 mars 2008 Statut Membre Dernière intervention 10 juillet 2010
25 avril 2008 à 17:09
Bon je rectifie, j'ai trouvé ^^

Voici mon code:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Label1: TLabel;
    Button1: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }

  public
    { Public declarations }
  end;

var
  Form1: TForm1;
       listQuestion, listReponse : TStringList ;
        index : Integer;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
listQuestion := TStringList.Create; //on creer la liste de questions
    listReponse := TStringList.Create;  // on creer la liste de reponses
    listQuestion.LoadFromFile('C:\1-Pierre\9-Programmation\Delphi\Mr DETRE\questions\questions.txt'); //on charge depuis le fichier
    listReponse.LoadFromFile('C:\1-Pierre\9-Programmation\Delphi\Mr DETRE\questions\reponses.txt');    //on charge depuis le fichier
    index:=0;
    label1.caption := listQuestion.strings[index];
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
if ( uppercase( Edit1.Text ) = uppercase( listReponse.strings[index] )) then
       ShowMessage('Bonne reponse')
    else
       ShowMessage('Mauvaise reponse ');

    index:=index+1;  //on passe a laquestion suivante
    label1.caption := listQuestion.strings[index] ; //on l'affiche
    Edit1.Text := '' ; //on efface la reponse précedante
end;

end.

Je voudrais juste savoir comment afficher l'apréciation dans une fenêtre nommé apréciations
^^
Merci ^^
0
Sat83 Messages postés 166 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 13 octobre 2008
25 avril 2008 à 18:03
Pour choisir le titre de ton message d'appreciation tu peux utiliser :

Application.MessageBox('MESSAGE', 'TITRE MESSAGE', MB_OK);

sinon regarde du coté de MessageDlg dans l'aide .
0
Sat83 Messages postés 166 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 13 octobre 2008
25 avril 2008 à 18:18
Avec une icône en plus :

Application.MessageBox('blablablablablablablablablabla','TITRE DU MESSAGE',MB_ICONINFORMATION + MB_OK) ;

Et n'oublis pas de détruire les TStringList que tu a crées, c'est très important !

Dans l'inspecteur d'objet de ta Form1, tu va dans l'onglet Evenement, tu va dans OnDestroy et tu double clique, ca te creera une procedure:

procedure TForm1.FormDestroy(Sender: TObject);
begin
  listQuestion.Free;  //on detruit les listes
  listReponse.Free;
end;

Et on conseil lorsque tu developpe, pense a renommer tes composant en leurs donnant des noms significatifs (là avec 3 composant ça va, mais imagine un projet avec des centaine de composant). Par exemple LblQuestion, EdtReponse, BtnValid (ce n'est que des proposition, a toi de trouvé un nom qui te semble parlant pour tes composants.

Et pour la déclaration de tes variables, plutot que de les déclaré en variable globale (comme tu l'as fait), tu peux les déclaré en donnée membre de ta classe :

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Label1: TLabel;
    Button1: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
          listQuestion, listReponse : TStringList ;
          index : Integer;

  public
    { Public declarations }
  end;

Bon courage.
0
kopierreko Messages postés 139 Date d'inscription mercredi 12 mars 2008 Statut Membre Dernière intervention 10 juillet 2010
25 avril 2008 à 18:36
Merci beaucoups !!!

Encore deux choses:
j'aimerai afficher le nombre de points, donc j'ai fait:

var
pt: Integer;

puis

procedure TForm1.Button1Click(Sender: TObject);
begin
if ( uppercase( Edit1.Text ) = uppercase( listReponse.strings[index] )) then
Application.MessageBox('Bonne réponse', 'Apréciation', MB_OK)

    else
       Application.MessageBox('Mauvaise réponse', 'Apréciation', MB_OK);

if ( uppercase( Edit1.Text ) = uppercase( listReponse.strings[index] )) then
pt:=pt+1
else
pt:=pt;

    index:=index+1;  //on passe a laquestion suivante
    label1.caption := listQuestion.strings[index] ; //on l'affiche
    Edit1.Text := '' ; //on efface la reponse précedante

end;

et là je voulai les afficher dans un label et ça marche pas ><

Et encore une chose, quand il n'y a plus de questions, le prog fait erreur ... comment la contourner ( j'ai fait des tests mais en vain ... )

THX
0
kopierreko Messages postés 139 Date d'inscription mercredi 12 mars 2008 Statut Membre Dernière intervention 10 juillet 2010
25 avril 2008 à 18:54
Je t'admire ... Comment te remercier ...
0
kopierreko Messages postés 139 Date d'inscription mercredi 12 mars 2008 Statut Membre Dernière intervention 10 juillet 2010
25 avril 2008 à 19:12
Mais y a un pb, c'est que ça marche aps du tout ><
0
kopierreko Messages postés 139 Date d'inscription mercredi 12 mars 2008 Statut Membre Dernière intervention 10 juillet 2010
25 avril 2008 à 19:18
Si c'est bon j'ai corrigé ton script
Parfait merci infiniment !!
0
Sat83 Messages postés 166 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 13 octobre 2008
26 avril 2008 à 11:19
Si c'est bon j'ai corrigé ton script




Juste pour infos, qu'a tu corrigé dans mon code? parce que je l'ai tester et a prioris il n'y avait pas d'erreur?
0
kopierreko Messages postés 139 Date d'inscription mercredi 12 mars 2008 Statut Membre Dernière intervention 10 juillet 2010
3 mai 2008 à 11:04
Il ne voulait pas de tes variables ^^

Mais là c'est bon ça marche mais ça marche pas par ex si j'appuie sur la touche entrée pour envoyer la donnée ...
0
kopierreko Messages postés 139 Date d'inscription mercredi 12 mars 2008 Statut Membre Dernière intervention 10 juillet 2010
4 mai 2008 à 11:42
Quelqu'un sait comment faire ? j'ai chercher des trucs sur le net mais ça ne fonctionne aps ....
0
JulioDelphi Messages postés 2226 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 18 novembre 2010 14
4 mai 2008 à 12:39
dans le OnKeyPress de l'Edit en question tu peux faire un :

if Key=#32 then //#32 = entrée - #27=echap etc (cherche par google)
 begin
  ...
 end;

c'est ça que tu veux ?
0
kopierreko Messages postés 139 Date d'inscription mercredi 12 mars 2008 Statut Membre Dernière intervention 10 juillet 2010
4 mai 2008 à 20:22
C'est bien ça que je veux mais ça ne marche pas ><.
Mon code:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, MPlayer, StdCtrls, jpeg, ExtCtrls;

type
  TForm1 = class(TForm)
    EdtReponse: TEdit;
    LblQuestion: TLabel;
    BtnValid: TButton;
    BtnQuit: TButton;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Image1: TImage;
    procedure BtnValidClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure BtnQuitClick(Sender: TObject);
    procedure OnShow(Sender: TObject; var Key: Char);
  private
    { Private declarations }
      
  public
    { Public declarations }

  end;

  const

  myMp3Location : string ='templates\musique.mp3';

var
  media:TMediaPlayer;
  loop : Boolean {Global Variable};
  Form1: TForm1;
  listQuestion, listReponse : TStringList ;
       index : integer;
       cptBonneRep : integer ;
       fichier: textfile;
       Shift: TShiftState;
       Key: Word;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  listQuestion := TStringList.Create; //on creer la liste de questions
  listReponse := TStringList.Create;  // on creer la liste de reponses
  listQuestion.LoadFromFile('templates\chmnd.data');  //on charge depuis le fichier
  listReponse.LoadFromFile('templates\drxfm.data');    //on charge depuis le fichier
  index := 0;
  LblQuestion.caption := listQuestion.strings[index];
  cptBonneRep := 0 ;
end;

procedure TForm1.BtnValidClick(Sender: TObject);
var nbrQuestion   : integer ;
    messageTmp  : string ;
begin
    if ( uppercase( EdtReponse.Text ) = uppercase( listReponse.strings[index] )) then
    begin
       Application.MessageBox('FELICITATION, VOUS AVEZ LA BONNE REPONSE!','RESULTAT',MB_ICONINFORMATION + MB_OK) ;
       cptBonneRep := cptBonneRep + 1 ; // on compte les bonnes reponses
    end else
    begin
       messageTmp := 'DOMMAGE, VOUS N''AVEZ PAS LA BONNE REPONSE!'
                   + #10#13  //on saute une ligne
                   + 'La bonne reponse était : '
                   + listReponse.strings[index] ; //on construit le message

       Application.MessageBox(PChar(messageTmp),'RESULTAT SUR CETTE QUESTION',MB_ICONINFORMATION + MB_OK) ;

    end;

    index := index+1 ; //on passe a laquestion suivante

// recupere le nombre de question (<=> le nombre d'élement dans la liste)
    nbrQuestion := listQuestion.Count ;

    if index >= nbrQuestion then   // on verifie si il reste des questions
    begin
       messageTmp := 'Vous obtenez une note de : ' + IntToStr(cptBonneRep) + '/' + IntToStr(nbrQuestion) ;
       Application.MessageBox( PChar(messageTmp) ,'RESULTAT FINAL',MB_ICONINFORMATION + MB_OK) ;
       BtnValid.Enabled := false ; // on desactive le bouton car il n'y a plus de questions
    end else
    begin
       LblQuestion.caption := listQuestion.strings[index] ; //on l'affiche
       EdtReponse.Text := '' ; //on efface la reponse précedante
    end ;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  listQuestion.Free;  //on detruit les listes
  listReponse.Free;
end;

procedure TForm1.OnShow(Sender: TObject; var Key: Char);
  var nbrQuestion   : integer ;
    messageTmp  : string ;
begin
  media := TMediaPlayer.Create(form1);
  media := TMediaPlayer.CreateParented(form1.Handle);
  media.FileName := myMp3Location;
  media.Open;
  media.Play;
begin
 if Key=#32 then
 begin
    if ( uppercase( EdtReponse.Text ) = uppercase( listReponse.strings[index] )) then
    begin
       Application.MessageBox('FELICITATION, VOUS AVEZ LA BONNE REPONSE!','RESULTAT',MB_ICONINFORMATION + MB_OK) ;
       cptBonneRep := cptBonneRep + 1 ; // on compte les bonnes reponses
    end else
    begin
       messageTmp := 'DOMMAGE, VOUS N''AVEZ PAS LA BONNE REPONSE!'
                   + #10#13  //on saute une ligne
                   + 'La bonne reponse était : '
                   + listReponse.strings[index] ; //on construit le message

       Application.MessageBox(PChar(messageTmp),'RESULTAT SUR CETTE QUESTION',MB_ICONINFORMATION + MB_OK) ;

    end;

    index := index+1 ; //on passe a laquestion suivante

// recupere le nombre de question (<=> le nombre d'élement dans la liste)
    nbrQuestion := listQuestion.Count ;

    if index >= nbrQuestion then   // on verifie si il reste des questions
    begin
       messageTmp := 'Vous obtenez une note de : ' + IntToStr(cptBonneRep) + '/' + IntToStr(nbrQuestion) ;
       Application.MessageBox( PChar(messageTmp) ,'RESULTAT FINAL',MB_ICONINFORMATION + MB_OK) ;
       BtnValid.Enabled := false ; // on desactive le bouton car il n'y a plus de questions
    end else
    begin
       LblQuestion.caption := listQuestion.strings[index] ; //on l'affiche
       EdtReponse.Text := '' ; //on efface la reponse précedante
    end ;
end;
end;
end;

procedure TForm1.BtnQuitClick(Sender: TObject);
begin
media.Stop;
application.terminate;
end;

end.
0
JulioDelphi Messages postés 2226 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 18 novembre 2010 14
4 mai 2008 à 20:33
J'ai dit "dans le OnKeyPress de l'edit en question" et pas "dans le onshow de ta form" >_<'
0