[Delphi] [newbi] un ptit probleme

un ptit probleme [Delphi] [newbi] - Delphi/Pascal - Programmation

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

Reply

Marsh Posté le 04-06-2002 à 10:17:31   

Reply

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

Reply

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   [:zerod]

Reply

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

Reply

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    [:zerod]

Reply

Marsh Posté le 04-06-2002 à 10:40:37    

Form2.ShowModal; pour afficher Form2 de manière modale au lieu de faire Form2.Show


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

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    [:zerod]

Reply

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 :
  1. procedure TIndex.ButtonMotdepasseClick(Sender: TObject);
  2. begin
  3.   if mdp.ShowModal = mrOk then
  4.     ... on a cliqué sur ok ...
  5.   end;
  6. end;


 
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)


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

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    [:zerod]

Reply

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:)


Message édité par Pilou2001 le 06-04-2002 à 14:23:03
Reply

Marsh Posté le 04-06-2002 à 14:20:59   

Reply

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    [:zerod]

Reply

Sujets relatifs:

Leave a Replay

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