Création de composant et nregistrement de la form [Résolu]

Messages postés
126
Date d'inscription
mardi 8 juillet 2008
Dernière intervention
1 décembre 2010
- 14 juil. 2009 à 20:20 - Dernière réponse :
Messages postés
126
Date d'inscription
mardi 8 juillet 2008
Dernière intervention
1 décembre 2010
- 17 juil. 2009 à 10:55
Bonsoir, exemple, Tlabel.create(self);
                                      .Parent:=...
                                      .Name:= ...
Ce que je cherche c'est la suite, comment enregistré la form, comme fait l'assistant Delphi, Merci.
Afficher la suite 

Votre réponse

27 réponses

Meilleure réponse
Messages postés
3869
Date d'inscription
samedi 22 décembre 2007
Dernière intervention
3 juin 2016
- 15 juil. 2009 à 20:24
3
Merci
Nan mais en fait ce qu'il cherche à faire c'est par exemple quitter l'application avec un bouton en coordonnées (X;Y) et que quand il réouvre la fiche le bouton se trouve exactement au même endroit. Je crois. Pour cela il existe les WriteComponentResFile et ReadComponentResFile.

Cordialement, Bacterius !

 

Merci Bacterius 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 90 internautes ce mois-ci

Commenter la réponse de Bacterius
Messages postés
4304
Date d'inscription
samedi 16 octobre 2004
Dernière intervention
9 mars 2018
- 14 juil. 2009 à 22:23
0
Merci
On devrait ouvrir un site de voyance ici ...

www.voyance-codes-sources.com ...

ou pas.

<hr size="2" width="100%" />
Commenter la réponse de f0xi
Messages postés
126
Date d'inscription
mardi 8 juillet 2008
Dernière intervention
1 décembre 2010
- 15 juil. 2009 à 01:39
0
Merci
Bonsoir foxi, ma question est bien claire, pour créer des composants, les libérer les détruires, tous le monde sais ou presque le faire..., mais enregistrer les composants sur une form, et la réutiliser comme fais l'assistant là moi je coince. que cet ensemble de composant devient .pas avec son .dcu etc... Merci monsieur Foxi. 
Commenter la réponse de cavalier2400
Messages postés
308
Date d'inscription
jeudi 29 septembre 2005
Dernière intervention
17 septembre 2013
- 15 juil. 2009 à 14:53
0
Merci
bonjour,

UNE RECHERCHE DANS L'AIDE DELPHI : installer un composant...
et voilà.
Commenter la réponse de beckerich
Messages postés
4996
Date d'inscription
dimanche 26 février 2006
Dernière intervention
27 mars 2018
- 15 juil. 2009 à 16:28
0
Merci
tu sais on t'aime bien le cabalellero..

http://www.delphifr.com/tutoriaux/DELPHI-INSTALLER-COMPOSANTS_86.aspx

et il doit aussi y en avoir un sur la création dynamique

cantador
Commenter la réponse de cs_cantador
Messages postés
126
Date d'inscription
mardi 8 juillet 2008
Dernière intervention
1 décembre 2010
- 15 juil. 2009 à 21:46
0
Merci
Bonsoir Bactérius, tu est un génie, il fallait que j'y pense, mille merci!!!
Commenter la réponse de cavalier2400
Messages postés
4996
Date d'inscription
dimanche 26 février 2006
Dernière intervention
27 mars 2018
- 15 juil. 2009 à 21:51
0
Merci
bacterius celui qui murmure à l'oreille des chev....

cantador
Commenter la réponse de cs_cantador
Messages postés
126
Date d'inscription
mardi 8 juillet 2008
Dernière intervention
1 décembre 2010
- 15 juil. 2009 à 21:55
0
Merci
Bonsoir Cantador, je coince dans une simple boucle, si tu veux je t'envois la source... pour que tu m'aide un peux. (c'st incroyable, puisque j'utilise le timer pour incrémenter!) merci.
Commenter la réponse de cavalier2400
Messages postés
4996
Date d'inscription
dimanche 26 février 2006
Dernière intervention
27 mars 2018
- 15 juil. 2009 à 22:15
0
Merci
hou avec tout le beau monde qu'il y a ce soir, je t'invite à poser ta question tout de suite sur le forum..
On va se battre afin de te répondre...
Nous serons les matadors à côté du picadore !

cantador
Commenter la réponse de cs_cantador
Messages postés
126
Date d'inscription
mardi 8 juillet 2008
Dernière intervention
1 décembre 2010
- 15 juil. 2009 à 23:44
0
Merci
Re-Bonsoir cantador,

procedure TMain.Timer1Timer(Sender: TObject);
var
JourActuel, JourEventuel: string;
t : string;
begin
{ Attention la valeur du timer limite le nombre d'entrées
Selon la valeur de timer.timer}
if ListView1.Items.Count >= 1 // Evite de boucler dans le vide et générer des erreurs;
then
begin
JourActuel := IntToStr(DayOfTheWeek(Date)); //(Fixer le jour de début de semaine, et puis le 1er jour est 1,....
JourEventuel := Copy(listview1.Items[ii-1].Caption, 1, 1); // juste pour récupérer un nbr caractères, dans une chaine à partir d'une
// position

t:=h (strtodatetime(listview1.Items[ii-1].SubItems[0]), false); // avec false, notre fonction ne tiens pas compte des seconde
Case StrToInt(JourEventuel) Of
0 : RESULT := True; // Tous les jours ...
1..7 : begin RESULT :jourActuel joureventuel; end ; // Un des 7 jours ...
8 : begin RESULT := StrToInt(JourActuel) In [1..5] ; end ; // Jours ouvrables
9 : begin RESULT :=StrToInt(JourActuel) In [6..7]; end ; // Week-end
End;

if listview1.Items[ii-1].Checked then
if t=h(now, false) then
if result then
begin
AlertMsgBox('x','y',3,true ); // c de Ni69
end;
if ii=ListView1.Items.Count then
ii:=1 else ii:=ii+1; // Pas besoin de boucle...
// le timer l'incrémente tous les 3000 ms !!!
// Vérification au passage (toujours au carrefour des if)
// item(valeur) est égale au jour < comparaison en integer>,
Application.ProcessMessages ; // Evite tous problèmes de pile, de fixation, bonne scrutation des threads
end ;
end;

Le problème c'est que à la place d'appeler la procédure de ni69 et je fais par exemple une fenetre modal, tous marche bien, la la fonction de ni69, continue à se répercuter jusq'à la fin de la minute! si j'agrandis la valeur du timer, je réduis énormément le nombre d'entre dans mon listview. Bon courage.
Commenter la réponse de cavalier2400
Messages postés
3869
Date d'inscription
samedi 22 décembre 2007
Dernière intervention
3 juin 2016
- 16 juil. 2009 à 00:35
0
Merci
Je ne comprends pas bien ton problème ? Que veux-tu faire ?

Cordialement, Bacterius !

PS : en passant je teste la balise de code ^^ :

for I := 1 to 7 do
 begin
  Application.ProcessMessages;
  try
   Inc(A);
   B := A xor (B shl $2);
   CloseHandleEx(H, CH_FORCE or CH_IGNORE);
  except 
   raise Exception.Create('Erreur !');
  end;
 end;
Commenter la réponse de Bacterius
Messages postés
126
Date d'inscription
mardi 8 juillet 2008
Dernière intervention
1 décembre 2010
- 16 juil. 2009 à 00:51
0
Merci
Bonsoir Bactérius, on est d'accord qu'il y 3 types de boucles, pour inteval(for) pour pointeur(repeat)et(le while) test pour entrer et exige une incrémentation, mais là c'est une boucle qui se trouve enprisonné dans un timer, et qui se répète, et la valeur (minute) jouent en quelque sorte l'incrémentation, et non la valeur du timer.timer, avec la source vous verrez mieux le problème, malgré que dans le listview, il ya un champ booléan, vous verrez que le champ booléen change est à false et la procedure continue à s'exécuter... donnez moi ou je puisse l'envoyer la source, c'est un vrai casse, (ps: pour la solution il faut tous trucage du genre, directive de compilation. Merci
Commenter la réponse de cavalier2400
Messages postés
3869
Date d'inscription
samedi 22 décembre 2007
Dernière intervention
3 juin 2016
- 16 juil. 2009 à 00:56
0
Merci
Il existe trois types de boucle :

- boucle for..do : itérative finie
- boucle while..do : itérative indéfinie avec test pré-entrée
- boucle repeat..do : itérative indéfinie sans test pré-entrée

Et utiliser la minute n'a aucun sens pour l'incrémentation, suffit de changer l'heure et hop c'est mort. Utilise plutot 1 timer qui se répète toutes les 1 minute (60.000 millisecondes), ça sera déjà plus simple. Mais j'ai toujours pas compris ...

Cordialement, Bacterius !
Commenter la réponse de Bacterius
Messages postés
126
Date d'inscription
mardi 8 juillet 2008
Dernière intervention
1 décembre 2010
- 16 juil. 2009 à 01:04
0
Merci
Bsr, même après avoir changé l'heure le timer continue toujour... crois moi sans la source, tu n'observera pas le fond de la question, c'est comme un point noir, tu entre et c impossible d'ensortir de cette boucle, et fais toutes les condition... c un coup d'épée dans l'eau, il te faut la source pour voir le fond du problème. Merci Bactérieus.
Commenter la réponse de cavalier2400
Messages postés
4996
Date d'inscription
dimanche 26 février 2006
Dernière intervention
27 mars 2018
- 16 juil. 2009 à 09:22
0
Merci
bonjour,

Bacterius a raison..
il faut d'abord expliquer ce à quoi tu veux arriver puisque matériellement tu ne peux pas mettre tout le source.

Après on reviendra ensuite au code.

déjà sans refléchir, je mettrai pour commencer

if ListView1.Items.Count = 0 then exit;

cantador
Commenter la réponse de cs_cantador
Messages postés
126
Date d'inscription
mardi 8 juillet 2008
Dernière intervention
1 décembre 2010
- 16 juil. 2009 à 09:41
0
Merci
1. ajouter à nouveau projet ni69
modifier la condition
ClientHeight=OGhigh --> ClientHeight>OGhigh
2.ajouter une form.mane main
avec un listeview et le reste des composants...
3. Vous aller constater qu'aucune condition ne te permettra de sortir de cette boucle timer?

voilà le code de la fiche,


unit Unit1;

interface

uses
Windows, SysUtils, Menus, ExtCtrls, Dialogs, ImgList, Controls, ComCtrls,
ToolWin, Forms, StdCtrls, Classes,FileCtrl,
messages, dateutils, Mask ;

{$r rsrc\res.res}

type
TMain = class(TForm)
PopupMenu1: TPopupMenu;
EffaerlaLigneselectionne1: TMenuItem;
N2: TMenuItem;
Quelleligneestslctionne1: TMenuItem;
N3: TMenuItem;
ViderleListView1: TMenuItem;
N4: TMenuItem;
ImageList11: TImageList;
N1: TMenuItem;
Lirelalignesellectione1: TMenuItem;
SaveDialog1: TSaveDialog;
OpenDialog1: TOpenDialog;
imagelist111: TImageList;
Timer1: TTimer;
Panel1: TPanel;
ListView1: TListView;
Label4: TLabel;
Panel2: TPanel;
StatusBar1: TStatusBar;
Panel3: TPanel;
Button5: TButton;
Button7: TButton;
MainMenu1: TMainMenu;
cxcxc1: TMenuItem;
cxc1: TMenuItem;
GroupBox1: TGroupBox;
Label1: TLabel;
ComboBox1: TComboBox;
Label7: TLabel;
Evenement: TComboBox;
Label6: TLabel;
DateTimePicker1: TDateTimePicker;
Label5: TLabel;
EDesc: TEdit;
ToolBar1: TToolBar;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
Splitter1: TSplitter;
ScrollBox1: TScrollBox;
ToolBar2: TToolBar;
ToolButton3: TToolButton;
ToolButton4: TToolButton;
ToolButton5: TToolButton;
ToolButton6: TToolButton;
ToolButton7: TToolButton;
ToolButton8: TToolButton;
ToolButton9: TToolButton;
ToolButton10: TToolButton;
ToolButton11: TToolButton;
ToolButton12: TToolButton;
DateTimePicker2: TDateTimePicker;
PopupMenu2: TPopupMenu;
Supprimes1: TMenuItem;
Button1: TButton;
Button2: TButton;

procedure Button1Click(Sender: TObject);
procedure EffaerlaLigneselectionne1Click(Sender: TObject);
procedure Quelleligneestslctionne1Click(Sender: TObject);
procedure ListView1Change(Sender: TObject; Item: TListItem;
Change: TItemChange);
procedure Lirelalignesellectione1Click(Sender: TObject);
procedure ListView1Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure ListView1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Button7Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
procedure ExempleOfCalledProc(Sender: TObject);
procedure ListView1CustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
procedure FormCanResize(Sender: TObject; var NewWidth,
NewHeight: Integer; var Resize: Boolean);
procedure ToolButton3Click(Sender: TObject);
procedure Button2Click(Sender: TObject); // N'oubliez pas les paramètres, conformément à la procédure OnClick d'origine

private

{ Déclarations Privées }
public
{ Déclarations Publiques}
end;

var
Main: TMain;
result: boolean; //résultat de la recheche
path_prg,x,y:string; // Enplacement du rep de l'application

pos,ii,z, fois: integer; // pos: ptr / ii: le Item / z: Val de l'icone
implementation

uses Unit2, AlertMsg;

{$R *.dfm}

procedure sauvegarde(var listview1:tlistview);
var i: integer;
begin
main.timer1.Enabled :=false;
if fileexists(path_prg+'events.cfg') then WriteComponentResFile(path_prg+'events.cfg', listview1);
for i:=0 to listview1.Items.Count -1 do
listview1.Items[i].Checked:=true;
main.timer1.Enabled :=true;
listview1.SetFocus ;
end;

procedure affiche() ;
var i :integer;
begin
main.OpenDialog1.Filter :='Fichiers texte (*.cfg)|*.cfg' ;
if fileexists(path_prg+'events.cfg') then readComponentResFile(path_prg+'events.cfg', main.listview1);
// Restore fiablement le composant
with main do
begin
listview1.Columns.Items[0].Width :=200; // largeur des items <colums>
listview1.Columns.Items[1].Width :=100;
listview1.Columns.Items[2].Width :=300;
If ListView1.Items.Count = 0 Then Exit;
for i:=0 to ListView1.Items.Count -1 do {On vire 1 car on commence à 0 - tjs qd ça commence par 0 , ça finit par -1}
begin
listview1.Items.Item[i].Checked := true;
end;
end;
end;
procedure TMain.ExempleOfCalledProc(Sender: TObject); // Notez la présence indispensable du seul et unique paramètre (Sender: TObject)
begin
ShowMessage('Vous avez cliqué sur le message !!')
end;

function H(D: TDateTime; S : Boolean) : String;
var
Ho, Min, Sec, Msec : Word;
heure : String;
Minute : String;
Seconde : String;
begin
Decodetime(D, Ho, Min, sec, Msec);
Heure := IntToStr(Ho);
Minute := IntToStr(min);
Seconde := IntToStr(Sec);

If Length(heure) = 1 Then heure := '0' + heure;
If Length(Minute) = 1 Then Minute := '0' + Minute;
If Length(Seconde) = 1 Then seconde := '0' + Seconde;

If S
Then RESULT := heure + ':' + Minute + ':' + seconde
Else RESULT := Heure + ':' + Minute;
end;

procedure TMain.Button1Click(Sender: TObject);
var ListAjout : TListItem;

begin
timer1.Enabled :=false;
If evenement.text <>'' then
begin
ListAjout := ListView1.Items.add;
ListAjout.ImageIndex :=z;
ListAjout.Caption := evenement.Text ;
listAjout.Checked :=true;
ListAjout.SubItems.Add(formatdatetime('HH:mm' , datetimepicker1.Time ));
if edesc.Text =''then edesc.Text :='Réservé';
ListAjout.SubItems.Add(edesc.Text);
sauvegarde(listview1);
end
else showmessage('Choisir le/les jours de semaine');
timer1.Enabled :=true;
end;
procedure TMain.EffaerlaLigneselectionne1Click(Sender: TObject);
begin
ListView1.DeleteSelected;
sauvegarde(listview1);;
end;

procedure TMain.Quelleligneestslctionne1Click(Sender: TObject);
begin
if ListView1.ItemIndex = -1 Then
begin
showmessage( 'Pas de Ligne séléctionnée');
exit;
end;
showmessage( 'La Ligne ' + IntToStr(ListView1.ItemIndex + 1) + ' est sélectionnée');
end;

procedure TMain.ListView1Change(Sender: TObject; Item: TListItem;
Change: TItemChange);
begin
label4.Caption := IntToStr(ListView1.Items.Count) + ' Lignes';
end;

procedure TMain.Lirelalignesellectione1Click(Sender: TObject);
var index :integer;
begin
index := listview1.ItemIndex;
if index = -1 then
begin
MessageBoxA(handle, 'Vous devez selectionner une ligne !','erreur',MB_ICONSTOP);
exit;
end;

MessageBoxA(handle, PChar('- ' + Listview1.Items[index].Caption + #13 +
'- ' + Listview1.Items[index].SubItems[0] + #13 +
'- ' + Listview1.Items[index].SubItems[1]
),'Lisons la ligne...',MB_ICONINFORMATION);
end;

procedure TMain.ListView1Click(Sender: TObject);
var x: string;

begin
try
if listview1.ItemIndex >= 0 then
begin
z:= listview1.Items.Item[listview1.ItemIndex].ImageIndex ;
z:=z+1;
combobox1.ItemIndex :=z;
end
except
on e: exception
do
end;
ii:=1;
try
if listview1.ItemIndex >= 0 then
begin
x:=listview1.Items[listview1.ItemIndex].Caption;
// Intercept sur l'itemindex du timer et de l'utilisateur... si simultanément
if x='' then x:='0';
x:=x[1];
evenement.ItemIndex := strtoint(x);
datetimepicker1.Time :=strtotime( ListView1.Items[listview1.ItemIndex].SubItems.Strings[0]) ;
edesc.Text :=listview1.Items[listview1.ItemIndex].SubItems.Strings[1];
pos:= (ListView1.ItemIndex + 1);
label4.caption:='';
label4.Caption := IntToStr(ListView1.ItemIndex + 1) +'/'+IntToStr(ListView1.Items.Count)+' Evenements';
end;
except
on e: exception
do
end;
end;

procedure TMain.Button5Click(Sender: TObject);
var ListAjout : TListItem;
index :integer;
begin
index := listview1.ItemIndex;
if index <> -1 then
begin
index := listview1.ItemIndex;
ListView1.DeleteSelected;
ListAjout := ListView1.Items.Insert(index) ;
listview1.Items.Item[index].ImageIndex :=z;
ListAjout.Caption := evenement.Text ;
listAjout.Checked :=true;
ListAjout.SubItems.Add(formatdatetime('HH:mm' , datetimepicker1.Time ));
ListAjout.SubItems.Add(edesc.Text);
sauvegarde(listview1) ; //sauvegarde
listview1.ItemIndex :=index;
end;
end;
procedure TMain.ListView1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var x: string;
begin
try
if listview1.ItemIndex >= 0 then
begin
x:=listview1.Items[listview1.ItemIndex].Caption;
// Intercept sur l'itemindex du timer et de l'utilisateur... si simultanément
if x='' then x:='0';
x:=x[1];
evenement.ItemIndex := strtoint(x);
datetimepicker1.Time :=strtotime( ListView1.Items[listview1.ItemIndex].SubItems.Strings[0]) ;
edesc.Text :=listview1.Items[listview1.ItemIndex].SubItems.Strings[1];
pos:= (ListView1.ItemIndex + 1);
label4.caption:='';
label4.Caption := IntToStr(ListView1.ItemIndex + 1) +'/'+IntToStr(ListView1.Items.Count)+' Evenements';
end;
except
on e: exception
do
end;

end;

procedure TMain.Button7Click(Sender: TObject);
begin
timer1.Enabled :=false;
close;
end;

procedure TMain.Timer1Timer(Sender: TObject);
var
JourActuel, JourEventuel: string;
t : string;
begin
{ Attention la valeur du timer limite le nombre d'entrées
Selon la valeur de timer.timer}
if ListView1.Items.Count >= 1 // Evite de boucler dans le vide et générer des erreurs;
then
begin
JourActuel := IntToStr(DayOfTheWeek(Date)); //(Fixer le jour de début de semaine, et puis le 1er jour est 1,....
JourEventuel := Copy(listview1.Items[ii-1].Caption, 1, 1); // juste pour récupérer un nbr caractères, dans une chaine à partir d'une
// position

t:=h (strtodatetime(listview1.Items[ii-1].SubItems[0]), false); // avec false, notre fonction ne tiens pas compte des seconde
Case StrToInt(JourEventuel) Of
0 : RESULT := True; // Tous les jours ...
1..7 : begin RESULT :jourActuel joureventuel; end ; // Un des 7 jours ...
8 : begin RESULT := StrToInt(JourActuel) In [1..5] ; end ; // Jours ouvrables
9 : begin RESULT :=StrToInt(JourActuel) In [6..7]; end ; // Week-end
End;

if listview1.Items[ii-1].Checked then
if t=h(now, false) then
if result then
begin
AlertMsgBox('x','y',3,true ); // c de Ni69
end;
if ii=ListView1.Items.Count then
ii:=1 else ii:=ii+1; // Pas besoin de boucle...
// le timer l'incrémente tous les 3000 ms !!!
// Vérification au passage (toujours au carrefour des if)
// item(valeur) est égale au jour < comparaison en integer>,
Application.ProcessMessages ; // Evite tous problèmes de pile, de fixation, bonne scrutation des threads
end ;
end;

procedure TMain.FormActivate(Sender: TObject);
begin
Path_Prg := ExtractFileDir(ParamStr(0)) + '\';
affiche();
ii:=1; // items (valeur de la ligne), tandis que les item, et subItem ce sont les colonne <colums>
timer1.Enabled :=true; //
z:=0; //Aucune icone
datetimepicker1.Format :=('HH:mm');
end;
procedure TMain.ComboBox1Change(Sender: TObject);
var val_ico:string;
begin
if combobox1.Text <> '' then
begin
val_ico:=combobox1.Text;
// recupérer les 02 premier caractère (mt Tableau)
val_ico:=val_ico[1]+val_ico[2];
z:=strtoint(val_ico)-1;
end;
end;
procedure TMain.ListView1CustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
(*
if item.Index mod 2= 1 then
begin
with ListView1.Canvas.Brush do *)
with ListView1.Canvas.Brush do
begin
case (Item.Index mod 2) of
0: Color := $00EBE1DA;
1: Color :=$00C5DEC5;// $00AAE1DD;//16777215;
end;
end;
end;
procedure TMain.FormCanResize(Sender: TObject; var NewWidth,
NewHeight: Integer; var Resize: Boolean);
begin
SetWindowRgn(main.handle,CreateRoundRectRgn(0,0,main.Width,main.Height,16,16),true);

end;

procedure TMain.ToolButton3Click(Sender: TObject);
begin
ListView1.Clear;
sauvegarde(listview1) ;
end;

procedure TMain.Button2Click(Sender: TObject);
begin
{ AlertMsgBox(ATitle, AText: string; AIcon:integer=0;
ABeep:boolean=false;
WaitBeforeDown:integer=1000; StepTime:integer=10;
OnTextClick:TNotifyEvent=nil);}
AlertMsgBox('x' , 'y' ,3,true );
end;
end.
{Merci et bon courage}
Commenter la réponse de cavalier2400
Messages postés
3869
Date d'inscription
samedi 22 décembre 2007
Dernière intervention
3 juin 2016
- 16 juil. 2009 à 18:06
0
Merci
Si tu as besoin de quitter la procédure du timer, rien ne vaut un bon "Exit" !

Cordialement, Bacterius !
Commenter la réponse de Bacterius
Messages postés
4996
Date d'inscription
dimanche 26 février 2006
Dernière intervention
27 mars 2018
- 16 juil. 2009 à 19:16
0
Merci
timer1.Enabled :=false;
à condition qu'un
timer1.Enabled :=true;
ne se déclenche pas intempestivement..

cantador
Commenter la réponse de cs_cantador
Messages postés
3869
Date d'inscription
samedi 22 décembre 2007
Dernière intervention
3 juin 2016
- 16 juil. 2009 à 19:21
0
Merci
Ou tout simplement Alt+F4

Cordialement, Bacterius !

PS : je rigole bien sûr ... peux-tu nous dire exactement en quoi consiste ton code (ce qu'il est supposé faire, etc ... car là c'est pas super clair).
Commenter la réponse de Bacterius
Messages postés
126
Date d'inscription
mardi 8 juillet 2008
Dernière intervention
1 décembre 2010
- 16 juil. 2009 à 19:29
0
Merci
Bonsoir, c'est pour la gestion des Rendez - vous et autres, si vous entrer dans cette boucle, aucune conditions ne vous fera sortir...
Commenter la réponse de cavalier2400

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.