bonjour.
j'ai un bout de code qui doit etre utiliser dans plusieurs procedures
est-il possible de le plaçer quelque part de maniere à le faire appeler et executer par des procédures.
un peu comme une sub routine en vb
merci d'avance.
bonjour.
j'ai un bout de code qui doit etre utiliser dans plusieurs procedures
est-il possible de le plaçer quelque part de maniere à le faire appeler et executer par des procédures.
un peu comme une sub routine en vb
merci d'avance.
Oui, tout à fait...
Isole la séquence commune :
Puis appeler cette procédure là où il y a besoin
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Procedure CodeCommun; begin le code commun end;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4instruction1; instruction2; CodeCommun; // <--- appel .....
n'oublie pas de déclarer codecommun
par exemple:
private
procedure codecommun;
et procedure Tform1.codecommun;
begin
le code commun
end;
un petit complément qui t'est peut-être nécessaire...
(et codecommun aux endroits voulus dans tes différentes procedures
comme indiqué dans le post précédent)[/quote]
Ce n'est pas forcément nécéessaire: si sa fonction n'utilise pas de membres de Form1, il n'y a pas d'intérêt de la déclarer comme son membreEnvoyé par Archimède
![]()
Pedro
Aucune réponse aux sollicitations techniques par MP
Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)
Les pages Source C'est bon. Mangez-en!
Le défi Delphi
Règles du forum - FAQ Delphi - Pensez au chtit
Aéroclub Bastia Saint-Exupéry
c'est vrai...
mais si c'est la première fois qu'il se fait une procedure perso, il vaut mieux présenter un cas élémentaire plutôt que de généraliser.
![]()
j'ai fait comme vous l'avez dit et au lancement j'ai l'erreur:
identificateur non declaré :'image1'
je vous mets le code commun
les lignes sont tracées sur un controle image
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 image1.Canvas.Pen.Mode:=pmxor; image1.Canvas.Pen.Color:=rgb(255,0,0); oldcolor:=image1.Canvas.Pen.Color; image1.Canvas.Pen.Color:=colortorgb(image1.Canvas.Pen.Color) xor colortorgb(color); image1.Canvas.MoveTo(0,cury2); image1.Canvas.LineTo(700,cury2); image1.Canvas.MoveTo(curx2,0); image1.Canvas.LineTo(curx2,700); image1.Canvas.Pen.Mode:=pmcopy; eraseprevious:=false; image1.Canvas.Pen.Color:=rgb(0,0,0);
lui meme sur une form
curx2 est obtenu en faisant //curx2:=trunc(x/10)*10 //pareil pour cury2
je me suis mis au delphi depuis une semaine si vous pouviez me donner un peu plus d'explications...merci.
![]()
C'est le complément dont parlais Pedro...
Ta procedure contenant du code commun, doit en fait être un méthode contenu dans la form, pour qu'elle puisse reconnaitre tous les objets de ta form (Image1 en particulier)
Section Delphi
La mine d'or: La FAQ, les Sources
Un développement compliqué paraitra simple pour l'utilisateur, frustrant non ?
Notre revanche ? l'inverse est aussi vrai ;-)
Effectivement
Donc dans ces cas-là, tu fais :
et dans l'implémentation:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 TForm1=class(TForm) ... private procedure Dessine; ...
En n'oubliant pas de déclarer les variables qu'il faut
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 procedure TForm1.Dessine; var [?] begin image1.Canvas.Pen.Mode:=pmxor; image1.Canvas.Pen.Color:=rgb(255,0,0); oldcolor:=image1.Canvas.Pen.Color; image1.Canvas.Pen.Color:=colortorgb(image1.Canvas.Pen.Color) xor colortorgb(color); image1.Canvas.MoveTo(0,cury2); image1.Canvas.LineTo(700,cury2); image1.Canvas.MoveTo(curx2,0); image1.Canvas.LineTo(curx2,700); image1.Canvas.Pen.Mode:=pmcopy; eraseprevious:=false; image1.Canvas.Pen.Color:=rgb(0,0,0); end;![]()
Pedro
Aucune réponse aux sollicitations techniques par MP
Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)
Les pages Source C'est bon. Mangez-en!
Le défi Delphi
Règles du forum - FAQ Delphi - Pensez au chtit
Aéroclub Bastia Saint-Exupéry
les couleurs rgb(0,0,0) -->clblack
rgb(255,0,0)--->clred ou $0000ff
rgb c'est bien si tu mets des variables dedans.![]()
merci à tous ca marche.
je modifierais les instruction pour la couleur aussi.
A+
Partager