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
» KGF.dll - demandes ou suggestions de modifications ou ajouts
par Klaus Hier à 23:55

» KGF_dll - nouvelles versions
par pascal10000 Hier à 17:27

» Mah-Jong européen new-look
par Minibug Mar 12 Déc 2017 - 22:31

» track_bar circulaire
par Klaus Mar 12 Déc 2017 - 13:54

» API Windows
par Klaus Mar 12 Déc 2017 - 3:21

» Cartes de voeux, menus, etc.
par JL35 Lun 11 Déc 2017 - 17:48

» a l'aide klaus
par Minibug Lun 11 Déc 2017 - 11:42

» bug SYNEDIT_TARGET_IS_OBJECT
par Jack Lun 11 Déc 2017 - 0:16

» Jukebox : Serge Reggiani
par papydall Sam 9 Déc 2017 - 5:58

» Ecouter la radio fm sur votre pc
par pascal10000 Sam 9 Déc 2017 - 3:42

» anomalie
par Klaus Sam 9 Déc 2017 - 3:21

» hommage
par Jicehel Ven 8 Déc 2017 - 11:29

» Logiciel de soutien scolaire en langues.
par Pedro Alvarez Ven 8 Déc 2017 - 10:43

» carte son
par Klaus Ven 8 Déc 2017 - 2:37

» mise a jour calculatrice
par joeeee2017 Mer 6 Déc 2017 - 22:19

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Décembre 2017
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
25262728293031
CalendrierCalendrier

Partagez | 
 

 Version instantanée du 2 janvier 2015 : PANORAMIC V 0.9.26i4

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Jack
Admin
avatar

Nombre de messages : 1771
Date d'inscription : 28/05/2007

MessageSujet: Version instantanée du 2 janvier 2015 : PANORAMIC V 0.9.26i4   Ven 2 Jan 2015 - 16:16

Version instantanée du 2 janvier 2015 : PANORAMIC V 0.9.26i4

Une version instantanée est la version actuelle du développement de PANORAMIC, elle vous permet d'utiliser les toutes dernières améliorations, sans attendre la sortie de la prochaine version.
Une version instantanée n'a pas de procédure d'installation (c'est un fichier zip contenant l'EDITEUR).
Les nouveaux mots-clés n'ont pas de coloration syntaxique dans l'EDITEUR.

Cette version instantanée est disponible sur mon Webdav dans le répertoire : PANORAMIC_VERSION_DE_TRAVAIL


Voici les améliorations de cette version, par rapport à la dernière version instantanée PANORAMIC V0.9.26i3 du 16 décembre 2014:

SEPARATOR_IS_POINT : le séparateur pour les nombres réels est le point (option par défaut)
SEPARATOR_IS_COMMA : le séparateur pour les nombres réels est la virgule

exemple :
Code:
dim f$
f$="123.456"
print val(f$)
separator_is_comma
f$="123,456"
print val(f$)
separator_is_point
f$="123.456"
print val(f$)

OBJECT_INTERNAL(N) : retourne un numéro interne généré à la création de l'objet système de numéro N et -1 si l'objet de numéro N n'existe pas.
(cette fonction avait été demandée par Klaus pour sa DLL)

exemple :
Code:
button 1
caption 0,object_internal(1)

Correction de bugs :

l'objet HVIEWER est actif
le séparateur pour les nombres réels est le point

_________________
username : panoramic@jack-panoramic password : panoramic123


Dernière édition par Jack le Ven 2 Jan 2015 - 22:40, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://panoramic.free-boards.net
papydall

avatar

Nombre de messages : 5613
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: Version instantanée du 2 janvier 2015 : PANORAMIC V 0.9.26i4   Ven 2 Jan 2015 - 16:25

Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
papydall

avatar

Nombre de messages : 5613
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: Version instantanée du 2 janvier 2015 : PANORAMIC V 0.9.26i4   Ven 2 Jan 2015 - 17:17

J’ai téléchargé.
J’ai testé.

Code:
button 1   : left 1,300
form 10 : left 10,400
print "object_internal du bouton 1 :" + str$(object_internal(1))
print "handle du bouton 1 .........: " + str$(handle(1)) : print

print "object_internal du form 0 : " + str$(object_internal(0)) : ' --> donne 0
print "handle du form 0 .........: " + str$(handle(0)) : print

print "object_internal du form 10 : " + str$(object_internal(10))
print "handle du form 10 .........: " + str$(handle(10))
print "object_internal d'un objet inéxistant" + str$(object_internal(100)) : ' ERREUR

Je constate :
• OBJECT_INTERNAL(N) et HANDLE(N) sont deux choses différentes
• OBJECT_INTERNAL(0) donne 0
• Si l’objet n’existe pas OBJECT_INTERNAL(N) renvoie une erreur et non -1

J'aime bien savoir :
A quoi sert OBJECT_INTERNAL(N) et comment peut-on l’appliquer ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Klaus

avatar

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

MessageSujet: Re: Version instantanée du 2 janvier 2015 : PANORAMIC V 0.9.26i4   Ven 2 Jan 2015 - 17:40

Magnifique, Jack ! J'attendais cela depuis longtemps, et ça va non seulement simplifier mon codage de KGF.dll, mais également ajouter de nouveaux horizons !

Deux remarques, cependant.

1. Dans la doc provisoire, tu publies:
Citation :

NUMBER_INTERNAL(N) : retourne un numéro interne généré à la création de l'objet système de numéro N
Je pense que ça devrait être:
Citation :

OBJECT_INTERNAL(N) : retourne un numéro interne généré à la création de l'objet système de numéro N
comme dans l'exemple qui suit.

2. Cette fonction marche parfaitement, et remplit exactement le rôle que j'imaginais. Parfait. Seul b-mol: elle ne marche pas sur l'objet 0. Elle ne retourne pas -1, mais la valeur 0 (zéro) ce qui n'est pas utilisable. Pourrait cette fonction retourner la valeur de integer(FORM1) ? Ca marche bien sur une autre form créée explicitement par la commande FORM. Je pense que c'est un détail à corriger...

Je suis en tout cas super content de cette fonction qui est un vrai cadeau de Noël pour moi ! Merci mille fois !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Klaus

avatar

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

MessageSujet: Re: Version instantanée du 2 janvier 2015 : PANORAMIC V 0.9.26i4   Ven 2 Jan 2015 - 17:46

@Papydall:

Pour ceux qui écrivent des DLLs, c'est hyper important ! Car, à ce jour, on ne pouvait passer que le handle d'un objet ou le handle_canvas, et les actions possible dans ce contexte sont limitées et compliquées, et possibles uniquement via les API de Windows. Ce n''est pas simple.

Avec cette fonction, on obtient une autre valeur. Ce n'est pas un "handle", mais l'identifiant interne de l'"objet". Et dans la DLL, je peux interroger cet objet pour en déduire son type (on peu comme le fait la fonction OBJECT_TYPE de Panoramic), et ensuite, je peux traiter cet objet dans son contexte précis de façon beaucoup plus souple et beaucoup plus étendue.

Donc, tu vois, pour quelqu'un qui n'écrit qu'en Panoramic, cela n'a aucune utilité. Absolument aucune. Par contre, pour un concepteur de DLL, cela ouvre des horizons complètement nouveaux.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
papydall

avatar

Nombre de messages : 5613
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: Version instantanée du 2 janvier 2015 : PANORAMIC V 0.9.26i4   Ven 2 Jan 2015 - 17:59

Merci  Klaus.
Je comprends un tout petit mieux  maintenant après ton explication.
Et puisque tu es super content, ça rendra tout le monde qui profite de ton extra super hyper KGF.dll aussi super content !
2015 débute super bien !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
bignono

avatar

Nombre de messages : 1104
Age : 60
Localisation : Val de Marne
Date d'inscription : 13/11/2011

MessageSujet: Re: Version instantanée du 2 janvier 2015 : PANORAMIC V 0.9.26i4   Ven 2 Jan 2015 - 18:26

Merci Jack!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: Version instantanée du 2 janvier 2015 : PANORAMIC V 0.9.26i4   Ven 2 Jan 2015 - 18:48

Une découverte avec cette nouvelle fonction: on peut maintenant passer des objets non visibles et des objets n'ayant pas de handle, comme ALPHA, PICTURE, DLIST etc ! Génial ! C'est ce que j'espérais, mais ne ne pouvais pas en être sûr.

Donc, le seul point en suspens pour moi, c'est qu'on ne peut pas passer la form 0, car la valeur retournée est 0. Mais ça marche bien sur tous les autres objets !!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Invité
Invité



MessageSujet: Re: Version instantanée du 2 janvier 2015 : PANORAMIC V 0.9.26i4   Ven 2 Jan 2015 - 19:59

Bonsoir Jack, et bonne année aninsi qu'aux autre Panoramicien.

J'ai téléchargé, et essayé.
Citation :
l'objet HVIEWER est actif
Malheureusement hviewer ne fonctionne pas.
Code:
hviewer 1
résultat d'erreur.

Ensuite serait-il possible d'avoir au moins un on_click pour cet objet.
Je pense que je pourrai mettre un premier code avec cet objet d'ici la fin du mois (tout du moins si la version de panoramic le permet) selon le temps que je dispose. Pour ma part je reprends la dernière qui accepte hviewer.
Revenir en haut Aller en bas
Klaus

avatar

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

MessageSujet: Re: Version instantanée du 2 janvier 2015 : PANORAMIC V 0.9.26i4   Ven 2 Jan 2015 - 20:03

Exact ! HVIEWER n'est pas reconnu à la compilation !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

Nombre de messages : 8002
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: Re   Ven 2 Jan 2015 - 20:59

Merci Jack !

Je cours au téléchargement de cette nouvelle version !
Laughing

@ Klaus,

La nouvelle commande Object_internal(n) signifie t elle
la fin des objets cachés pour ceux créés par KGF.dll ?... geek
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: Version instantanée du 2 janvier 2015 : PANORAMIC V 0.9.26i4   Ven 2 Jan 2015 - 21:23

@Ygeronimi:

Je ne pourrai jamais les rendre inutiles complètement, car dans beaucoup de cas, il faut pouvoir retourner des informations plus ou moins complexes. J'envisage à terme d'utiliser un DLIST pour cela. Actuellement, je vais pourvoir utiliser indifféremment, comme objet caché, un EDIT, un MEMO ou un LIST. Malheureusement, je ne peux pas le supprimer complètement, car il manque encore de deuxième point essentiel: le fait de pouvoir générer un évènement Panoramic.

Dans ce post, j'avais proposé ceci:
Citation :
c. pouvoir déclencher un évènement Panoramic.
Actuellement, je le fais en utilisant on objet EDIT caché par HIDE, ayant un évènement ON_CHANGE. Et dans la DLL, j'utilise l'API SendMessage avec le code WM_SETTEXT pour déposer un texte dans cet objet (identifié par son handle). L'évènement se déclenche, et je peux le traiter en Panoramic. Or, ceci est lourd et nécessite un objet Panoramic "abusé" de cette façon. Je suggère un évènement spécifique DLL_EVENT qui serait géré par les commandes:
ON_DLL_EVENT label
OFF_DLL_EVENT
et on déclencherait cet évènement par un SendMessage avec le code message de type "user_defined" PANORAMIC_DLL_EVENT qui pourrait avoir la valeur WM_USER+x (WM_USER = 0400 hexa, et x étant choisi par Jack). Et ce message serait adressé à la form 0 dans tous les cas, ce qui déclencherait l'évènement ON_DLL_EVENT qui appellerait alors le label en question. Et les valeurs LPARAM et HPARAM du message seraient mises à disposition du programme Panoramic dans des variables système DLL_LPARAM et DLL_HPARAM.
Si un jour cette possibilité est offerte, alors il n'y aura plus d'objet caché - un simple DLIST fera alors l'affaire, et les évènements déclenchés par la DLL seront gérés comme n'importe quel évènement Panoramic. Mais pour le moment, le vais modifier mes fonctions de sorte à accepter indifféremment un EDIT, MEMO ou LIST (MEMO ou LIST uniquement pour des fonctions retournant du texte multi-lignes), avec reconnaissance automatique du type de l'objet. Et tout nouveau programme pourra utiliser un MEMO - ainsi ce sera plus simple au codage.

Mais, en effet, ce serait super si les comandes ON_DLL_EVENT et OFF_DLL_EVENT pourraient voir le jour...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

Nombre de messages : 8002
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Ven 2 Jan 2015 - 21:45

Sad Sniff !!!....

Il va nous falloir encore un peu de patience.
A moins que...Jack accède à mes multiples demandes d' objets créés par la dll en natif Laughing .
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jack
Admin
avatar

Nombre de messages : 1771
Date d'inscription : 28/05/2007

MessageSujet: Re: Version instantanée du 2 janvier 2015 : PANORAMIC V 0.9.26i4   Ven 2 Jan 2015 - 22:48

Il s'agit de la commande OBJECT_NUMBER(N) et non pas de NUMBER_INTERNAL(N). J'ai rectifié dans l'annonce.

Dans une prochaine version, OBJECT_NUMBER(N) rendra -1 si l'objet n'existe pas.

J'ai oublié de coder OBJECT_NUMBER pour l'objet n°0 (la forme qui est créé automatiquement).  Embarassed  Embarassed  Embarassed Embarassed Embarassed Embarassed
J'ai à nouveau desactivé l'objet HVIEWER par erreur. Embarassed Embarassed Embarassed Embarassed Embarassed Embarassed

Une option permettant de créer des objets système, des Sprites ou des objets 3D, visibles ou invisible viendra bientôt.

De même, les appels de DLL seront facilités.

Je n'ai pas encore regardé la façon de déclencher un événement panoramic de l'extérieur. Je pensais que TRIGGER_CLICK (et les commandes qui vont suivre : TRIGGER_DOUBLE_CLICK, TRIGGER_CHANGE, ...) répondait à la demande.

_________________
username : panoramic@jack-panoramic password : panoramic123
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://panoramic.free-boards.net
Jicehel

avatar

Nombre de messages : 5863
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Version instantanée du 2 janvier 2015 : PANORAMIC V 0.9.26i4   Ven 2 Jan 2015 - 23:52

Merci Jack et bonne année
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: Version instantanée du 2 janvier 2015 : PANORAMIC V 0.9.26i4   Sam 3 Jan 2015 - 1:31

@Jack:
Ok, Jack. OBJECT_NUMBER vaut OBJECT_INTERNAL pour moi. Et OBJECT_INTERNAL est même plus logique...

TRIGGER_CLICK (et les commandes qui vont suivre : TRIGGER_DOUBLE_CLICK, TRIGGER_CHANGE) semblent correspondre à autre chose que ce que j'imaginais. Ces noms me suggèrent un déclenchement des évènements correspondants - par quel moyen, au fait ?

Ce que je fais actuellement: je crée un objet Panoramic (un EDIT, un MEMO, ...), je le cache par HIDE et je lui donne un évènement ON_CHANGE. Et je déclenche cet évènement à partir de la DLL, en envoyant un message Windows par l'API SendMessage avec le code WM_SETTEXT. Pour cela, il faut passer le handle de l'objet à la DLL, qui le mémorise, puis envoie ce message, le moment venu. Ca marche, mais c'est lourd.

J'imaginais un autre mécanisme. En créant un évènement DLL_EVENT, géré par deux commandes ON_DLL_EVENT label et OFF_DLL_EVENT, on pourrait déclencher une routine évènement Panoramic par un évènement provoqué par la DLL, mais sans aucun lien avec un objet Panoramic quelconque. Et la DLL provoquerait cet évènement, toujours par l'API SendMessage, mais avec un code message privé, dont valeur peut être librement choisie au-delà de la limite inférieure des messages privés qui est WM_USER (actuellement $400 en Delphi, donc 400 hexa). Par exemple, DLL_EVENT = WM_USER + 1. J'enverrais ce message systématiquement à la form 0.

Le message reçu par la form 0, outre le code message identifiant qu'il s'agit du message DLL_EVENT, transmet deux paramètres en format integer, qui sont LPARAM et WPARAM. Ces valeurs pourraient être mises à disposition du code Panoramic via deux variables système: NUMBER_LPARAM et NUMBER_WPARAM. Ainsi, la routine Panoramic déclenchée par DLL_EVENT aurait tout le contexte nécessaire pour traiter l'évènement.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Invité
Invité



MessageSujet: Re: Version instantanée du 2 janvier 2015 : PANORAMIC V 0.9.26i4   Sam 3 Jan 2015 - 2:53

Bon, comme pour Klaus, je vais développer ma demande de on_click pour HVIEWER. Il est évident qu'il faut utiliser une ancienne version. J'utilise celle du 26 septembre actuellement.

L'objet hviewer n'a aucun événement,  et on pourrait penser qu'on_click ne sert à rien. J'ai fait un petit programme pour pouvoir savoir ce qui se passe lorsque l'on clique sur un lien (c'est un éditeur, et hviewer ne navigue pas sur internet, mais les liens fonctionnent sur des ancres de la page).

Pour pouvoir suivre les liens, ou savoir où on se trouve, j'ai fait ce teste suivant (je voulais savoir si cela fonctionnait).
code et texte:
 
La liste des <br> c'est pour faire des lignes avec le minimum de texte.

Une fois lancé on a à gauche un memo de commande et de texte, et à droite hviewer. Si on active le timer par appuie sur le bouton de gauche, on cliquant sur les liens, on a le repérage des pages dans l'edit jaune. pour modifier le texte du memo, on désactive le timer.

C'est la seule façon que j'ai trouvé pour avoir une info sur hviewer.
Ce qui m'ennuie, c'est de devoir utilisé un timer. Ici cela ne pose pas de problème, mais le programme actuel, qui a plein de sophistication, avec des objets panoramic, est un include qui a déjà près de 3000 lignes, et le timer n'est certainement pas le meilleur objet.

Cela dit, je comprend parfaitement, qu'il est presque certain que pour les membres, mon programme sera de côté. Moi en ayant les yeux dessus, je m'aperçois qu'il facilite grandement la programmation, et le visuel des contenus. Ainsi par exemple les demandes faite pour GRID, pour améliorer le contenu, ce programme est idéal pour cela.
Revenir en haut Aller en bas
mindstorm

avatar

Nombre de messages : 542
Age : 48
Localisation : charente
Date d'inscription : 13/02/2013

MessageSujet: Re: Version instantanée du 2 janvier 2015 : PANORAMIC V 0.9.26i4   Lun 5 Jan 2015 - 23:35

Merci Jack
Bonne Année 2015
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Version instantanée du 2 janvier 2015 : PANORAMIC V 0.9.26i4   

Revenir en haut Aller en bas
 
Version instantanée du 2 janvier 2015 : PANORAMIC V 0.9.26i4
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Version instantanée du 7 janvier 2015 : PANORAMIC V 0.9.26i5
» Version instantanée du 30 mai 2015 : PANORAMIC V 0.9.26i6
» Version instantanée 26 septembre 2014 : PANORAMIC V 0.9.26i2
» PANORAMIC_IDE: version instantanée du 25 septembre 2010
» PANORAMIC_IDE: version instantanée du 20 septembre 2010

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Ce qui est en cours ...-
Sauter vers: