Form qui ne veut rien entendre

cavalier2400 Messages postés 120 Date d'inscription mardi 8 juillet 2008 Statut Membre Dernière intervention 1 décembre 2010 - 11 juil. 2008 à 16:23
cavalier2400 Messages postés 120 Date d'inscription mardi 8 juillet 2008 Statut Membre Dernière intervention 1 décembre 2010 - 16 juil. 2008 à 12:40
On voulant un mot de passe pour mon application, j'ai les fiches suivantes:
     Application.Initialize;
Application.ShowMainForm:= False;
      Application.HelpFile := 'C:\Gest_TP\TIERPAYANT.HLP';
     Application.CreateForm(Tmpasse1, mpasse1);
     Application.CreateForm(TFichePrincipale, FichePrincipale);
     Application.CreateForm(TDataModule4, DataModule4);
     Application.CreateForm(TfrmRechercher, frmRechercher);
    Application.CreateForm(Theritage, heritage);
    Application.Run;

dans la fiche mpasse1 sur le button ok

Var fichier : textfile; Registre: TRegistry;t,s:string; trouve:boolean;begin
   Registre:=TRegistry.Create;    Registre.RootKey:=HKEY_CURRENT_USER;    Registre.OpenKey('\software\'+'sablier',true);  s:=  Registre.ReadString (Edit1.Text) ;   Registre.Free; trouve := false;
if fois = 3 then application.Terminate ;
if ((edit2.Text = s) and (edit1.Text <> ''))  then trouve := true; fois:=fois+1;
if trouve then
   begin
   mpasse1.free
   Application.ShowMainForm:= true;
   ficheprincipale.show;

sur ficheprincipale (onCreate)
mpasse1: =tmpasse1.Create(ficheprincipale);
mpasse1.free

Et là mon application démarre, avec 1er plan, et en second plan la fiche du mot de passe, qui ne veut   accepter aucune commande de la fiche principale, et en second plan la fiche du mot de passe, qui répond à toutes les commandes directe.
En bref, je ne sais pas réaliser (Une première page qui se charge, ---> donne naissance à une autre fiche et... mourir) Je vous remerci si une personne pourra m'aider, ou m'orienter . J'ai saisi en caractère enrichi les parties intéressantes de mon problème. Merci

 

12 réponses

cavalier2400 Messages postés 120 Date d'inscription mardi 8 juillet 2008 Statut Membre Dernière intervention 1 décembre 2010 1
11 juil. 2008 à 21:40
Bonsoir tous le monde, bref... je suis si navré et je m'excuse pour mon impolitesse, c'est vrai je débarque, je ne connais les U ni les coutumes du site... Mais au faite un petit pouce pour réussir le lancement de ma fichePrincipal marci.(PS- Je joue aux échecs sur Yahoo, et voilà on va directement au but).
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
11 juil. 2008 à 23:07
belle réaction, la meilleur défense, c'est..
çà me rappelle des souvenirs, où je passais les nuits à travailler les ouvertures..
Bref, ah oui ta forme..
ben écoutes, on y comprend rien dans ton fourbi, le mieux est de fournir le code
sans les commentaires.
on y verra plus clair..

cantador
0
cavalier2400 Messages postés 120 Date d'inscription mardi 8 juillet 2008 Statut Membre Dernière intervention 1 décembre 2010 1
11 juil. 2008 à 23:24
Bsr, C'est surement élémentaire mon cher Watson, (réussir convenablement le mot de passe dans tricherie du genre hide...),
1. la form motdepasse est lancé, (mais Delphi veut qu'elle soit une mainform
2. Si le mot de passe est correcte la Vrai fiche principale avec le menu principale apparait,
3. La fiche motdepasse s'éclipse, et l'application ferme sans problème

Obs: J'arrive pas à faire disparaître la fiche motdepasse.

Voilà les 2 fiches à problèmes

unit Unit13;  // fiche motdepasse


interface


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


type
  Tmpasse1 = class(TForm)
    Edit1: TEdit;
    Bevel1: TBevel;
    Edit2: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    SpeedButton1: TSpeedButton;
    SpeedButton2: TSpeedButton;
    procedure Edit2KeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure SpeedButton1Click(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
  private
    { Déclarations privées }
  public
    { Déclarations publiques }
  end;


var
  mpasse1: Tmpasse1;
  fois : integer;
implementation


uses Unit1Principale;


//uses Unit_Principal;


{$R *.dfm}


procedure Tmpasse1.Edit2KeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if key = vk_return then speedbutton2.Click ;
end;


procedure Tmpasse1.SpeedButton1Click(Sender: TObject);
begin
Application.Terminate ;
end;


procedure Tmpasse1.SpeedButton2Click(Sender: TObject);
Var fichier : textfile;
 Registre: TRegistry;
t,s:string; trouve:boolean;
begin


  Registre:=TRegistry.Create;
   Registre.RootKey:=HKEY_CURRENT_USER;
   Registre.OpenKey('\software\'+'sablier',true);
   s:=  Registre.ReadString (Edit1.Text) ;




  {
   if s='' then
    begin
      Registre.writestring('youcef' ,'docteur') ;
   Registre.Free;
  Application.Terminate ;
   end;
   }
   Registre.Free;
trouve := false;
if fois = 3 then application.Terminate ;
if ((edit2.Text = s) and (edit1.Text <> ''))  then trouve := true; fois:=fois+1;
if trouve then
   begin
   mpasse1.Visible :=false;
   Application.ShowMainForm:= true;
  ficheprincipale.show;
 




   end
   else
   begin
   Showmessage('Votre mot de passe ou votre nom utilisateur est faux '+ #13+ 'Essai : 0'+ Inttostr(fois));
   Edit1.Clear ; Edit2.Clear ;edit1.SetFocus ;
    mpasse1.Hide;
   If fois = 3 then application.Terminate ;
   end;


 mpasse1.Hide;


end;


end.

fiche principal (code)
unit Unit1Principale;


interface


uses
  strutils,registry,Windows, Messages,shellapi, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, Menus, jpeg, ExtCtrls, TeeProcs, TeEngine,
  Chart, DB, DBTables, Grids, Outline, DirOutln, ComCtrls, ShellCtrls,
  FileCtrl, RoundBtn, MPlayer, ToolWin, ImgList, CoolTrayIcon;


type
  TFichePrincipale = class(TForm)
    MainMenu1: TMainMenu;
    Gestion1: TMenuItem;
    ALD1: TMenuItem;
    Recherche1: TMenuItem;
    Rechercher1: TMenuItem;
    Explorer1: TMenuItem;
    Statistiques1: TMenuItem;
    Misejour1: TMenuItem;
    Sauvegardeetexportation1: TMenuItem;
    Aide1: TMenuItem;
    Help1: TMenuItem;
    Statistiques2: TMenuItem;
    N1: TMenuItem;
    Fermer1: TMenuItem;
    OpenDialog1: TOpenDialog;
    SaveDialog1: TSaveDialog;
    Table1: TTable;
    Copiedesauvegarde1: TMenuItem;
    Exportations1: TMenuItem;
    Explorateurwindows1: TMenuItem;
    Explorateurwindows2: TMenuItem;
    Economiseurdcran1: TMenuItem;
    N2: TMenuItem;
    Modifiermotdepasse1: TMenuItem;
    Ajouterunutilisateur1: TMenuItem;
    Help2: TMenuItem;
    Recherchedelaide1: TMenuItem;
    Fichierdaide1: TMenuItem;
    Indexaide1: TMenuItem;
    N3: TMenuItem;
    Aideaveclesage1: TMenuItem;
    Timer1: TTimer;
    Panel1: TPanel;
    Panel2: TPanel;
    Chart1: TChart;
    Image1: TImage;
    Image11: TImage;
    Image3: TImage;
    Image7: TImage;
    Image12: TImage;
    Image10: TImage;
    Image2: TImage;
    Image9: TImage;
    Image5: TImage;
    Image6: TImage;
    Pharmacie1: TMenuItem;
    Commune1: TMenuItem;
    ComptesPharmacies1: TMenuItem;
    SaveDialog2: TSaveDialog;
    Chart2: TChart;
    Panel3: TPanel;
    Chart3: TChart;
    FileListBox1: TFileListBox;
    DirectoryListBox1: TDirectoryListBox;
    DriveComboBox1: TDriveComboBox;
    ShellComboBox1: TShellComboBox;
    Button3: TButton;
    Button2: TButton;
    Button1: TButton;
    Button5: TButton;
    Button6: TButton;
    Button7: TButton;
    DigitsPan: TPanel;
    DigitsLab: TLabel;
    PopupMenu1: TPopupMenu;
    Envoyervers1: TMenuItem;
    Annuler1: TMenuItem;
    N4: TMenuItem;
    Sauvegardersous1: TMenuItem;
    RoundButton1: TRoundButton;
    ProgressBar1: TProgressBar;
    MediaPlayer1: TMediaPlayer;
    Panel4: TPanel;
    Image4: TImage;
    Image8: TImage;
    Apropos1: TMenuItem;
    N5: TMenuItem;
    Emplacementdelabasededonne1: TMenuItem;
    Image13: TImage;
    PageScroller1: TPageScroller;
    ToolBar1: TToolBar;
    ToolButton1: TToolButton;
    ToolButton2: TToolButton;
    ToolButton3: TToolButton;
    ToolButton4: TToolButton;
    ToolButton5: TToolButton;
    ToolButton6: TToolButton;
    ToolButton7: TToolButton;
    ToolButton10: TToolButton;
    ToolButton8: TToolButton;
    ToolButton9: TToolButton;
    ToolButton11: TToolButton;
    ToolButton12: TToolButton;
    ToolButton13: TToolButton;
    ToolButton14: TToolButton;
    ToolButton15: TToolButton;
    ToolButton16: TToolButton;
    ToolButton17: TToolButton;
    ImageList2: TImageList;
    MonthCalendar1: TMonthCalendar;
    CoolTrayIcon1: TCoolTrayIcon;
    PopupMenu2: TPopupMenu;
    Minimiserlapplication1: TMenuItem;
    Afficherlapplication1: TMenuItem;
    N6: TMenuItem;
    Fermerlapplication1: TMenuItem;
    Supprimerunutilisateur1: TMenuItem;
    procedure Rechercher1Click(Sender: TObject);
    procedure Statistiques2Click(Sender: TObject);
    procedure Fermer1Click(Sender: TObject);
    procedure Copiedesauvegarde1Click(Sender: TObject);
    procedure Exportations1Click(Sender: TObject);
    procedure ShellComboBox1Click(Sender: TObject);
    procedure Explorateurwindows1Click(Sender: TObject);
    procedure Explorer1Click(Sender: TObject);
    procedure Economiseurdcran1Click(Sender: TObject);
    procedure Explorateurwindows2Click(Sender: TObject);
    procedure Modifiermotdepasse1Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Ajouterunutilisateur1Click(Sender: TObject);
    procedure Help2Click(Sender: TObject);
    procedure Aideaveclesage1Click(Sender: TObject);
    procedure Fichierdaide1Click(Sender: TObject);
    procedure Recherchedelaide1Click(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure Button7Click(Sender: TObject);
    procedure Pharmacie1Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure ALD1Click(Sender: TObject);
    procedure Commune1Click(Sender: TObject);
    procedure ComptesPharmacies1Click(Sender: TObject);
    procedure DriveComboBox1Change(Sender: TObject);
    procedure DirectoryListBox1Change(Sender: TObject);
    procedure FileListBox1Change(Sender: TObject);
    procedure FileListBox1Click(Sender: TObject);
    procedure RoundButton1Click(Sender: TObject);
    procedure Envoyervers1Click(Sender: TObject);
    procedure Aide1Click(Sender: TObject);
    procedure MediaPlayer1Click(Sender: TObject; Button: TMPBtnType;
      var DoDefault: Boolean);
    procedure Image4Click(Sender: TObject);
    procedure Image8Click(Sender: TObject);
   // procedure Misejour1Click(Sender: TObject);
    procedure Apropos1Click(Sender: TObject);
    procedure Emplacementdelabasededonne1Click(Sender: TObject);
    procedure ToolButton16Click(Sender: TObject);
    procedure ToolButton17Click(Sender: TObject);
    procedure ToolButton14Click(Sender: TObject);
    procedure Minimiserlapplication1Click(Sender: TObject);
    procedure Afficherlapplication1Click(Sender: TObject);
    procedure Fermerlapplication1Click(Sender: TObject);
    procedure CoolTrayIcon1DblClick(Sender: TObject);
    procedure Supprimerunutilisateur1Click(Sender: TObject);
    procedure ToolButton13Click(Sender: TObject);
    procedure ToolButton8Click(Sender: TObject);
    procedure ToolButton1Click(Sender: TObject);
    procedure ToolButton9Click(Sender: TObject);
    procedure ToolButton7Click(Sender: TObject);
    procedure ToolButton3Click(Sender: TObject);
    procedure ToolButton4Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);


 


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


var
  FichePrincipale: TFichePrincipale;
   transit, envoi,par,vers,vdsn,nomf :string;
   t:boolean;
implementation


uses Unit1, cotisants, Unit2, Unit3, Unit5, Unit6, Unit7, Unit8, Unit9,
  Unit12, Unit13, Unit14, Unit16, Unit17, Unit66, Unit18, Unit188, Unit19,
  testu, Unit_dsn, LOGOMAIN;


{$R *.dfm}


procedure TFichePrincipale.Rechercher1Click(Sender: TObject);
begin
frmrechercher.show;
end;


procedure TFichePrincipale.Statistiques2Click(Sender: TObject);
begin
Application.CreateForm(tstatistiques, statistiques);
statistiques.show;
end;


procedure TFichePrincipale.Fermer1Click(Sender: TObject);
begin
cooltrayicon1.Destroy;
Application.Terminate ;
end;


procedure TFichePrincipale.Copiedesauvegarde1Click(Sender: TObject);
var x : pansichar;
begin
x:='c:\savedunit1.pas';
     {
  savedialog1.FileName := table1.fieldbyname('emplacementMDB').AsString ;


copyfile('Cmedical.mdb','SavedCmedical.mdb',true);
showmessage('Une copy de la base Cmedical est faite sous le nom de: ' + #13+ 'SavedCmedical');


}


savedialog1.FileName :='c:\gest_tp\unit1.pas';
savedialog1.Execute ;
copyfile('unit1.pas',x,true);
end;


procedure TFichePrincipale.Exportations1Click(Sender: TObject);
begin
opendialog1.Execute ;
showmessage( opendialog1.FileName  );


end;


procedure TFichePrincipale.ShellComboBox1Click(Sender: TObject);


var x:pansichar;
begin
par:=  shellcombobox1.Path;
progressbar1.Position :=0;




{
if messagedlg('Enregistrer', mtInformation,[mbyes, mbno ],0)= mryes
then savedialog2.FileName :='c:\gest_tp\unit1.pas';
savedialog2.Execute ;
copyfile('unit1.pas',x,true)
}
panel3.Visible := true;
end;


procedure TFichePrincipale.Explorateurwindows1Click(Sender: TObject);
begin
ShellExecute(0, nil,'explorer'  , nil,nil, sw_Normal);
end;


procedure TFichePrincipale.Explorer1Click(Sender: TObject);
begin
application.CreateForm(texplorateur, explorateur);
explorateur.show;
end;


procedure TFichePrincipale.Economiseurdcran1Click(Sender: TObject);
begin
 //SendMessage(Application.Handle, WM_SYSCOMMAND, SC_MONITORPOWER, 1);//économiseur d'écran
  PostMessage(GetDesktopWindow, WM_SYSCOMMAND, SC_SCREENSAVE, 0) ;


 end;


procedure TFichePrincipale.Explorateurwindows2Click(Sender: TObject);
begin
  ShellExecute(0, nil,'explorer'  , nil,nil, sw_Normal);
end;


procedure TFichePrincipale.Modifiermotdepasse1Click(Sender: TObject);
begin
application.CreateForm(tmdpasse,mdpasse);
mdpasse.show;
end;


procedure TFichePrincipale.Button3Click(Sender: TObject);
Var fichier : textfile;
 Registre: TRegistry;
t,s:string; trouve:boolean;
begin
livret.show;
 SetWindowPos(livret.Handle, 0, 0, 0,
 Panel2.ClientWidth, Panel2.ClientHeight, SWP_NOACTIVATE);
end;


procedure TFichePrincipale.Ajouterunutilisateur1Click(Sender: TObject);


Var fichier : textfile;
 Registre: TRegistry;
t,s,n,p:string; trouve:boolean;
begin
    Showmessage('Signaler l''opération à l''administrateur');
  Registre:=TRegistry.Create;
   Registre.RootKey:=HKEY_CURRENT_USER;
   Registre.OpenKey('\software\'+'sablier',true);
   n:=inputbox('Ajout utilisateur','Pseudo utilisateur','xxxxxx');
   p:=inputbox('Ajout utilisateur','mot de passe utilisateur','xxxxxx');
 //  s:=  Registre.ReadString (Edit1.Text) ;
    Registre.writestring(n ,p) ;
   Registre.Free;
   showmessage('Noter votre Nom utilisateur et le mot de passe: ' +#13+ n +' '+p);


end;


procedure TFichePrincipale.Help2Click(Sender: TObject);
begin
Application.HelpJump('cotisant');
end;


procedure TFichePrincipale.Aideaveclesage1Click(Sender: TObject);
begin
{
Agent1.Connected:=True;
Agent1.Characters.Load('Merlin','Merlin.acs'); //Charge l'agent
Merlin:=Agent1.Characters.Character('Merlin'); //Associe la variable à l'agent
Merlin.Show(0); //Affiche l'agent
Merlin.MoveTo( 300,400,20);
Merlin.Play('DoMagic1');
 //Merlin.Play('Congratulate'); //Anime l'agent, "Congratulate" est le type de l'animation
//Merlin.Play('DoMagic1');
//Merlin.MoveTo(500,0,1000);
}
end;


procedure TFichePrincipale.Fichierdaide1Click(Sender: TObject);
begin
ShellExecute(0, nil,'tierpayant.hlp'  , nil,nil, sw_maximize);
end;


procedure TFichePrincipale.Recherchedelaide1Click(Sender: TObject);
begin
Application.HelpContext(0);
end;


procedure TFichePrincipale.FormActivate(Sender: TObject);
begin
mpasse1.Visible :=false;
    DigitsPan.Color := clBlack;
  DigitsPan.DoubleBuffered := True;
   AddFontResource('sub0lcd.ttf');
  DigitsLab.Font.Name := 'sublcd';
  DigitsLab.Font.Size := 16;
  // GroundLab.Font := DigitsLab.Font;
   //GroundLab.Caption := '88:88:88';
  DigitsLab.Font.Color := $00743C00;//clBlack;//$FFEBBF;
  Application.ProcessMessages;
  //Sleep(10);
  // RemoveFontResource('sub0lcd.ttf');
  image13.Picture.LoadFromFile('c:\gest_tp\images\flag.gif');


 
end;


procedure TFichePrincipale.Timer1Timer(Sender: TObject);
begin
DigitsLab.Caption := FormatDateTime('hh mm ss', Now)
end;


procedure TFichePrincipale.Button1Click(Sender: TObject);
begin
 cotisant.show;
 SetWindowPos(cotisant.Handle, 0, 0, 0,
 Panel2.ClientWidth, Panel2.ClientHeight, SWP_NOACTIVATE);
end;


procedure TFichePrincipale.FormCreate(Sender: TObject);
begin
mpasse1:=tmpasse1.Create(ficheprincipale);
mpasse1.Visible :=false;
             pharmacie6 := Tpharmacie6.Create(ficheprincipale);
  Windows.SetParent(pharmacie6.Handle, Panel2.Handle);


         pharmacie17 := Tpharmacie17.Create(ficheprincipale);
  Windows.SetParent(pharmacie17.Handle, Panel2.Handle);


     pharmacie18 := Tpharmacie18.Create(ficheprincipale);
  Windows.SetParent(pharmacie18.Handle, Panel2.Handle);


     pharmacie19 := Tpharmacie19.Create(ficheprincipale);
  Windows.SetParent(pharmacie19.Handle, Panel2.Handle);




    cotisant := Tcotisant.Create(ficheprincipale);
  Windows.SetParent(cotisant.Handle, Panel2.Handle);


 


 




     livret := Tlivret.Create(ficheprincipale);
 Windows.SetParent(livret.Handle, Panel2.Handle);




      frmayantdroit := Tfrmayantdroit.Create(ficheprincipale);
  Windows.SetParent(frmayantdroit.Handle, Panel2.Handle);


 


      casnos := Tcasnos.Create(ficheprincipale);
  Windows.SetParent(casnos.Handle, Panel2.Handle);


      medicaments := Tmedicaments.Create(ficheprincipale);
  Windows.SetParent(medicaments.Handle, Panel2.Handle);
end;


procedure TFichePrincipale.Button2Click(Sender: TObject);
begin
frmayantdroit.show;
 SetWindowPos(frmayantdroit.Handle, 0, 0, 0,
 Panel2.ClientWidth, Panel2.ClientHeight, SWP_NOACTIVATE);
end;


procedure TFichePrincipale.Button5Click(Sender: TObject);
begin
casnos.show;
 SetWindowPos(casnos.Handle, 0, 0, 0,
 Panel2.ClientWidth, Panel2.ClientHeight, SWP_NOACTIVATE);
end;


procedure TFichePrincipale.Button6Click(Sender: TObject);
begin
medicaments.show;
 SetWindowPos(medicaments.Handle, 0, 0, 0,
 Panel2.ClientWidth, Panel2.ClientHeight, SWP_NOACTIVATE);
end;


procedure TFichePrincipale.Button7Click(Sender: TObject);
begin
Application.Terminate;
end;


procedure TFichePrincipale.Pharmacie1Click(Sender: TObject);
begin
 pharmacie17.show;
 SetWindowPos(pharmacie17.Handle, 0, 0, 0,
 Panel2.ClientWidth, Panel2.ClientHeight, SWP_NOACTIVATE);
end;


procedure TFichePrincipale.FormShow(Sender: TObject);
begin
mpasse1.Close ;
end;


procedure TFichePrincipale.ALD1Click(Sender: TObject);
begin
 pharmacie6.show;
 SetWindowPos(pharmacie6.Handle, 0, 0, 0,
 Panel2.ClientWidth, Panel2.ClientHeight, SWP_NOACTIVATE);
end;


procedure TFichePrincipale.Commune1Click(Sender: TObject);
begin


 




pharmacie18.show;
 SetWindowPos(pharmacie18.Handle, 0, 0, 0,
 Panel2.ClientWidth, Panel2.ClientHeight, SWP_NOACTIVATE);
end;


procedure TFichePrincipale.ComptesPharmacies1Click(Sender: TObject);
begin
pharmacie19.show;
 SetWindowPos(pharmacie19.Handle, 0, 0, 0,
 Panel2.ClientWidth, Panel2.ClientHeight, SWP_NOACTIVATE);
end;


procedure TFichePrincipale.DriveComboBox1Change(Sender: TObject);
begin
DirectoryListBox1.Drive :=DriveComboBox1.Drive;
FileListBox1.Drive :=DriveComboBox1.Drive;
FileListBox1.Directory :=DirectoryListBox1.Directory;
end;


procedure TFichePrincipale.DirectoryListBox1Change(Sender: TObject);
begin
//directorylistbox1.Drive :=


DirectoryListBox1.Drive :=DriveComboBox1.Drive;
FileListBox1.Drive :=DriveComboBox1.Drive;
FileListBox1.Directory :=DirectoryListBox1.Directory;
end;


procedure TFichePrincipale.FileListBox1Change(Sender: TObject);
begin
  DirectoryListBox1.Drive :=DriveComboBox1.Drive;
FileListBox1.Drive :=DriveComboBox1.Drive;
FileListBox1.Directory :=DirectoryListBox1.Directory;
end;


procedure TFichePrincipale.FileListBox1Click(Sender: TObject);
begin
//showmessage(filelistbox1.FileName);
vers:= filelistbox1.FileName;
end;


procedure TFichePrincipale.RoundButton1Click(Sender: TObject);
begin
panel3.Visible := false;


end;




// Fonction "CallBack" appelée par CopyFileEx pour signaler l'avancement de la copie
function CopyCallBack(
  TotalFileSize: LARGE_INTEGER;          // Taille totale du fichier en octets
  TotalBytesTransferred: LARGE_INTEGER;  // Nombre d'octets déjàs transférés
  StreamSize: LARGE_INTEGER;             // Taille totale du flux en cours
  StreamBytesTransferred: LARGE_INTEGER; // Nombre d'octets déjà tranférés dans ce flus
  dwStreamNumber: DWord;                 // Numéro de flux actuem
  dwCallbackReason: DWord;               // Raison de l'appel de cette fonction
  hSourceFile: THandle;                  // handle du fichier source
  hDestinationFile: THandle;             // handle du fichier destination
  ProgressBar : TProgressBar             // paramètre passé à la fonction qui est une
                                         // recopie du paramètre passé à CopyFile Ex
                                         // Il sert à passer l'adresse du progress bar à
                                         // mettre à jour pour la copie. C'est une
                                         // excellente idée de DelphiProg
  ): DWord; far; stdcall;
var
  EnCours: Int64;
begin
  // Calcul de la position du progresbar en pourcent, le calcul doit être effectué dans
  // une variable intermédiaire de type Int64. Pour éviter les débordement de calcul
  // dans la propriété Position de type integer.
  EnCours := TotalBytesTransferred.QuadPart * 100 div TotalFileSize.QuadPart;
  If ProgressBar<>Nil Then ProgressBar.Position := EnCours;
  // La fonction doit définir si la copie peut être continuée.
  Result := PROGRESS_CONTINUE;
  if encours = 100    then showmessage('copie terminée');


end;


procedure TFichePrincipale.Envoyervers1Click(Sender: TObject);




//showmessage(par);
//copyfile(pchar(filelistbox1.FileName),'par',true)


 


var Retour: LongBool;


begin
nomf:=Inputbox('Nom du fichier destination','Nom et extension','');
   


if nomf='' then  par:= par + rightstr(vers,length(vers)-3) else   par:= par+nomf;


  if (par '') or (vers '') or (par = vers) then
    Exit;
  if FileExists(par) and
    (MessageDlg('Le fichier de destination existe, voulez-vous le remplacer ?',
    mtconfirmation, [mbYes, mbNo], 0) <> mrYes) then
    Exit;
  Retour := False;
  if not CopyFileEx(
    PChar(vers),     // Nom du fichier d'origine
    PChar(par),     // Nom du fichier de destination
    @CopyCallBack,         // Adresse de la fonction appelée durant la copie
    ProgressBar1,          // Paramètre auxiliaire qui sert ici à définir le progress bar
                           // à mettre à jour [DelphiProg]
    @Retour,               // adresse d'une variable booléène que la fonction teste
                           // en permanence pour éventuellement stopper la copie
    COPY_FILE_RESTARTABLE) // Si la copie est stoppée, un nouvel appel avec les mêmes
                           // paramètres permet de la continuer
    then ShowMessage(SysErrorMessage(GetLastError));
end;




procedure TFichePrincipale.Aide1Click(Sender: TObject);
begin
Application.CreateForm(tapropos, apropos);
apropos.show;
end;


procedure TFichePrincipale.MediaPlayer1Click(Sender: TObject;
  Button: TMPBtnType; var DoDefault: Boolean);
begin
panel4.Visible := true;
end;


procedure TFichePrincipale.Image4Click(Sender: TObject);
begin
image8.OnClick(sender);
panel4.Visible :=true;
 mediaplayer1.play ;
end;


procedure TFichePrincipale.Image8Click(Sender: TObject);
begin
panel4.Visible :=false;
monthcalendar1.Visible := false;
 mediaplayer1.stop ;
end;


procedure TFichePrincipale.Apropos1Click(Sender: TObject);
begin
Application.CreateForm(tapropos, apropos);
apropos.show;
end;


procedure TFichePrincipale.Emplacementdelabasededonne1Click(
  Sender: TObject);
begin
Application.CreateForm(tdsn, dsn);
dsn.show;
end;


procedure TFichePrincipale.ToolButton16Click(Sender: TObject);
begin
if t then
begin
panel4.Visible := true;
monthcalendar1.Visible := true;
monthcalendar1.BringToFront ;
end
else
begin
    panel4.Visible :=false;
monthcalendar1.Visible := false;
 mediaplayer1.stop ;
end;


 
t:= not t;


 




end;


procedure TFichePrincipale.ToolButton17Click(Sender: TObject);
begin
 frmrechercher.show;
end;


procedure TFichePrincipale.ToolButton14Click(Sender: TObject);
begin
application.CreateForm(texplorateur, explorateur);
explorateur.show;
end;


procedure TFichePrincipale.Minimiserlapplication1Click(Sender: TObject);
begin
cooltrayicon1.HideMainForm ;
end;


procedure TFichePrincipale.Afficherlapplication1Click(Sender: TObject);
begin
cooltrayicon1.ShowMainForm ;
end;


procedure TFichePrincipale.Fermerlapplication1Click(Sender: TObject);
begin
cooltrayicon1.Destroy;
Application.Terminate ;
end;


procedure TFichePrincipale.CoolTrayIcon1DblClick(Sender: TObject);
begin
if t then cooltrayicon1.ShowMainForm  else cooltrayicon1.HideMainForm ;
t:= not t;
end;


procedure TFichePrincipale.Supprimerunutilisateur1Click(Sender: TObject);
Var fichier : textfile;
 Registre: TRegistry;
t,s,n,p:string; trouve:boolean;
begin
    Showmessage('Signaler l''opération à l''administrateur');
  Registre:=TRegistry.Create;
   Registre.RootKey:=HKEY_CURRENT_USER;
   Registre.OpenKey('\software\'+'sablier',true);
   n:=inputbox('Ajout utilisateur','Pseudo utilisateur','xxxxxx');
   p:=inputbox('Ajout utilisateur','mot de passe utilisateur','xxxxxx');
 //  s:=  Registre.ReadString (Edit1.Text) ;
    Registre.DeleteValue(n) ;
   Registre.Free;
   showmessage('L'' utilisateur: ' +#13+ n +' '+p+#13+'n''est plus valide');


end;


procedure TFichePrincipale.ToolButton13Click(Sender: TObject);
begin
Application.CreateForm(tlogoappform,logoappform);
logoappform.show;
end;


procedure TFichePrincipale.ToolButton8Click(Sender: TObject);
begin
ShellExecute(Handle,nil,'winchat',nil,'winchat',SW_SHOW);
end;


procedure TFichePrincipale.ToolButton1Click(Sender: TObject);
begin
 pharmacie17.show;
 SetWindowPos(pharmacie17.Handle, 0, 0, 0,
 Panel2.ClientWidth, Panel2.ClientHeight, SWP_NOACTIVATE);
end;


procedure TFichePrincipale.ToolButton9Click(Sender: TObject);
begin
Application.CreateForm(tstatistiques, statistiques);
statistiques.show;
end;


procedure TFichePrincipale.ToolButton7Click(Sender: TObject);
begin
application.CreateForm(tmdpasse,mdpasse);
mdpasse.show;
end;


procedure TFichePrincipale.ToolButton3Click(Sender: TObject);
begin
ShellExecute(0, nil,'mstsc.exe'  , nil,nil, sw_maximize);
end;


procedure TFichePrincipale.ToolButton4Click(Sender: TObject);
begin
Application.CreateForm(tdsn, dsn);
dsn.show;
end;


procedure TFichePrincipale.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
 application.Terminate ;
end;


end.procedure TFichePrincipale.Misejour1Click(Sender: TObject);
begin


end;










 
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
11 juil. 2008 à 23:33
j'ai déjà réglé un souci de ce genre dans une ancienne appli...
Je cherche dans mon bazar..............................................................................
.........................................................................................
..............................................................
................................................

cantador
0

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

Posez votre question
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
11 juil. 2008 à 23:43
ben, c'est pas bien compliqué :


il suffit de déclarer la forme qui recoit le mot de passe en fiche principale

et..


unit PasswordDlg;


interface


uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls,
  Buttons;


type
  TFPasswordDlg = class(TForm)
    Label1: TLabel;
    Password: TEdit;
    OKBtn: TButton;
    CancelBtn: TButton;
    procedure OKBtnClick(Sender: TObject);
    procedure CancelBtnClick(Sender: TObject);
  private
    { déclarations privées }
  public
    { déclarations publiques }
  end;


var
  FPasswordDlg: TFPasswordDlg;


implementation


uses Main;


{$R *.dfm}


procedure TFPasswordDlg.OKBtnClick(Sender: TObject);
begin
  if Password.Text <> 'MotDePasse' then exit;
  FMain.Show;
  FPasswordDlg.Hide;
end;


procedure TFPasswordDlg.CancelBtnClick(Sender: TObject);
begin
  Close;
end;


end.


cantador
0
cavalier2400 Messages postés 120 Date d'inscription mardi 8 juillet 2008 Statut Membre Dernière intervention 1 décembre 2010 1
11 juil. 2008 à 23:54
BSR, Je te remerci


Là, je tombe sur plusieurs problèmes


1. Si je dois fermer l'application je dois passer par (un bouton avec Application.terminate) , tandis que onclose, il ya pas de basic actions
2. Le x de la fenetre fermer génère à certain moment des erreurs,
3. Mon TrayIcon, est hors jeux (Puisque son activité est liée avec la fiche principale),
4. Et j'ai aussi un Timer relié à la fiche pricipal (un souci de plus).
0
cavalier2400 Messages postés 120 Date d'inscription mardi 8 juillet 2008 Statut Membre Dernière intervention 1 décembre 2010 1
12 juil. 2008 à 00:18
Bsr, J'ai trouvé la solution, basé sur une véritable simulation (extraordinaire), grace à l'astuce de Application.processMessage (do events) jusqu'à l'apparition de la fiche principale. Réponse sur ce même site , "loggin avec utilisateur mot de passe". PS (La fiche Motdepasse n'est pas la fiche principal).
0
cavalier2400 Messages postés 120 Date d'inscription mardi 8 juillet 2008 Statut Membre Dernière intervention 1 décembre 2010 1
12 juil. 2008 à 11:55
BSR, J'ai encore trouvé une autre solution proposé par Abdousoft (Email: [mailto:djezarsoft@yahoo.fr djezarsoft@yahoo.fr], Mais celle là est vraiment cool, et répond à toutes les exigences, et d'une esthétique!!! j'en dis pas plus.thx (Abdul)
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
12 juil. 2008 à 14:11
1. la form motdepasse est lancé, (mais Delphi veut qu'elle soit une mainform
2. Si le mot de passe est correcte la Vrai fiche principale avec le menu principale apparait,
3. La fiche motdepasse s'éclipse, et l'application ferme sans problème

j'ai répondu simplement à la question posée..


A noter que dans une appli, il faut un seul point d'entrée..

cantador
0
jlen100 Messages postés 1606 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 25 juillet 2014 13
12 juil. 2008 à 16:51
bonjour
il suffit simplement de créer ton appli avec la forme principale en visible:=false; ta form mot de passe en visible:=true; à la fermeture de la form mot de pas  tu fais formPricipal.show; et le tour est joué.

jlen
0
cs_Loda Messages postés 814 Date d'inscription vendredi 3 novembre 2000 Statut Membre Dernière intervention 30 juillet 2009 3
16 juil. 2008 à 09:37
salut,

la réponse est déjà bien répondu, mais voilà quelques détails:

une petite imprécision dans la réponse jlen:
Bonjour
il suffit simplement de créer ton appli avec la forme principale en visible:= false; ta form mot de passe en visible:=true; <strike>à la fermeture de la form mot de pas  tu fais formPricipal.show</strike> dans le btnOk.onclick, si le mot de pass est bon, tu fais formPricipal.show et frmLogin.hide; et le tour est joué.

#
tu crée deux fois ta form mpass1. Une fois dans le projet (a garder) et une fois dans le principal.onCreate (a effacer)

#
mpasse1.free -> je suppose que tu voulais le mettre dans principal.onShow
(et je ne sais pas si tu peux appeler    mpasse1.free depuis le ButtoOnClick de cette même form.)

note que tu ne peux pas détruire le form principal de l'application.

#
TFichePrincipale.FormActivate est appeler a CHAQUE fois que la form est activé. Ce ne PAS le bon endroit pour charger des images / changer des trucs. (plustot onCreate)

#
  Windows.SetParent(pharmacie6.Handle, Panel2.Handle);
-> connaîs-tu les TFrame ? Et les TPageControl?

# nommer tes composant est une bonne idée (et sur le long terme, tu gagnes bcp de temps)

#
procedure TFichePrincipale.Aide1Click(Sender: TObject);
begin
Application.CreateForm(tapropos, apropos);
apropos.show;
end;

avant de (re) creer la form, test si elle exist déjà.

bon code,

Loda
<hr size ="2" width="100%" />Se poser les bonnes questions est le premier pas pour trouver les bonnes réponses.
0
cavalier2400 Messages postés 120 Date d'inscription mardi 8 juillet 2008 Statut Membre Dernière intervention 1 décembre 2010 1
16 juil. 2008 à 12:40
BSR,
Voilà je poste le code remodeler, que j'ai trouvé sur un autre site,

{$R *.dfm}
function Tloginfrm.LoginCorrect(Util: String; MDP: String): Boolean;
Var
Registre : Tregistry;
begin
  Registre:= TRegistry.Create;
   Registre.RootKey:=HKEY_CURRENT_USER;
   Registre.OpenKey('\software\'+'sablier',true);
   m:=  Registre.ReadString (util) ;
   Registre.Free;


result := False;
if not ((util<>'') and (MDP =  m )and(MDP <>'' ) ) then // verification du nom d'utilisateur et mot de passe
  begin
    //Application.MessageBox('Utilisateur ou mot de passe incorrect!','Erreur',MB_IconError); // afficher un message d'eereur
    showmessage('Nom utilisateur incorrect ou mot de passe'+#13+'Esscai d''activation: '+ IntToStr(Controle+1) + '/3.');
    ModalResult := mrCancel;
    utiledit.Clear ;
    mdpedit.Clear ;
    inc(controle);
   if controle < 3 then   // si le boutton ok est clicke <3 fois
   abort; // l'aaplication dot etre fermé apres afficher le message si dessus
   Application.MessageBox('Fermeture de l''Application','Erreur',MB_IconError);


  end;
result := True;
end;
procedure TLoginfrm.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  if ModalResult = mrOk then
  if not LoginCorrect(utiledit.Text, mdpedit.Text) then
end;


procedure TLoginfrm.FormActivate(Sender: TObject);
begin
okbtn.SetFocus ;
utiledit.SetFocus ;
end;

et ne pas oublier dans le module:

{$R *.res}
var  F: Tloginfrm;
begin
  F : = Tloginfrm.Create(Application);
  try
    if F.ShowModal =mrOk then
      begin
        Application.Initialize;
        Application.CreateForm(Tficheprincipale, ficheprincipale);
  Application.CreateForm(TfrmRechercher, frmRechercher);
  Application.CreateForm(Tfrm_imp_SQL, frm_imp_SQL);
  Application.CreateForm(TApropos, Apropos);
  Application.CreateForm(Tdsn, dsn);
  Application.CreateForm(Tfrm_Sauvegarde, frm_Sauvegarde);
  Application.CreateForm(Tlibre_pour_tester, libre_pour_tester);
  Application.CreateForm(Tgrid, grid);
  Application.Run;
    end;
  finally
    F.Free;
  end;

Obs:
Trois solution sont possible pour la bonne réalisation (du genre deltree), on ne peut pas supprimer la branche sur laquelle on est assis, (La fiche (mère) principale, il faut bien ruser(méthode hide), ou simuler (méthode exemple trouvé d'un prog -login...), ou ce cas que je propose.

1. Dans mon premier essai, mpasse1.hide (figure un peu partout) en désespoir! 
2. Pour les frames, j'étais tombé quelque part sur un programme (je me rappelle) il porte le nom de tutorial frame, programmé par un Martiniqué, mais son exemple était très beau, mais le chargement de la page et des composant laisse à désirer, un peu plus tard (Frames, splitter et treeview) sont la base pour la réalisation d'un explorateur.
un peu plus tard, j'étais tombé sur un exemple de programme, sur la fiche principale, un petit panel et un grand, le petit peu alors jouer le role du menu et le grand le rôle de la fiche principal, c'est ce que le Martiniqué voulait hélas reéussir.

(L'ensemble des fiches n'est pas chargé automatiquement au démarrage de l'application, mais les fiches sont chargées au fur et à mesure Application.createform(tf1,f1)[Après les avoir effacé de l'unité module, ou graçe à options du projets];
(Dommage, beaucoups de fonctions systèmes ne se trouvent ni sur le help windows, ni  sur le help de delphi, maintenant pour progresser , je suis dans l'obligation d'installer la visionneuse d'APi du VB). 

Merci pour toutes vos observations.
0
Rejoignez-nous