Création de composant et nregistrement de la form

Résolu
cavalier2400 Messages postés 120 Date d'inscription mardi 8 juillet 2008 Statut Membre Dernière intervention 1 décembre 2010 - 14 juil. 2009 à 20:20
cavalier2400 Messages postés 120 Date d'inscription mardi 8 juillet 2008 Statut Membre 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.

26 réponses

Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
15 juil. 2009 à 20:24
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 !

 
3
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
14 juil. 2009 à 22:23
On devrait ouvrir un site de voyance ici ...

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

ou pas.

<hr size="2" width="100%" />
0
cavalier2400 Messages postés 120 Date d'inscription mardi 8 juillet 2008 Statut Membre Dernière intervention 1 décembre 2010 1
15 juil. 2009 à 01:39
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. 
0
beckerich Messages postés 302 Date d'inscription jeudi 29 septembre 2005 Statut Membre Dernière intervention 17 septembre 2013 2
15 juil. 2009 à 14:53
bonjour,

UNE RECHERCHE DANS L'AIDE DELPHI : installer un composant...
et voilà.
0

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

Posez votre question
cavalier2400 Messages postés 120 Date d'inscription mardi 8 juillet 2008 Statut Membre Dernière intervention 1 décembre 2010 1
15 juil. 2009 à 21:46
Bonsoir Bactérius, tu est un génie, il fallait que j'y pense, mille merci!!!
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
15 juil. 2009 à 21:51
bacterius celui qui murmure à l'oreille des chev....

cantador
0
cavalier2400 Messages postés 120 Date d'inscription mardi 8 juillet 2008 Statut Membre Dernière intervention 1 décembre 2010 1
15 juil. 2009 à 21:55
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.
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
15 juil. 2009 à 22:15
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
0
cavalier2400 Messages postés 120 Date d'inscription mardi 8 juillet 2008 Statut Membre Dernière intervention 1 décembre 2010 1
15 juil. 2009 à 23:44
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.
0
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
16 juil. 2009 à 00:35
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;
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. 2009 à 00:51
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
0
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
16 juil. 2009 à 00:56
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 !
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. 2009 à 01:04
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.
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
16 juil. 2009 à 09:22
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
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. 2009 à 09:41
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}
0
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
16 juil. 2009 à 18:06
Si tu as besoin de quitter la procédure du timer, rien ne vaut un bon "Exit" !

Cordialement, Bacterius !
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
16 juil. 2009 à 19:16
timer1.Enabled :=false;
à condition qu'un
timer1.Enabled :=true;
ne se déclenche pas intempestivement..

cantador
0
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
16 juil. 2009 à 19:21
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).
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. 2009 à 19:29
Bonsoir, c'est pour la gestion des Rendez - vous et autres, si vous entrer dans cette boucle, aucune conditions ne vous fera sortir...
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
16 juil. 2009 à 19:31
bon allez cavalier2400,
envoie moi le code, c'est bien parce que c'est toi.

je regarderai ça demain... si toutefois, notre
Bacterius ne trouve pas la solution avant... car il est en bien capable

pulsar3000@wanadoo.fr

cantador
0
Rejoignez-nous