merci Mr Gilbert
j'ai bien compris
moi je recopiais tout le code comme il est sur mon éditeur
et quand j'appuie sur CTRL +la souris je vois rien
il y a des trucs que je dois ajouter?
merci Mr Gilbert
j'ai bien compris
moi je recopiais tout le code comme il est sur mon éditeur
et quand j'appuie sur CTRL +la souris je vois rien
il y a des trucs que je dois ajouter?
Re-Salut,
... t'as dû oublier ou modifier un truc en recopiant car chez moi le code marche sinon je ne l'aurais pas posté.moi j recopier tt le code comme il est sur mon editeur
et quant j'apuis sur CTRL +la souri je vois rien
y'a des truc que je dois ajouter?
... mais quand tu dis que t'as "recopié tt le code", t'as recopié à la main (?) au lieu de faire des copier-coller (Ctrl + C pour copier et Ctrl + V pour coller) entre ici et ton éditeur ?
A+
salut Mr:Gilbert Geyer;3125914
c'est juste une façon de parler
j'ai fait : Ctrl +A ,Ctrl + C ,Ctrl + V ça je connais
est ce qu'il faut écrire autre chose ?
merci et désolé de vous casser la tête
merci encore
salut Mr:Gilbert Geyer
petite présicion j'utilise le delphi 5
esque c'est ca le problémen?
Salut,
... négatif! Le hasard a voulu que moi aussi j'utilises Delphi 5.petite présicion j'utilise le delphi 5
esque c'est ca le problémen?
... Mais si ça ne marche toujours pas chez toi passes moi donc ton adresse e-mail je t'enverrai un fichier *.Zip du code qui figure déjà dans la présente discussion. (je ne peux pas mettre de Zip ici car j'ai consommé mon quota de pièces attachées).
A+
slt Mr:Gilbert Geyer
je vien de recevoir votre document zipé ,c'est formidable,magnifique
tro jentille de votre part
je vais voir ce qui n'aller pas
et je vous répend merci
Salut,
Je suppose que cette fois-ci ça marche.
A+
slt Mr:Gilbert Geyer
me revoila
merci bcp pour votre programme il est vrément super
on l'excutant j'ai remarqué qulque chose que je connaissais pas,
"le géstionnaire de projet"c'est quoi ??
j'ai un petit probléme :
j'ai ajouter quelque truc a votre programme est j'ai remarqué que :
si je fait show d'une autre fenétre (form2 par example)sur ma fiche principale ==>mes ligne disparaissé
et la méme chose quant je redimentionne la fenétre !!!
que faire d'aprés vous ?
PS:je me suit lancer un petit déffie perso,et je vais m'inspiré de votre programme pr le résoudre
j'éspé vous envoyé la solution c'est jour sile déplacement une ellips
j'éspér avoir bintot,un de vos conseil
merci encor
Salut,
1)... le Gestionnaire de projet, et l'Inspecteur d'objet qui apparaissent sous l'éditeur gèrent deux groupes de choses :"le géstionnaire de projet"c'est quoi ??
- en tant que gestionnaire de projet : si dans la page "Evénements" on clique par exemple sur onMouseMove Delphi ajoute au projet les 3 lignes qui encapsulent la procedure TForm.FormMouseMove(Sender: ....),
- et en tant qu'Inspecteur d'objet on utilise la page Propriétés pour initialiser le propriétés (hauteur, largeur, police de cracatères, etc) de l'objet (Bouton, Image, RichEdit, etc) concerné.
2)... c'est normal que la ligne disparaît si on réduit la taille de la fenêtre puis que l'on la ré-agrandit vu qu'on l'a tracée directement sur le canvas de la form et qu'on n'a rien prévu pour le rafraîchissement du tracé vu que le bout de code en question n'est qu'un exemple basique de tracé de ligne élastique déplaçable. Et pour le "que faire d'aprés vous" voir point suivant.si je fait show d'une autre fenétre (form2 par example)sur ma fiche principale ==>mes ligne disparaissé
et la méme chose quant je redimentionne la fenétre !!!
que faire d'aprés vous ?
3)... recopies donc plutôt le programme de l'unité unit uImgD que tu peux trouver ici : http://www.developpez.net/forums/sho...=471406&page=3je vais m'inspiré de votre programme pr le résoudre : le déplacement une ellips
et dont la 1ère moitié du code se trouve dans mon message du 06/02/2008, 13h16 et la 2ème moitié dans celui du 06/02/2008, 13h18.
Je te le recommande pour deux raisons :
a) Ce code, au lieu de tracer sur le canvas de la Form, effectue le tracé dans le canvas d'un Timage qui est automatiquement raffraîchi lorsqu'on redimensionne la fenêtre.
b) Il permet de tracer plusieurs types de trucs dont des cercles déplaçables et comme un cercle n'est rien d'autre qu'une ellipse inscrite dans un carré ton problème est presque solutionné (s'inspirer de la procedure TraceCercle( C : tCanvas; Cercle : TCercle; mode : TPenMode) )
Et comme ce code permet de tracer des lignes, des rectangles, des cercles et des polygones réguliers leur création s'effectue différemment de celui que tu utilises actuellement : Il y a un bouton pour chaque type de truc à dessiner et qui place l'objet en question en un endroit par défaut ... et comme l'objet est déplaçable on le positionne ensuite avec la souris.
A+
Re salut
merci bien de votre aide je vais esséyé de voir le lien que vous m'avé envoyé
question :
quelle est la différance entre :une application & une application console
un ami ma dis que: si j'ai pas pu recopier votre programme cela avais peutétre un raport avec cela
Merci
Re-salut
1)... tout ce que j'en sais c'est qu'il s'agit d'une autre façon d'utiliser Delphi mais comme ma manière de l'utiliser me convient je n'ai pas, pour l'instant, cherché à faire autrement.quelle est la différance entre :une application & une application console
Pour te faire une idée sur le thème des applications console tu peux parcourir cette discussion : http://www.developpez.net/forums/sho...hlight=console
2)... non, aucun rapport j'utilise Delphi-5-standard sous Win98.un ami ma dis que: si j'ai pas pu recopier votre programme cela avais peutétre un raport avec cela
... je pense qu'en recopiant il y a dû y avoir un loupé quelque part mais le compilo aurait dû tousser un message d'erreur.
A+
Re-salut
merci ,vous avais réson cela n'a pas grand chose a voir
voici ce que moi j'ai fait :
1-j'ai ouvert une nouveu projet
2-dans l'éditeur de l'unité j'ai copier exactement votre code
3-j'ai excuter
esque c'est ca!!
merci bcp
Salut,
... tu dis j'ai exécuté ... et je suppose que ça n'a pas marché.voici ce que moi j'ai fait :
1-j'ai ouvert une nouveu projet
2-dans l'éditeur de l'unité j'ai copier exactement votre code
3-j'ai excuter
esque c'est ca!!
... Il y a une façon de faire les copier-coller à respecter sinon ça coince.
Pour ma part je fais un premier copier-coller lors duquel je colle tout ce que j'ai rammassé ailleurs en le plaçant après le end. final du projet.
- ensuite je place dans le uses de l'interface tout ce qui y manque,
- ensuite je place dans les rubriques private et public du type TForm1 = class(TForm) ce qui y manque éventuellement.
- ensuite je fais un copier-coller des fonctions ou procedures qui sont déclarées dans ces rubriques private et pulblic,
- ensuite il reste généralement deux types de trucs à placer dans le code après le {$R *.DFM} de la partie implementation :
a) tout ce qui ne commence pas par procedure TForm1... et qu'on peut copier-coller d'un seul bloc si c'est bien regroupé en bloc dans le code d'origine que j'ai placé après le end. final.
b) et tout ce qui commence par procedure TForm1... et pour ces procédures là il faut (avant tout copier-coller) d'abord les déclarer dans le gestionnaire de projet et l'Inspecteur de projet : exemple : s'il y aune procedure TForm1.ComboBoxMoisChange(Sender: TObject); faut d'abord ajouter sur la Form l'objet ComboBox et lui donner son nom dans la page Propriétés, ensuite dans la page Evénements faut cliquer sur l'événement 'onChange' et ça va automatiquement ajouter une ligne de code dans la partie type TForm1 = class(TForm) et dans la partie implémentation ça va ajouter automatiquement les lignes suivantes :
et une fois que ces lignes ont été ajoutées par le gestionnaire de projet on peut effectuer le copier-coller par-dessus ce begin et ce end tout ce qui manque dans la procedure TForm1.ComboBoxMoisChange().
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 procedure TForm1.ComboBoxMoisChange(Sender: TObject); begin end;
... et idem pour les autres routines qui commencent par procedure TForm1...
A+
chér Mr:Gilbert Geyer
merci pr vos explication je les ai suivie a la lettre pr recopier le code de déplacement des cercle mais
a l'exution je ne trouve rien
si cela vous dérrange pas ,envoyé le moi dans ma boite e-mail ,comme le programme précédent .
et esque vous pouvé m'expliqué c'est quoi :
le canvas d'un Timage quelle est la différance avec le canvas de la la Tform
merci encor
chér Mr:Gilbert Geyer
hier j'ai fait plien d'examples sur (le canvas d'un Timage)c'est coool
mais il y'a qulque chose qui Bloque :
les déssin ne disparessent pas quant je redimentionne mais:
la procedur (TForm1.FormPaint) ne marche pas
simple example:
vous avais une explication !!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 procedure TForm1.Button1Click(Sender: TObject); begin image1.Canvas.Ellipse(10,100,50,50); end; procedure TForm1.FormPaint(Sender: TObject); begin begin Image1.Height:=form1.Height; Image1.Width:=form1.Width; end;
vous devais ecrire ca sans changé la couleur de la Tform
l'utilisateur ne véras que du feu si on met :form1.Color:=clWhite
mais la bar d'outil en bas nous rappel toujour que il un truc qui passe pas !!
c'est comme si :
le : Image1.Height>form1.Height (toujour superieur)
dans l'attante d'un de vos si présieu conseil je vous dit A+
et merci encor
chér Mr:Gilbert Geyer
je vous propose de lire ce petit programe tt simple :
c'est pour mon programe de déplacemnt d'un cercle
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
17
18 procedure TForm1.BitBtn1Click(Sender: TObject); begin n:=2; end; procedure TForm1.i1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin if n=2 then begin image1.canvas.Pen.Mode := pmNot; image1..Canvas.Ellipse(p2.X,p2.Y,p2.X+50,p2.Y+50); image1..Canvas.Ellipse(X,Y,x+50,y+50); p2:=point(x,y); image1..Canvas.Pen.Mode := pmCopy; end else i1.Canvas.Pen.Mode := pmCopy; end;
a l'excution j'ai toujour une Ellipse(0,0,50,50)
j'ai bien compri que elle suit les coordonné (p2.x,p2.y)mais comment m'en débaracé !!:lol:
merci encor :merci:
Salut,
1) Hier 20h33, tu disais :... et Aujourd'hui tu dis :...vos explication je les ai suivie a la lettre pr recopier le code de déplacement des cercle mais
a l'exution je ne trouve rien
si cela vous dérrange pas ,envoyé le moi dans ma boite e-mail ,comme le programme précédent... c'est cool, ça veut dire qu'à l'exécution t'as enfin trouvé quelque-chose.hier j'ai fait plien d'examples sur (le canvas d'un Timage)c'est coool
... d'où : Question : faut-il quand-même que t'envoie le Zip du code ??? (ça m'oblige à y faire un toilettage car j'ai continué sur ce sujet et mon code actuel est truffé par des trucs et des essais qui ne sont pas encore au point et qu'il faudrait virer).
2)... c'est kif-kif : il n'y a pas de différence entre la propriété canvas d'un TImage et la propriété canvas de n'importe quel objet qui possède un canvas il n'y a que l'objet qui le possède qui change. Donc su tu crées une procedure TraceMoiCeci( C : tCanvas; ...); tu pourras l'utiliser aussi bien en l'appelant avec TraceMoiCeci( Form1.canvas; ...) de même qu'avec TraceMoiCeci( Image22.canvas; ...) et idem pour tout ce qui possède un canvas.c'est quoi :
le canvas d'un Timage quelle est la différance avec le canvas de la la Tform
merci
3) Concernant ton message d'Aujourd'hui 09h54 :... on utilise FormPaint comme son nom l'indique pour peindre ou dessiner quelque chose.la procedur (TForm1.FormPaint) ne marche pas
... si tu veux que la taille de ton image s'ajuste à celle de ta form il est préférable de faire ceci :
... mais attention : si l'image1 contient un BitMap d'une photo par exemple il vaut mieux que sa propriété Autosize soit égale à True sinon en redimensionnant la fenêtre à la souris les proportions changent et l'image est déformée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 procedure TForm1.FormResize(Sender: TObject); var w,h : integer; begin h:=ClientHeight; w:=ClientWidth; with Image1 do begin Left:=0; Width:=w; Top:=0; Height:=h; end; end;
A+
Re-bonjour,
Pour ton message d'Aujourd'hui 10h20 :
... au click-souris , TForm1.Image1MouseDown() dessine le cercle.
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
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 var n : byte; procedure TForm1.BitBtn1Click(Sender: TObject); begin n:=2; end; var p2 : tPoint; procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin with image1.canvas do begin Pen.Mode := pmNotXor; Pen.color:=clBlack; Pen.style:=psSolid; Pen.width:=1; Ellipse(X, Y, X+50,Y+50); p2:=point(x,y); end; end; procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin if n=2 then begin with image1.canvas do begin Pen.Mode := pmNotXor; Ellipse(p2.X,p2.Y,p2.X+50,p2.Y+50); Ellipse(X, Y, X+50,Y+50); p2:=point(x,y); end; end; end; procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if n=2 then image1.canvas.Ellipse(X, Y, X+50,Y+50); n:=0; end;
... au BitBtn1Click() le cercle se positionne à la place du curseur-souris et le suit à la trace et arrivé à la position voulue un click-souris laisse le cercle à sa place.
... et si on dessine un 2ème cercle ça fait pareil.
... mais ça ne permet de déplacer que le dernier cercle qu'on a dessiné alors que le code dont je tai donné le lien permet de déplacer et d'agrandir/réduire le rayon de n'importe quel cercle à volonté.
A+
cher Mr:Gilbert Geyer
merci pour votre aide
1-*quant j'ai dis*:
c'est des effort personnel ,j'ai pas pu voir votre excutablehier j'ai fait plien d'examples sur (le canvas d'un Timage)c'est coool
si vous pouvé le trouvais cela me servira a aproffendir mes idés sur le sujet
si cela vous dérrange pas bien sur .
2- *pr votre code* :
cela fonctionne que quant on en fait un rétrissicement pas quand on fait un agrandissemnt de la fenétre.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 procedure TForm1.FormResize(Sender: TObject); var w,h : integer; begin h:=ClientHeight; w:=ClientWidth; with Image1 do begin Left:=0; Width:=w; Top:=0; Height:=h; end; end;
dans l'éspoir que vous puissiez retrouvé votre programme zipé et me 'envoyé
je vous dis merci encor
et Bon week end
Cher Mr:Gilbert Geyer
dans l'explication(texte N°58) ,qui parler du Pen.Mode
j'ai bien compri les Mode simple mais les combiné!!!
peutons dir que :
remplace :
Code : Sélectionner tout - Visualiser dans une fenêtre à part image1.Canvas.Pen.Mode := pmNotXor;
merci bien
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 image1.canvas.Pen.Mode := pmNot; .. .. .. image1.Canvas.Pen.Mode := pmCopy;
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager