Calcul des surfaces et affichage des formes géometriques

Résolu/Fermé
Lenouveauapprenti Messages postés 300 Date d'inscription samedi 22 décembre 2018 Statut Membre Dernière intervention 7 avril 2024 - 26 févr. 2020 à 23:17
Lenouveauapprenti Messages postés 300 Date d'inscription samedi 22 décembre 2018 Statut Membre Dernière intervention 7 avril 2024 - 4 mars 2020 à 13:01
Bonjour,

Est il possible après le calcul des surfaces de les afficher ( des rectangles ) sur un form en VB6 ?

Si c'est oui, merci d'avance de m'orienter
A voir également:

10 réponses

Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 775
27 févr. 2020 à 00:01
Bonjour,

Afficher 25 ha sur quelques cm² c'est pas possible !
0
LenouveauApprenti
27 févr. 2020 à 00:07
Re

Vous avez raison. Mais mes surfaces ne dépassent pas ces quelques cm2
0
jordane45 Messages postés 38137 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
27 févr. 2020 à 00:13
Bonjour,

Je ne fais pas de vb6... mais une rapide recherche sur le net permet de trouver des tutos du genre
https://www.go4expert.com/articles/graphics-visual-basic-6-t30202/

L'exemple 12 montre la création d'un rectangle
Line (300, 300)-Step(4000, 2000), vbBlue, B


Sinon tu as aussi ce tuto
https://www.vbtutor.net/lesson18.html



0
Lenouveauapprenti Messages postés 300 Date d'inscription samedi 22 décembre 2018 Statut Membre Dernière intervention 7 avril 2024 2
28 févr. 2020 à 10:43
Bonjour

Merci pour l'orientation vers les deux tutos, je les consulterai sans faute
0

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

Posez votre question
Lenouveauapprenti Messages postés 300 Date d'inscription samedi 22 décembre 2018 Statut Membre Dernière intervention 7 avril 2024 2
Modifié le 3 mars 2020 à 21:03
Bonjour

N.B : l'environnement VB6

Je tente de dessiner un rectangle à l'intérieur de PictureBox en utilisant les données suivantes:


Private Sub Cmd_Click()

Dim X, Y, Lon, Lar As Double


Y = 288 / 0.0265
X = 122 / 0.0265

Pict1.Left = 100
Pict1.Height = X
Pict1.Width = Y

Lon = 75 / 0.0265
Lar = 60 / 0.0265

Pict1.Line (0, 0)-(Lon, Lar), , B



End Sub

le problème est l'application me renvoie la moitié du rectangle, c'est à dire, une Ligne (Longueur),
et une Largeur (Largeur), en constituant une angle de 90 °

Merci d'avance de m'aider à avoir mon rectangle


Important : J'ai sélectionné les deux crochets <> et choisi Basic sans resultat

EDIT : Ajout du LANGAGE dans les balises de code.
NB: Si la selection ne t'affiche pas le langage dans les balises... tu peux l'écrire à la main tel qu'indiqué dans le lien que je t'ai donné ! (jordane)
0
jordane45 Messages postés 38137 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
3 mars 2020 à 21:08
Tu as essayé de ne pas commencer à 0,0 ?
Tu as essayé (comme dans les exemples) d'utiliser le mot clé STEP ?
Pour info, une autre doc sur le sujet : https://bytes.com/topic/visual-basic/insights/706417-drawing-graphics


Et comme indiqué dans mon EDIT de ton message :

Si la selection ne t'affiche pas le langage dans les balises... tu peux l'écrire à la main tel qu'indiqué dans le lien que je t'ai donné ! (jordane)
0
Lenouveauapprenti Messages postés 300 Date d'inscription samedi 22 décembre 2018 Statut Membre Dernière intervention 7 avril 2024 2
3 mars 2020 à 21:55
Re

Merci pour votre réponse.
Je vous explique pourquoi J'ai commencé par (0,0)

L'idée est :
J'ai une plaque de 280 cm de longueur et 120 cm de largeur ( désigné par PictureBox )
Après je veux y tracer un rectangle de 75 cm x 60 cm

Le traçage commencé le bord gauche de la plaque et le haut
0
jordane45 Messages postés 38137 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
3 mars 2020 à 22:34
peu importe la raison que tu as de commencer à 0,0 ....
ce que j'aimerais savoir c'est si tu décales le début est-ce que ton rectangle apparaît ?
0
LenouveauApprenti
3 mars 2020 à 22:47
Re

J'ai tenté de décaler le rectangle, toujours le même résultat. La moitié du rectangle.
Par contre, si je travaille directement sur la form en éliminant la PictureBox, mes rectangles apparaissaient
0
jordane45 Messages postés 38137 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
3 mars 2020 à 23:13
par contre, tu es sûr qu'il faille multiplier tes longeurs largeurs par 37,73 ?
Quelles sont les dimensions

par ce que là.. tu as un Y à plus de 10000 ...
0
LenouvauApprenti
3 mars 2020 à 23:38
Re

Voilà ce que j'ai tenté sauf erreur de ma part.

J'ai prédéfini la propriété ScalMode PictureBox à Pixel

Comme ma plaque est de 280 cm x 120 cm
J'ai transforme les cm en Pixel ( 0,0265 )

X est la longueur
Y est la largeur

X= 280/0,0265
Y= 120/0,0265

Le rectangle , car il y a plusieurs. Mais comme essai je tente avec un seul

Dimension du rectangle 75 cm x 60 cm ( à transformer en Pixel )
0
jordane45 Messages postés 38137 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
3 mars 2020 à 23:54
Le pixel est une unité relative qui dépend de la définition du support en l'occurrence ton d'écran
0
jordane45 Messages postés 38137 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649 > jordane45 Messages postés 38137 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024
Modifié le 3 mars 2020 à 23:55
Et je doute fort que tu aiess plus de 10000 pixels en hauteur sur l'affichage de ton ordinateur
0
jordane45 Messages postés 38137 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649 > jordane45 Messages postés 38137 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024
4 mars 2020 à 00:02
0
LenouveauApprenti
4 mars 2020 à 00:05
Re

Le cadre ( PictureBox) avec les dimensions que je t'ai donné auparavant, apparaît normalent dans presque la moitié de l'ecran
0
Lenouveauapprenti Messages postés 300 Date d'inscription samedi 22 décembre 2018 Statut Membre Dernière intervention 7 avril 2024 2
4 mars 2020 à 13:01
Bonjour

J'ai réessayé une autre fois, et j'ai pu arriver à un début de résultat, mais je n'arrive pas à comprendre certains détails, à savoir
1 définition des mesures des X et Y, puisque la PictureBox est prédéfinie en Pixel, et les données que je cherche sont en cm (à convertir en pixel pour avoir une homogénéité de mesures)
Notez bien que les vrais mesures :
- de Picture1, le cadre initial (X=280 cm, Y=140 cm)
- des morceaux à découper (X=75 cm, Y=60 cm)
- les 60, et 4 sont estimations je ne peux pas les expliquer, seulement ils me permettaient de donner
formes visibles à mes rectangle

2 Au premier clic du bouton Command1, la demi, demi rectangle apparaît,
Au deuxième Click tous les rectangles apparaissent (alors que l’événement est Click)

mes codes:

Private Sub CmdNouv_Click()


Dim XCadre, YCadre As Double
Dim XBloc, YBloc As Double

XCadre = 280 * 60
YCadre = 140 * 60



Picture1.Left = 50
Picture1.Width = XCadre
Picture1.Height = YCadre


XBloc = 75 * 4
YBloc = 60 * 4

'Ligne 1
Picture1.Line (0, 0)-Step(XBloc, YBloc), vbBlue, B
Picture1.Line (0 + (1 * XBloc), 0)-Step(XBloc, YBloc), vbBlue, B
Picture1.Line (0 + (2 * XBloc), 0)-Step(XBloc, YBloc), vbBlue, B
'Ligne 2
Picture1.Line (0, 0)-Step(XBloc, (2 * YBloc)), vbBlue, B
Picture1.Line (0 + (1 * XBloc), 0)-Step(XBloc, (2 * YBloc)), vbBlue, B
Picture1.Line (0 + (2 * XBloc), 0)-Step(XBloc, (2 * YBloc)), vbBlue, B



End Sub


Je vous prie de m'expliquer :
- comment devrais je faire pour harmoniser mes mesures, celles de PictureBox et celles des rectangles à y dessiner.
- pourquoi devrais je cliquer une deuxième fois sur la commande pour avoir le bon résultat, alors que l’événement est Click et non double click
0