un ptit probleme [Delphi] [newbi] - Delphi/Pascal - Programmation
Marsh Posté le 04-06-2002 à 10:21:40
la technique c'est de rendre t'as fenetre modale.
pour mieu comprendre tu peu regarder les exmple fourni par delphi, y a une fenetre de saisie de mot de pass ds les modele de création
Marsh Posté le 04-06-2002 à 10:27:28
desole je comprend pas trop le coup du modal
en fait c ce truc qui me coince pour continuer
merfi
Marsh Posté le 04-06-2002 à 10:33:18
une fenetre modal est fenetre qui prend le focus et le bloque cad qu'elle empeche l'utilisateur de faire autre chose tant kel n'est pa fermer, cad exactement ce ke tu veu faire.
t'as trouver l'exemple ke je t'es proposer de regarder je suis kasiment sur kil montre tout cela tres bien
Marsh Posté le 04-06-2002 à 10:35:55
ouai j'ai trouvé mais c pas très explicite
mais je vais essayer de me débrouiller
merfi
Marsh Posté le 04-06-2002 à 10:40:37
Form2.ShowModal; pour afficher Form2 de manière modale au lieu de faire Form2.Show
Marsh Posté le 04-06-2002 à 11:19:50
en fait, desolé j'ai un peu de mal, voila ce ke j'ai fait et c ce que je veux à part que kan je clik sur OK la fenetre de demande de mot de passe ne me donne pas la main sur le reste de lapplication
unit menu;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, Buttons;
type
TIndex = class(TForm)
Image1: TImage;
ButtonNouveau: TButton;
ButtonOuvrir: TButton;
ButtonParam: TButton;
ButtonMotdepasse: TButton;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
procedure ButtonParamClick(Sender: TObject);
procedure ButtonNouveauClick(Sender: TObject);
procedure ButtonMotdepasseClick(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
private
{ Déclarations privées }
public
{ Déclarations publiques }
end;
var
Index: TIndex;
implementation
uses parametre, motdepasse, nouveau, identification;
{$R *.dfm}
procedure TIndex.ButtonParamClick(Sender: TObject);
begin
param.Visible:=true;
end;
procedure TIndex.ButtonNouveauClick(Sender: TObject);
begin
bdnouveau.visible:=true;
end;
procedure TIndex.ButtonMotdepasseClick(Sender: TObject);
begin
mdp.visible:=true;
end;
procedure TIndex.BitBtn1Click(Sender: TObject);
begin
close;
end;
end.
et la deuxième fenêtre (demande de mot de passe) :
unit identification;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons;
type
Tdemandemdp = class(TForm)
tidentifiant: TLabel;
tbidentifiant: TEdit;
tmdp: TLabel;
tbmdp: TEdit;
tveuillez: TLabel;
bidentvalid: TBitBtn;
Annuler: TBitBtn;
procedure AnnulerClick(Sender: TObject);
procedure bidentvalidClick(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Déclarations privées }
public
{ Déclarations publiques }
end;
var
demandemdp: Tdemandemdp;
implementation
uses menu;
{$R *.dfm}
procedure Tdemandemdp.AnnulerClick(Sender: TObject);
begin
close;
end;
procedure Tdemandemdp.bidentvalidClick(Sender: TObject);
begin
Index.Enabled:=true;
Index.Visible:=true;
end;
procedure Tdemandemdp.FormShow(Sender: TObject);
begin
index.Visible:=true;
index.Enabled:=false;
end;
end.
merfi bcp
Marsh Posté le 04-06-2002 à 11:32:01
vincegr a écrit a écrit : procedure TIndex.ButtonMotdepasseClick(Sender: TObject); begin mdp.visible:=true; end; |
tu mets
Code :
|
Dans l'événement du clic sur Ok tu mets ModalResult := mrOk;
Dans l'événement du clic sur Annuler tu mets ModalResult := mrCancel (ou tu mets simplement cette valeur dans la propriété ModalResult des boutons)
Marsh Posté le 04-06-2002 à 12:18:26
merfi fé fuper fimpa
je vai effayé de me débrouiller un peu tout seul maintenant mais je galérais tellement la dsu.
merfi
Marsh Posté le 04-06-2002 à 14:20:59
S'il te faut juste un mdp .. , pas besoin de creer un 2 eme formulaire ..
Fais ça avec inputquery dans le 1 er formulaire
var
a:string;
b:boolean;
begin
a:='le texte par default'
b:=InputQuery('le prompt','le titre de la fenetre',a);
if a<>'ton mot de passe' then tu ferme le programme;
VOila
Ps :c'est ma premiere reponse sur ce forum alors indulgent hein
Marsh Posté le 04-06-2002 à 15:22:03
merfi
c la derniere reponse ki ma amené au succès
encore kelkes trucs a pofiner mais le principe est le bon
merci bcp
Marsh Posté le 04-06-2002 à 10:17:31
salut,
je suis en stage dans une boîte d'info et je dois réaliser une application. Je ne connais pas du tout le pascal et j'ai un truc spécial a réaliser :
au lancement de l'application je veux avoir 2 fenêtre l'une sur l'autre
celle qui est au premier plan bloque celle qui est au second plan
en fait le premier plan est une demande de mot de passe qui, uniquement si il est bon, laisse accéder à la fenêtre d'arrière plan et disparait. J'ai réussi à faire différentes chose mais je n'arrive pas à réaliser ce que je viens de vous décrire.
Je sais que y a des supers balaises sur ce forum. Donc merfi aux bonnes âmes qui viennent au secours d'un pauvre newbi.
Merfi