FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Logiciel de planétarium.
KGF_dll - nouvelles versions - Page 5 Emptypar Pedro Aujourd'hui à 10:37

» Un autre pense-bête...
KGF_dll - nouvelles versions - Page 5 Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
KGF_dll - nouvelles versions - Page 5 Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
KGF_dll - nouvelles versions - Page 5 Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
KGF_dll - nouvelles versions - Page 5 Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
KGF_dll - nouvelles versions - Page 5 Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
KGF_dll - nouvelles versions - Page 5 Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
KGF_dll - nouvelles versions - Page 5 Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
KGF_dll - nouvelles versions - Page 5 Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
KGF_dll - nouvelles versions - Page 5 Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
KGF_dll - nouvelles versions - Page 5 Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
KGF_dll - nouvelles versions - Page 5 Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
KGF_dll - nouvelles versions - Page 5 Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
KGF_dll - nouvelles versions - Page 5 Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
KGF_dll - nouvelles versions - Page 5 Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
Le Deal du moment :
LEGO Icons 10331 – Le martin-pêcheur
Voir le deal
35 €

 

 KGF_dll - nouvelles versions

Aller en bas 
+6
papydall
Marc
jean_debord
Minibug
JP06
Klaus
10 participants
Aller à la page : Précédent  1, 2, 3, 4, 5, 6 ... 10 ... 15  Suivant
AuteurMessage
Klaus

Klaus


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

KGF_dll - nouvelles versions - Page 5 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 5 EmptyVen 4 Mar 2022 - 16:25

Petite info: la saisie de la date dans la démo pour TRecord se fait par un joli calendrier "pop-up"...
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Klaus

Klaus


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

KGF_dll - nouvelles versions - Page 5 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 5 EmptyVen 4 Mar 2022 - 18:09

Dans le programme de démo pour TRecord, j'ai apporté les mdifications (améliorations) suivantes:
- si la création d'n fichier est demandé et ce fichier existe déjà, alors une confirmation explicite est demandée.
- le programme est fourni avec la définition d'un fichier contenant un champ date et un clamp heure.
- un fichier de ce format est fourni, contenant 3 enregistrements
- lorsqu'un champ "Date" est choisi, le bouton "Update" change comme suit:
KGF_dll - nouvelles versions - Page 5 Aa193
Un clic sur le bouton "..." affiche le sélecteur de date:
KGF_dll - nouvelles versions - Page 5 Aa194
Alors, on peut choisir une date quelconque et la valider par "Validate" du sélecteur, ou abandonner par "Abort". Tout changement de date prend effet dans le champ de saisie des données, et il faut utiliser "Update" pour l'envoyer dans les données validées.
- idem pour un champ "Time":  le bouton "Update" change comme suit:
KGF_dll - nouvelles versions - Page 5 Aa195
Un clic sur le bouton "..." affiche le sélecteur de date:
KGF_dll - nouvelles versions - Page 5 Aa196
Alors, on peut choisir une heurequelconque et la valider par "Validate" du sélecteur, ou abandonner par "Abort". Tout changement d'heure prend effet dans le champ de saisie des données, et il faut utiliser "Update" pour l'envoyer dans les données validées.

Voici le lien pour le programme de démo: http://klauspanoramic.infinityfreeapp.com/TRecord.zip
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Klaus

Klaus


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

KGF_dll - nouvelles versions - Page 5 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 5 EmptySam 5 Mar 2022 - 14:34

KGF.dll V9.72 du 05/03/2022

Nouveautés:
- TRecord: nouveau type de données "File"
- TRecord: nouvelles fonctions LoadTRecordBinaryFile et SaveTRecordBinaryFile


Modules modifiés:
KGF.dll

La doc est en cours de rédaction.

Voici le lien pour le programme de démo: http://klauspanoramic.infinityfreeapp.com/TRecord.zip

Le nouveau type de fichiers permet d'inclure de petits fichiers dans l'enregistrement.
Lorqu'on choisit un tel champ pour modifier les données, le bouton de validation des données se modifie comme suit:
KGF_dll - nouvelles versions - Page 5 Aa197

Le bouton de sélection "..." ouvre alors un sélecteur de fichiers où l'on peut choisir le fichier à enregistrer dans le champ sélectionné.
Le bouton "Update", comme d'habitude, met ces données dans le buffeur de données.
Le bouton "Save to file" ouvre un sélecteur de fichiers permettant de choisir le chemin et le nom du fichier résultant de l'exgtraction. Le fichier enregistré dans le champ sera alors extrait dans ce fichier sélectionné.

La distribution du programme de démo de de TRecord inclut une définition d'un enregistrement avec 2 champs "string", un champ "file", ainsi qu'un champ "iinteger" en overlay sur les 4 premers octsts du champ "file". Car, en effet, un fichier est stocké en plaçant d'abord sa longueur dans de champ sous forme d'un integer, puis les données du fichier à la suite. Encore une belle démonstration de l'utilité des champs overlay.

La distribution contient également un fiichier données de ce format avec 2 enregistrements.

Voici à quoi ressemble cet enregistrement de démo:
KGF_dll - nouvelles versions - Page 5 Aa198

EDIT le 5/3/2022 à 17:56

J'ai ajouté dans la distribution du programme de démo pour TRecord, 3 fichiers de paramètres d'enregistrement et 3 fichiers de données, chacun contenant 1 ou 2 enregistrements. Ceci représente un exemple d'une facturation somple avec un fichier Client, un fichier des Factures (entêtes de facture) et un fichier des Détails des Factures (lignes de facture).

Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Yannick




Nombre de messages : 8635
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

KGF_dll - nouvelles versions - Page 5 Empty
MessageSujet: re   KGF_dll - nouvelles versions - Page 5 EmptySam 5 Mar 2022 - 21:15

Pour cet objet, je vais attendre la version "pour les nuls"
lol!
Revenir en haut Aller en bas
Klaus

Klaus


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

KGF_dll - nouvelles versions - Page 5 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 5 EmptyMer 9 Mar 2022 - 12:36

KGF.dll V9.73 du 09/03/2022

Nouveautés:
- nouvelle fonction: IsProcessResponding

Modules modifiés:
KGF.dll

La doc est en cours de rédaction, en même temps que la doc pour TRecord qui est en cours de réalisation.

C'est quoi, IsProcessResponding ?

Ca vous est déjà arrivé de lancer un programme effecturant un traitement long, ou un accès à internet qui "rame", qui ne réagit plus sur un clic ? Vous avez été embêté avec un titre de programme complété par Windows avec la mention "(ne répond pas)" ? Avez-vous déjà interrompu souvent ce que vous étiez en train de faire à l'écran pour vérifier si le programme est "débloqué" ?

Alors, vous apprécierez le petit utilitaire ci-après. Vous paramétrez les lignes 7 et 8 de ce petit code et vous le lancez. Il affichera une mini-fenêtre à gauche de l'écran qui sera toujours visible et qui ne contient qu'un seul libellé affichant soit "prêt" soit "attente...", actualisée selon le délai paramétré (5 secondes actuellement).

Voici le code:
Code:
' Check_ProgramResponding.bas

label tester
dim res%, hnd%, titre$, s$, delai%

' paramétrages personnalisables
  titre$ = "Mon Programmme"     : ' partie du titre du programme à surveiller
  delai% = 5000              : ' délai entre les tests pour le timer

dll_on "KGF.dll"
' button 1 : top 1,10 : left 1,10 : caption 1,"Tester" : on_click 1,tester
alpha 2 : top 2,10 : left 2,10 : font_bold 2
width 0,130 : height 0,100
caption 0,titre$
top 0,300
res% = DLL_call2("WindowTopMost",handle(0),1)
res% = DLL_call2("SetMinimizeMaximize",handle(0),0)
timer 3: on_timer 3,tester: timer_interval 3,delai% : timer_on 3
end

tester:
  hnd% = dll_call2("GetWindowByTitle",1,adr(titre$))
  if hnd%=0
    message titre$+" recheché n'est pas présent"
    terminate
  end_if
  res% = dll_call1("IsProcessResponding",hnd%)
  if res%<1
    font_size 2,16 : font_color 2,255,0,0
    caption 2,"attente..."+chr$(13)+chr$(10)+time$
  else
    font_size 2,12 : font_color 2,0,0,0
    caption 2,"prêt"+chr$(13)+chr$(10)+time$
  end_if
  return
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Marc

Marc


Nombre de messages : 2466
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

KGF_dll - nouvelles versions - Page 5 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 5 EmptyJeu 10 Mar 2022 - 13:38

Klaus a écrit:
IsProcessResponding


Merci Klaus !

J’ai remarqué que lorsque l’on indique un titre de fenêtre inexistante, par exemple :
Code:
titre$ = "herbe"

la fonction GetWindowsByTitle ne renvoie pas "0" et le programme de démonstration continue sa surveillance.

KGF_dll - nouvelles versions - Page 5 Herbe_10
Revenir en haut Aller en bas
Klaus

Klaus


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

KGF_dll - nouvelles versions - Page 5 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 5 EmptyJeu 10 Mar 2022 - 14:31

Ok, je vais bloquer cela.

En attendant, recharge tout de même la DLL maintenant, car je viens de le mettre à jour avec une version affinée pour une meilleure détection.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Klaus

Klaus


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

KGF_dll - nouvelles versions - Page 5 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 5 EmptyJeu 10 Mar 2022 - 17:23

C'est fait - tout est corrigé. On détecte l'absence du programme à surveiller, et son état prêt ou attente ets détecté rapidement et fiablement.

Recharge KGF.dll et essaie ceci:
Code:
' Check_ProgramResponding.bas

label tester
dim res%, titre$, s$, delai%

' paramétrages personnalisables
  titre$ = "Mon programme"    : ' partie du titre du programme à surveiller
  delai% = 5000              : ' délai entre les tests pour le timer

dll_on "KGF.dll"
' button 1 : top 1,10 : left 1,10 : caption 1,"Tester" : on_click 1,tester
alpha 2 : top 2,10 : left 2,10 : font_bold 2
width 0,130 : height 0,100
caption 0,titre$
top 0,300
res% = DLL_call2("WindowTopMost",handle(0),1)
res% = DLL_call2("SetMinimizeMaximize",handle(0),0)
timer 3: on_timer 3,tester: timer_interval 3,delai% : timer_on 3
end

tester:
  res% = dll_call1("IsProcessResponding",adr(titre$))
  if res%<0
    message "Le programme à surveiller n'est pas actif"
    terminate
  end_if
  if res%<1
    font_size 2,16 : font_color 2,255,0,0
    caption 2,"attente..."+chr$(13)+chr$(10)+time$
  else
    font_size 2,12 : font_color 2,0,0,0
    caption 2,"prêt"+chr$(13)+chr$(10)+time$
  end_if
  return


Tu peux jouer sur la variable delai% pour optimiser les performaces globales du système, au détriment de la rapidité de détecion, si une réaction immédiant n'est pas nécessaire.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Marc

Marc


Nombre de messages : 2466
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

KGF_dll - nouvelles versions - Page 5 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 5 EmptyJeu 10 Mar 2022 - 18:38

Merci Klaus.

Malheureusement, ce n'est pas bon chez moi.

KGF_dll - nouvelles versions - Page 5 Klaus130

Code:
 titre$ = "Hortensia"    : ' partie du titre du programme à surveiller

La fonction IsProcessResponding renvoie "1".

scratch
J'ai bien la nouvelle version de KGF (non compressée mais c'est sans importance);
J'utilise bien le nouveau code-source de démonstration ;
Le programme "Hortensia" n'existe pas dans l'ordinateur.
Revenir en haut Aller en bas
Klaus

Klaus


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

KGF_dll - nouvelles versions - Page 5 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 5 EmptyJeu 10 Mar 2022 - 23:10

Le problème vient de la ligne 14 du programme Panoramic qui donne le même titre à la fenêtre de ce petit programme que celui du programme à surveiller.

Comme il ne fait aucun sens de se surveiller soi-même, j'ai exlu la fenêtre form 0 du programme appelant la fonction IsProcessResponding du traitement. Et tout fonctionne normalement.

Donc, recharge la DLL ett ça marchera. sinoon, tu peur aussi changer ou supprimer la ligne 11. C'est au choix...

EDIT

Oups - j'ai validé un peu trop tôt - le chargement de la DLL sur le site est en cours...

EDIT 10/03/2022 à 23:19

L'envoi sur le site est passé. Le téléchargement pourra être fait...

J'ai même affiné la détection:
maintenant le programme est déclaré "en attente" dans deux cas
- le titre le la fenêtre principale comporte le complément (Ne répond pas)
- Windows de façon interne estime que le programme ne répond pas, en utilisant l'API IsHungAppWindow de User32.dll
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Marc

Marc


Nombre de messages : 2466
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

KGF_dll - nouvelles versions - Page 5 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 5 EmptyVen 11 Mar 2022 - 8:41

Bonjour Klaus et bonjour à tous !

Sujet : fonction IsProcessResponding

C'est parfait ! cheers

Merci Klaus !
Revenir en haut Aller en bas
Klaus

Klaus


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

KGF_dll - nouvelles versions - Page 5 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 5 EmptyVen 11 Mar 2022 - 8:48

Very Happy Very Happy Very Happy Merci, Marc !
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

KGF_dll - nouvelles versions - Page 5 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 5 EmptySam 12 Mar 2022 - 17:47

Bonjour Klaus,

J'utilisais jusqu'à présent l'ancien objet designer mais je vois qu'il a été modifier dans les dernières versions de KGF...
Il faut dire que je ne l'ai pas utilisé depuis un certain temps ! Laughing

la mise en œuvre est un peu laborieuse (le temps de me remettre dans le bain...) mais j'y suis arrivé !

J'aimerai savoir s'il y a possibilité de paramétrer par défaut l'épaisseur du cadre jaune car il masque parfois l'objet ce n'est pas très pratique pour les alignements.
Voir même pouvoir mettre l'épaisseur à 0 et ne garder que les carrés dans les angles...

D'autre part, pour le pas de déplacement, dans l'ancienne version il me semble qu'on pouvait déterminer cela dès le départ. Est il possible de faire pareil ?
J'ai bien utilisé l'option 5 mais cela ne fait rien !

Merci pour ta réponse.


Dernière édition par Minibug le Sam 12 Mar 2022 - 18:11, édité 1 fois
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Klaus

Klaus


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

KGF_dll - nouvelles versions - Page 5 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 5 EmptySam 12 Mar 2022 - 18:09

Je vais regarder ça, Minibug. Ca ne doit pas être trop compliqué...
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

KGF_dll - nouvelles versions - Page 5 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 5 EmptySam 12 Mar 2022 - 18:10

Bonsoir Klaus. On s'est croisé...

Je modifiais mon message pour qu'il soit plus clair.

Merci pour ta réactivité. Wink
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Klaus

Klaus


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

KGF_dll - nouvelles versions - Page 5 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 5 EmptySam 12 Mar 2022 - 18:44

Actuellement, la bordure jaune prend la largeur constante de 8 pixels qui est la largeur des poignées.

Est-ce que je laisse les poignées à cette dimension et je change la largeur du jaune indépendemment, ou est-ce que je modifie les deux en synchrone ? Dans la première option, les poignées seront éventuellement réduites en largeur mais en gardant leur longueur. Dans le second cas, elles resteront carrées mais plus ou moins grandes.

A toi de choisir...
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

KGF_dll - nouvelles versions - Page 5 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 5 EmptySam 12 Mar 2022 - 18:53

On ne peut pas laisser les points tels quels et modifier juste la bordure ?

Ben sinon je sais pas. il faut essayer différents paramètres pour voir ce que ça donne ou peut être diminuer un peu la bordure.
A toi de voir ce qui est le plus pratique et facile a mettre en œuvre pour toi...
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Klaus

Klaus


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

KGF_dll - nouvelles versions - Page 5 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 5 EmptySam 12 Mar 2022 - 19:53

Ok. Je vais faire au mieux et je vais te laisser juger du résulat.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Klaus

Klaus


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

KGF_dll - nouvelles versions - Page 5 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 5 EmptyDim 13 Mar 2022 - 1:12

KGF.dll V9.74 du 13/03/2022

Nouveautés:
- DesignerFunction: nouveau code 8: choisir la largeur de la bordure "jaune"

Modules modifiés:
KGF.dll

La doc est en cours de rédaction, en même temps que la doc pour TRecord qui est en cours de réalisation.

Sans utiliser ce code, tout fonctionnera comme avant. Avec le act%=8, le paramètre opt% dans l'appel:
Code:
res% = dll_call6("DesignerFunction",obj%,act%,handle(parent%),handle(memo%),object_internal(object%),opt%)
donne la largeur de la brdure jaune, en pixels. Si opt%=0, on réutilise la largeur par défaut qui est de 8 pixels. sinon, la valeur de opt% sera utilisée comme largeur de la bordure jaune.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

KGF_dll - nouvelles versions - Page 5 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 5 EmptyDim 13 Mar 2022 - 8:44

Bonjour Klaus !

Merci pour ton travail.

J'ai un problème avec la fonction DesignerFunction qui chez moi semble inopérante !

D'ailleurs comme je disais dans le précédent message, je n'arrive pas non plus à régler le pas de déplacement.
Tout cela fonctionnait parfaitement avec l'ancienne version c'est bizarre !

Est ce qu'il y a quelque chose que je ne fais pas correctement ?!
Merci d'avance pour ton aide. Wink

PS :  si DesignerFunction gére des paramètres du Designer pourquoi est ce qu'on est obligé de rentrer handle(parent%),handle(memo%) et object_internal(object%) ? scratch geek
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Klaus

Klaus


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

KGF_dll - nouvelles versions - Page 5 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 5 EmptyDim 13 Mar 2022 - 8:54

Citation :
PS : si DesignerFunction gére des paramètres du Designer pourquoi est ce qu'on est obligé de rentrer handle(parent%),handle(memo%) et object_internal(object% ? scratch geek
Ce sont des paramètres qui servent pour certaines actions de DesignerFunction mai spas pour toutes. Pour l'actino 8, par exemple, on peuyr passer 0 dans ces paramètres car ils sont ignorés.

Je vais reprendre mon vieux programme de test et voir ce qu'il a dans le ventre. J'avoue que pour le moment, je suis en train de finaliser l'objet TRecord et un programme de démo complet pour cela (une facturation avec 3 fichiers TRecord) ainsi que la doc. Mais je vais me pencher sur Designer aujourd'hui.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

KGF_dll - nouvelles versions - Page 5 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 5 EmptyDim 13 Mar 2022 - 9:19

Ok Klaus. Merci.

Voila comment je gère la procédure lors d'un click sur l'objet a sélectionner :

Code:
  ' Sélection de l'objet en cours
   no%=GRID_READ$(GridObjet%,nlg%,35)                                       : ' Determine le numéro de l'objet sélectionné
   to$=RIGHT$("0"+STR$(OBJECT_TYPE(no%)),2)                              : ' Determine le type de l'objet sélectionné                                                    
   hp%=HANDLE(PARENT(no%))                                                        : ' Determine le numéro du handle de l'objet parent
   mo%=HANDLE(MEMO_objets_design%)                                          : ' Determine le numéro du memo
   oi%=OBJECT_INTERNAL(no%)                                                        : ' Determine le numéro interne de l'objet sélectionné

   res%=DLL_CALL1("DeleteDesigner",sres%)                                      : ' Déselection de l'objet

   res%=DLL_CALL6("DesignerFunction",no%,5,hp%,mo%,oi%,10)       : '    Configuration du déplacement magnetique en pas de 10
   res%=DLL_CALL6("DesignerFunction",no%,8,hp%,mo%,oi%,4)         : '    Configuration du cadre en épaisseur 4 pixels
   sres%=DLL_CALL5("CreateDesigner",no%,hp%,mo%,oi%,1)             : '    Sélection de l'objet pour deplacement ou agrandissement

Et j'ai bien sûr une procédure ON_CHANGE pour le MEMO :

Code:
  OFF_CHANGE MEMO_objets_design%

   ch$=TEXT$(MEMO_objets_design%)      
   pos%=INSTR(ch$,",") : selObjet%=VAL(LEFT$(ch$,pos%-1)) : ch$=RIGHT$(ch$,LEN(ch$)-pos%)
   pos%=INSTR(ch$,",") : LEFT selObjet%,VAL(LEFT$(ch$,pos%-1)) : ch$=RIGHT$(ch$,LEN(ch$)-pos%)
   pos%=INSTR(ch$,",") : TOP selObjet%,VAL(LEFT$(ch$,pos%-1)) : ch$=RIGHT$(ch$,LEN(ch$)-pos%)
   pos%=INSTR(ch$,",") : WIDTH selObjet%,VAL(LEFT$(ch$,pos%-1)) : ch$=RIGHT$(ch$,LEN(ch$)-pos%)
   pos%=INSTR(ch$,",") : HEIGHT selObjet%,VAL(ch$)

   ON_CHANGE MEMO_objets_design%,Menuchangeobjet


Le tout fonctionne correctement sauf les options DesignerFunction !
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Klaus

Klaus


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

KGF_dll - nouvelles versions - Page 5 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 5 EmptyDim 13 Mar 2022 - 11:26

En fait, il y avait plusieurs problèmes.

D'abord, un problème avec la doc de DesignerFunction:
Le premier paramètre de DesignerFunction est le numéro d'action (5 pour changer la sensibilité de la grille magnétique)
Le deuxième paramètre doit être l'objet Designer "entourant" l'objet Panoramic à traiter (DS% dans la doc)
Pour l'action 5, le 6ème paramètre est la taille de la grille magnétique.
Les autres paramètres sont ignorés pour l'action 5 et peuvent être passés comme 0.

Puis, changer la largeur de la bordure par Designerfunction ne marche pas, car le Designer est déjà créé à ce moment et on ne peut plus le retoucher. Il faut que la largeur soit définie lors par CreateDesigner, et c'est pouquoi je lui ai ajouté un 6ème paramètre.

Regarde la démo fonctionnelle suivante:
Code:
' test_designer.bas

label change

dim res%, i%, s$, obj%, DS%, p%

dll_on "KGF.dll"

memo 10 : ' mémo à traiter
memo 123 : hide 123 : bar_both 123 : ' mémo pour les évènements
  on_change 123,change
DS% = dll_call6("CreateDesigner",10,handle(0),handle(123),object_internal(10),1,6)
res% = dll_call6("DesignerFunction",5,DS%,0,0,0,24)
message str$(DS%)+"  "+str$(res%)
end

change:
  for i%=1 to count(123)
    s$ = trim$(item_read$(123,i%))
    if s$="" then return
    p% = instr(s$,",")
    obj% = val(left$(s$,p%-1))
    s$ = mid$(s$,p%+1,100)
    p% = instr(s$,",")
    left obj%,val(left$(s$,p%-1))
    s$ = mid$(s$,p%+1,100)
    p% = instr(s$,",")
    top obj%,val(left$(s$,p%-1))
    s$ = mid$(s$,p%+1,100)
    p% = instr(s$,",")
    width obj%,val(left$(s$,p%-1))
    s$ = mid$(s$,p%+1,100)
    height obj%,val(s$)
  next i%

  return

La largeur de la bordure est réduite à 6 pixels. 4 pixels marchent aussi, mais il faut bien viser avec a souris...
La taille de la grille magnétique est de 24 pixels pour pouvoir visualiser son effet.

Il faut recharger KGF.dll ien sûr !

Je vais actualiser la documentation.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

KGF_dll - nouvelles versions - Page 5 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 5 EmptyDim 13 Mar 2022 - 12:15

Merci Klaus ! Ca fonctionne parfaitement.

Encore une petite chose...

Lorsqu'on clique sur la flèche directionnelle en haut à gauche de la sélection, les données ne sont pas transmises dans le memo.
Et donc l'objet n'est pas actualisé et déplacé !

D'autre part, lorsqu'un objet est sélectionné, crois tu qu'il serait possible de le déplacer avec les flèches directionnelles du clavier ?
Ca serait encore plus pratique pour affiner le positionnement.

J'en demande peut être beaucoup... Si cela est trop compliqué laisse tomber.
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Klaus

Klaus


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

KGF_dll - nouvelles versions - Page 5 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 5 EmptyDim 13 Mar 2022 - 12:26

Citation :
Lorsqu'on clique sur la flèche directionnelle en haut à gauche de la sélection, les données ne sont pas transmises dans le memo.
Et donc l'objet n'est pas actualisé et déplacé !
C'est pour déplacer l'objet tel qu'il est, non ? Alors, enfonce le bouton gauche n'importe où dans la bordure jaune SAUF dans les poignées et "tire" l'objet. Il se déplacera selon la grille magnétique.

Citation :
D'autre part, lorsqu'un objet est sélectionné, crois tu qu'il serait possible de le déplacer avec les flèches directionnelles du clavier ?
Pourquoi pas ? Je vais regarder ce que cela implique...
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Contenu sponsorisé





KGF_dll - nouvelles versions - Page 5 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 5 Empty

Revenir en haut Aller en bas
 
KGF_dll - nouvelles versions
Revenir en haut 
Page 5 sur 15Aller à la page : Précédent  1, 2, 3, 4, 5, 6 ... 10 ... 15  Suivant
 Sujets similaires
-
» KGF_dll - nouvelles versions
» Nouvelles versions
» Synedit_Editor - nouvelles versions
» KGF_dll - nouvelles versions
» KGF_dll - nouvelles versions

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: Activité des sites créés par les Panoramiciens. :: Le site de Klaus-
Sauter vers: