FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» [Résolu] Un prg Panoramic s'abime avec le temps (erreur)
par Oscaribout Aujourd'hui à 13:48

» Planétarium virtuel.
par Pedro Alvarez Aujourd'hui à 9:56

» Dessin 2D: largeur de trait (résolu !)
par Jicehel Hier à 15:16

» Promenade dans le Ciel
par papydall Hier à 3:13

» PanExpress : l'éditeur Panoramic avec création d'objet
par Minibug Sam 23 Juin 2018 - 17:00

» Nouvelle version 0.34
par jean_debord Sam 23 Juin 2018 - 9:39

» Quantité de mémoire utilisée par un exe
par mindstorm Jeu 21 Juin 2018 - 21:22

» Projet de planétarium virtuel.
par Jean Claude Jeu 21 Juin 2018 - 19:02

» Animation: Feux de signalisation
par Minibug Mer 20 Juin 2018 - 20:28

» Problème avec 'file_load'.
par Pedro Alvarez Lun 18 Juin 2018 - 8:12

» Version instantanée V 0.9.28i20 du 13/06/2018
par jjn4 Sam 16 Juin 2018 - 14:25

» string$(0,chr$(32)) sans erreur
par silverman Ven 15 Juin 2018 - 19:56

» Version instantanée V 0.9.28i19 du 13/06/2018
par Minibug Ven 15 Juin 2018 - 19:14

» Mes souhaits d'amélioration de Panoramic.
par Pedro Alvarez Jeu 14 Juin 2018 - 20:17

» [RÉSOLU] Message d'erreur impossible à indentifier
par Minibug Mer 13 Juin 2018 - 20:52

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Juin 2018
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier

Partagez | 
 

 Coordonnées & distance

Aller en bas 
AuteurMessage
Marc

avatar

Nombre de messages : 796
Age : 57
Localisation : TOURS
Date d'inscription : 17/03/2014

MessageSujet: Coordonnées & distance   Jeu 23 Nov 2017 - 0:07

Bonjour à tous !

Voici une petite règle qui vous donnera l’écart en pixels entre deux points et vous donnera aussi les coordonnées x et y d’un point quelconque sur l’écran.

Ce programme utilise la DLL de Klaus à télécharger >> ici <<
J’en profite pour remercier Klaus !
La DLL doit être située dans le répertoire courant du programme. Dans le cas contraire, il faudra adapter le chemin à la ligne 14.

A l’aide de la souris, cliquez sur un point quelconque de l’écran, les coordonnées du premier point s’affichent. Déplacer la souris vers un deuxième point pour connaitre la distance parcourue en pixels.
Un click supplémentaire permet de recommencer le processus.

Vous pouvez mesurer en long, en large ou en travers, aussi bien dans une fenêtre Panoramic qu’en dehors. Le double affichage permet de connaitre les coordonnées relatives à Windows ou à Panoramic.

Le source reste très simple ce qui permettra à chacun de le personnaliser en fonction de ses désirs, aussi bien dans la gestion des clicks que dans la position de la fenêtre au démarrage ou dans l’ergonomie de l’affichage…

Bonne programmation à tous !

Code:
' ------------------------------------------------------------------------------
'  PANORAMIC MEASURE
'  MARC - November 2017 - Panoramic v0.9.28.i12
'  http://panoramic-language.pagesperso-orange.fr/French/index.html
'  http://panoramic.top-forum.net
'  Thanks to KLAUS for his DLL : KGF.DLL
' ------------------------------------------------------------------------------
DIM z%, res%, res1%, Click%, i%
DIM W_x1%, W_y1%, W_x2%, W_y2%, W_distance%
DIM P_x1%, P_y1%, P_x2%, P_y2%, P_distance%
DIM hnd%, x_MousePosition%, y_MousePosition%, x_AbosluteMousePosition%, y_AbosluteMousePosition%
DIM a$
LABEL Quit
DLL_ON "KGF.dll"
BORDER_SMALL 0
    WIDTH 0, 325
    HEIGHT 0, 135
    TOP 0,20
    LEFT 0, SCREEN_X - 345
    FONT_NAME 0,"Times New Roman"
    FONT_SIZE 0, 12
    CAPTION 0,"|iiiiliiii|iiiiliiii|iiiiliiii|iiiiliiii|iiiiliiii|iiiiliiii|iiiiliiii|iiiiliiii|iiiiliiii|"
res% = DLL_call2("WindowTopMost",handle(0),1)
FOR i% = 1 to 11
    ALPHA i%
NEXT i%
' Première ligne
LEFT 1, 110: TOP 1, 10 : CAPTION 1, "Windows"
LEFT 2, 220: TOP 2, 10 : CAPTION 2, "Panoramic"
' 2ème ligne
LEFT 3, 10 : TOP 3, 30 : CAPTION 3, "1st point"
LEFT 4, 100: TOP 4, 30
LEFT 5, 210: TOP 5, 30
' 3ème ligne
LEFT 6,10  : TOP 6,50 : CAPTION 6, "2nd point"
LEFT 7,100 : TOP 7,50
LEFT 8,210 : TOP 8,50
' 4ème ligne
LEFT 9,10  : TOP 9,70 : CAPTION 9, "Distance"
LEFT 10,110: TOP 10,70
LEFT 11,220: TOP 11,70
ON_CLOSE 0, QUIT
hnd% = handle(0)
z% = 0
Click% = 0
WHILE Z%=0
    res% = dll_call2("GetAbsoluteMousePosition",adr(x_AbosluteMousePosition%),adr(y_AbosluteMousePosition%))
    res% = dll_call3("GetMousePosition",hnd%,adr(x_MousePosition%),adr(y_MousePosition%))
    res1% = dll_call1("CheckMouseButton",1)
    IF res1%=1
        IF  Click% = 0 THEN Click% = 1 : ELSE : Click% = 0
        PAUSE 200
    END_IF    
    IF Click% = 0
        W_x1% = x_AbosluteMousePosition%
        W_y1% = y_AbosluteMousePosition%
        P_x1% = x_MousePosition%
        P_y1% = y_MousePosition%
        IF P_x1% <0 THEN P_x1% = 0
        IF P_y1% <0 THEN P_y1% = 0
        CAPTION 4, "x "+STR$(W_x1%)+" , y "+STR$(W_y1%)
        CAPTION 5, "x "+STR$(P_x1%)+" , y "+STR$(P_y1%)
        CAPTION 7, "x 0 , y 0"
        CAPTION 8, "x 0 , y 0"
        CAPTION 10, "0 pixel"
        CAPTION 11, "0 pixel"
    ELSE
        W_x2% = x_AbosluteMousePosition%
        W_y2% = y_AbosluteMousePosition%
        P_x2% = x_MousePosition%
        P_y2% = y_MousePosition%
        IF P_x2% <0 THEN P_x2% = 0
        IF P_y2% <0 THEN P_y2% = 0
        CAPTION 7, "x "+STR$(W_x2%)+" , y "+STR$(W_y2%)
        CAPTION 8, "x "+STR$(P_x2%)+" , y "+STR$(P_y2%)
        W_distance%=SQR(((W_x2%-W_x1%)*(W_x2%-W_x1%))+((W_y2%-W_y1%)*(W_y2%-W_y1%)))
        P_distance%=SQR(((P_x2%-P_x1%)*(P_x2%-P_x1%))+((P_y2%-P_y1%)*(P_y2%-P_y1%)))
        IF W_distance% = 0 THEN a$ = " pixel" : ELSE : a$ = " pixels"
        CAPTION 10, STR$(W_distance%)+a$
        IF P_distance% = 0 THEN a$ = " pixel" : ELSE : a$ = " pixels"
        CAPTION 11, STR$(P_distance%)+a$
    END_IF
END_WHILE
END
' ------------------------------------------------------------------------------
Quit:
    z%=1
    TERMINATE
RETURN



EDIT : Mise à jour du source.
=> Cet utilitaire se maintient au premier plan en permanence grâce à la fonction issue de la DLL de Klaus : res% = DLL_call2("WindowTopMost",handle(0),1)
Merci Klaus !


Dernière édition par Marc le Jeu 23 Nov 2017 - 23:35, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 11088
Age : 69
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Coordonnées & distance   Jeu 23 Nov 2017 - 8:22

Efficace ! Very Happy Very Happy Very Happy
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Marc

avatar

Nombre de messages : 796
Age : 57
Localisation : TOURS
Date d'inscription : 17/03/2014

MessageSujet: Re: Coordonnées & distance   Jeu 23 Nov 2017 - 23:41

Mise à jour du source du premier post :

Le programme se maintient au premier plan en permanence grâce à la fonction issue de la DLL de Klaus : res% = DLL_call2("WindowTopMost",handle(0),1)
Merci Klaus !

Ainsi, si vous ouvrez une fenêtre quelconque qui remplie tout l'écran, cet utilitaire restera visible.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Coordonnées & distance   

Revenir en haut Aller en bas
 
Coordonnées & distance
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Affichage coordonnée des POI
» coordonnées sur Nuvi 200
» Valeur Long Lat coordonnées GPS 3790 pour csv
» saisie de coordonnées pour terrain en 3d
» Résolu: coordonnée; degrés et minutes décimales, hddd mm mmm?

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: