Accueil > Forum > > > > Créer Questionnaire
Créer Questionnaire
mercredi 23 avril 2008 à 14:10:43 |
Créer Questionnaire

kopierreko
|
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 
|
|
mercredi 23 avril 2008 à 14:49:06 |
Re : Créer Questionnaire
|
mercredi 23 avril 2008 à 15:02:22 |
Re : Créer Questionnaire

kopierreko
|
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
|
|
mercredi 23 avril 2008 à 15:20:26 |
Re : Créer Questionnaire

Shai
|
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 ...
|
|
mercredi 23 avril 2008 à 15:52:13 |
Re : Créer Questionnaire

Sat83
|
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.
|
|
mercredi 23 avril 2008 à 16:06:33 |
Re : Créer Questionnaire

Sat83
|
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.
|
|
vendredi 25 avril 2008 à 17:00:33 |
Re : Créer Questionnaire

kopierreko
|
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 !!!
|
|
vendredi 25 avril 2008 à 17:09:10 |
Re : Créer Questionnaire

kopierreko
|
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 ^^
|
|
vendredi 25 avril 2008 à 18:03:03 |
Re : Créer Questionnaire

Sat83
|
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 .
|
|
vendredi 25 avril 2008 à 18:18:31 |
Re : Créer Questionnaire

Sat83
|
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.
|
|
Cette discussion est classée dans : créer, question, questionnaire
Répondre à ce message
Sujets en rapport avec ce message
Questionnaire BDD: Facile et Rapide... [ par Encore1ben ]
Salut à tous,Bon, voilà, je me pose plusieurs questions sur la base de donnée à choisir pour un futur projet perso. Alors plutôt que vous assomer de q
Comment créer un tableau de bits à 1 si dans une zone ? [ par cerber943 ]
Bonjour, Ce message est une sous-question de mon poste http://www.delphifr.com/infomsg_RECHERCHE-ALGORITHME-POUR-SCANNER-IMAGE-SUR-ZONE-DEFINIE_832659
Outlook Security Manager...supprimé???? [ par othland ]
slt tlm;il y a 10 jours de cela, j'ai posé une question sur le Outlook Security Manager, en disant si quelqu'un l'a déjà téléchargé, ou bien il a un l
créer un ActiveX [ par askil2000 ]
Bonjour, je travail avec delphi 7 version entreprise, et souhaiterais créer un ActiveX ou Contrôle ActiveX pour une application web simple (une fiche,
Threads et events [ par Danonne ]
Salut a tous.Après de nombreuses recherches sur divers sites et forums, je n'ai pas réussi à trouver une réponse (claire et précise) à ma question exi
question sur les composant "combobox "et "Maskedit" [ par MOUNI28 ]
Bonjour,1-comment déplacer le focus d'un combobox vers un autre?2-comment tester si le champs d'un "maskedit" est vide ou non ?(c.a.d quand j'oublie d
[débutant] Comment créer un setup ? [ par amel2006 ]
amel2006 bonjour j'ai réaliser un logiciel qui utilise une base de donnée paradox je veux le rendre instalable sur un
Connaitre la taille de l'écran [ par PHIL63 ]
Bonjour à tous,J'ai une petite question :Est-il possible de connaitre la taille de l'écran ( 15", 17" etc) et/ou son rapport 16/10 ou 4/3 avec des API
[Question de noob] Comment on declare une API en Delphi ? [ par ratala ]
Bonsoir :)Je programme depuis longtemps en VB et j'ai eu l'idée de passer au delphi.Quelqun pourrait me dire svp comment on declare une API ?Et autre
Merci de mettre un titre explicite à la question ! >:/ [ par cyber37 ]
bonjour es ce que c'est normale que quand j'ouvre la sources du programe chat server clien qui se trouve ici : http://diabloporc.free.fr/creations.php
Livres en rapport
|
Derniers Blogs
UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
SAVEDIALOGSAVEDIALOG par zeydounnounou
Cliquez pour lire la suite par zeydounnounou
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|