1 exe, 2 forms

Signaler
Messages postés
90
Date d'inscription
mardi 28 octobre 2003
Statut
Membre
Dernière intervention
24 avril 2008
-
Messages postés
1418
Date d'inscription
samedi 12 juin 2004
Statut
Membre
Dernière intervention
5 juillet 2010
-
bonjour,
j'ai eu une application qui peut fonctionner selon 2 modes (temps réel ou offline).
Dans le fichier ini de l'application, j'ai défini une clé pour signaler si je suis en mode offline ou online.

Au démarrage de l'application, je récupère la valeur de cette clé et je lance la form1(vue1.dfm) dans le cas online et la form2(vue2.dfm) dans le cas du offline.

Est-ce possible avec delphi?
Si oui, comment faire?

Merci d'avance

emmanuel

1 réponse

Messages postés
1418
Date d'inscription
samedi 12 juin 2004
Statut
Membre
Dernière intervention
5 juillet 2010
11
Pour ajouter une Form à ton application, il te suffit de faire 'Fichier', 'Nouveau', 'Fiche' ou alors, si la Form2 est déjà existante, faire 'Projet', 'Ajouter au Projet...'.

Modifie le source du projet (visible en faisant 'Projet', 'Voir le source...') en le rendant identique à celui-ci :
<HR>
program Project1;


uses
Forms, IniFiles, SysUtils, // IniFiles et SysUtils sont à rajouter ici
Unit1 in 'Unit1.pas' {Form1}, // Les déclarations des units. Ces deux lignes peuvent être différentes dans ton application.
Unit2 in 'Unit2.pas' {Form2};


var
FichierIni : TIniFile;
online : Boolean; // Variable du statut Online


{$R *.res}


begin
Application.Initialize;
// On lit le fichier Ini
FichierIni := TIniFile.Create(ExtractFilePath(Application.ExeName)+'\FichierIni.ini');
online := FichierIni.ReadBool('General', 'Online', false);
// Default = false car si le fichier n'existe pas ou que la valeur cherchée n'est pas présente, alors on part du principe que l'on est Offline
FichierIni.Free;
if online then
begin
Application.CreateForm(TForm1, Form1); // L'ordre de création des forms influe sur le choix de la form principale par l'application. Ici, c'est la form1 étant la form "Online"
Application.CreateForm(TForm2, Form2);
end
else
begin
Application.CreateForm(TForm2, Form2);
Application.CreateForm(TForm1, Form1);
end;
Application.Run;
end.


<HR>
Ton fichier ini doit être composé comme ceci :
[general]
Online = 0
Les boolean sont traduits dans les fichiers Ini par des 1 ou des 0 (0 false ; 1 true)
Si, dans le fichier ini, Online = 0 alors l'application affichera la Form principale 2, c'est à dire la form "Offline".

Voilà, j'espère que cela te conviendra !

@+
Bonne Prog'
Nico



<HR>
N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient !