3 pièce(s) jointe(s)
Probleme de création de label d'un form a un autre.
Bonjour Je pose ça la ;)
Voici mon code
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
| unit U_Main;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls, Vcl.StdCtrls,U_Create,U_Modif,U_Remove,U_Start,U_Save,
Vcl.Imaging.pngimage;
type
TU_Principal = class(TForm)
Panel1: TPanel;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Image1: TImage;
Label1: TLabel;
Label2: TLabel;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Image1Click(Sender: TObject);
procedure Label1Click(Sender: TObject);
private
{ Déclarations privées }
public
{ Déclarations publiques }
aNewLabel: Tlabel;
end;
var
U_Principal: TU_Principal;
implementation
{$R *.dfm}
procedure TU_Principal.Button1Click(Sender: TObject);
begin
if not Assigned(U_Creer) then
U_Creer := TU_Creer.create(application);
U_Creer.Show;
end;
procedure TU_Principal.Button2Click(Sender: TObject);
begin
if not Assigned(U_Modifier) then
U_Modifier := TU_Modifier.create(application);
U_Modifier.Show;
end;
procedure TU_Principal.Button3Click(Sender: TObject);
begin
if not Assigned(U_Supprimer) then
U_Supprimer := TU_Supprimer.create(application);
U_Supprimer.Show;
end;
procedure TU_Principal.Button4Click(Sender: TObject);
begin
if not Assigned(U_Demarrer) then
U_Demarrer := TU_Demarrer.create(application);
U_Demarrer.Show;
end;
procedure TU_Principal.Image1Click(Sender: TObject);
begin
if not Assigned(U_Sauvegarde) then
U_Sauvegarde := TU_Sauvegarde.create(application);
U_Sauvegarde.Show;
end;
procedure TU_Principal.Label1Click(Sender: TObject);
begin
//label1.Caption:=FichierIni;
end;
end. |
Voici la partie graphique de mon code :Pièce jointe 389421
et la deuxième fenêtre pour créer les rappels (je vais vous expliquer après ;) )
Mon deuxième code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89
| unit U_Create;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls, Vcl.StdCtrls ,IniFiles, Vcl.Mask;
type
TU_Creer = class(TForm)
Edit1: TEdit;
Label1: TLabel;
Label2: TLabel;
Button1: TButton;
Button2: TButton;
MaskEdit1: TMaskEdit;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Déclarations privées }
public
{ Déclarations publiques }
end;
var
U_Creer: TU_Creer;
FichierIni : TIniFile;
NouveauLabel: Tlabel;
i: integer;
Convertion: Extended;
VariableString: String;
NomRappelLecture:String;
implementation
{$R *.dfm}
uses U_Main;
procedure TU_Creer.Button1Click(Sender: TObject);
begin
FichierIni:=TIniFile.Create('.\FichierRappel.ini'); //Créée le fichier ini si il n'existe pas
FichierIni.WriteString('NomRappel','Rappel1',Edit1.Text); //Ecrit dans le fichier ini
FichierIni:=TIniFile.Create('.\FichierRappel.ini'); //Créée le fichier ini si il n'existe pas
FichierIni.WriteString('TempsRappel','Temps1',MaskEdit1.Text); //Ecrit dans le fichier ini
variableString:=FichierIni.ReadString('TempsRappel','Temps1','');//Lit dans le fichier ini
NomRappelLecture:=FichierIni.ReadString('NomRappel','Rappel1','');//Lit dans le fichier ini
Convertion:=strtofloat(VariableString);
//FichierIni.Free;
//boucle pour la créeation des label dans l'espace de la fenêtre1
for i :=0 to 9 do
if i =0 then
// code de création du rappel
NouveauLabel:= TLabel.Create(self);
parent:=U_Main;
NouveauLabel.Caption:=U_Create.Convertion;
NouveauLabel.Name:=NouveauLabel+'i';
NouveauLabel.Top:=50;
NouveauLabel.Left:=10;
NouveauLabel:= Tlabel.Create(U_Main);
NouveauLabel.Caption:=U_Create.NomRappelLecture;
NouveauLabel.Name:=NouveauLabel+'Bis'+'i';
NouveauLabel.Top:=50;
NouveauLabel.Left:=30;
if i =1 then
// code de création du rappel
NouveauLabel:= Tlabel.Create(U_Main);
NouveauLabel.Caption:=U_Create.Convertion;
NouveauLabel.Name:=NouveauLabel+'i';
NouveauLabel.Top:=50;
NouveauLabel.Left:=50;
NouveauLabel:= Tlabel.Create(U_Main);
NouveauLabel.Caption:=U_Create.NomRappelLecture;
NouveauLabel.Name:=NouveauLabel+'Bis'+'i';
NouveauLabel.Top:=50;
NouveauLabel.Left:=70;
Close();
end;
procedure TU_Creer.Button2Click(Sender: TObject);
begin
Close();
end;
end. |
La partie graphique Pièce jointe 389423
Voilà l'annexe est transmit.Vous me dirai "ok c'est bien tout ça mais qu'elle est le problème ?"
L'explication de l'appli. Pour créer un rappel il faut entrer le nom et le temps du rappel. Logique, les information sont ensuite stocker dans un fichier .ini pour sauvegarder les rappels. Ensuite je viens lire les informations de type String logique c'est un fichier .ini :) pour les convertir en type extended car les données temps serviront à faire un minuteur où arriver à 0 une Pop Up se déclanche.
puis ces données seront encore converti en string pour être afficher sur un label.
Mon problème est que je n'arrive pas à créer les labels Nom du rappel et le timer sur la fenêtre principal quand on clique sur créer de la form2 alors j'ai essayer avec les visible invisible mais c'est pas ce que je veux car on ne sais pas cb de rappel vont être créer. Sinon j'arrive a transmettre les données d'une form à une autre . :D
Merci de vos réponse futur.
A la fin on obtient un truc du genre Pièce jointe 389427
donc j'ai essayer ça mais sans succès
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| procedure TU_Creer.Button1Click(Sender: TObject);
begin
FichierIni:=TIniFile.Create('.\FichierRappel.ini'); //Créée le fichier ini si il n'existe pas
FichierIni.WriteString('NomRappel','Rappel1',Edit1.Text); //Ecrit dans le fichier ini
FichierIni:=TIniFile.Create('.\FichierRappel.ini'); //Créée le fichier ini si il n'existe pas
FichierIni.WriteString('TempsRappel','Temps1',MaskEdit1.Text); //Ecrit dans le fichier ini
variableString:=FichierIni.ReadString('TempsRappel','Temps1','');//Lit dans le fichier ini
NomRappelLecture:=FichierIni.ReadString('NomRappel','Rappel1','');//Lit dans le fichier ini
Convertion:=strtofloat(VariableString);
//FichierIni.Free;
//boucle pour la créeation des label dans l'espace de la fenêtre1
for i :=0 to 9 do
if i =0 then
// code de création du rappel
NouveauLabel:= TLabel.Create(self);
parent:=U_Main;
NouveauLabel.Caption:=U_Create.Convertion;
NouveauLabel.Name:=NouveauLabel+'i';
NouveauLabel.Top:=50;
NouveauLabel.Left:=10;
NouveauLabel:= Tlabel.Create(U_Main);
NouveauLabel.Caption:=U_Create.NomRappelLecture;
NouveauLabel.Name:=NouveauLabel+'Bis'+'i';
NouveauLabel.Top:=50;
NouveauLabel.Left:=30;
if i =1 then
// code de création du rappel
NouveauLabel:= Tlabel.Create(U_Main);
NouveauLabel.Caption:=U_Create.Convertion;
NouveauLabel.Name:=NouveauLabel+'i';
NouveauLabel.Top:=50;
NouveauLabel.Left:=50;
NouveauLabel:= Tlabel.Create(U_Main);
NouveauLabel.Caption:=U_Create.NomRappelLecture;
NouveauLabel.Name:=NouveauLabel+'Bis'+'i';
NouveauLabel.Top:=50;
NouveauLabel.Left:=70;
Close();
end; |