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 Emptypar Pedro Sam 23 Nov 2024 - 15:50

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

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

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

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

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

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

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

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

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

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

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

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

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

» fichier.exe
KGF_dll - nouvelles versions 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 :
Code promo Nike : -25% dès 50€ ...
Voir le deal

 

 KGF_dll - nouvelles versions

Aller en bas 
+8
JL35
Marc
papydall
Jicehel
Yannick
pascal10000
Minibug
Klaus
12 participants
Aller à la page : 1, 2, 3 ... 20 ... 40  Suivant
AuteurMessage
Klaus

Klaus


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

KGF_dll - nouvelles versions Empty
MessageSujet: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions EmptyDim 22 Nov 2015 - 15:33

La fonction DesignerFunction avec le code 2 désélectionne l'objet que tu passes en paramètre, via OBJECT_INTERNAL().. Dans mon programme de démo, je le fais dans le sous-programme desel qui est activé par un clic dans la liste des objets sélectionnés (mais peu importe ce mécanisme - ce qui importe, c'est de récupérer la valeur de OBJECT_INTERNAL de l'objet que tu veux sélectionner):
Code:
desel:
  s$ = item_read$(101,item_index(101))
  n% = val(s$)
  res% = dll_call4("DesignerFunction",2,handle(parent%),n%,0)
  res% = dll_call4("DesignerFunction",3,handle(101),0,0)
  return
Tu vois qu'ici, n% est la valeur entière correspondant à la ligne dans la liste qui a été cliquée, donc bel et bien le OBJECT_INTERNAL de l'objet. Essaie dans ma démo de mukti-sélectionner plusieurs objets, puis de cliquer sur une des lignes de la liste !
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 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions EmptyDim 22 Nov 2015 - 15:52

Oui c'est bien ce que je fais, mais parfois il y a un blocage.
Je ne comprends pas ! scratch
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 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions EmptyDim 22 Nov 2015 - 16:15

Essaie comme ceci:
Code:
label click
dim res%, parent% , n% , s%
button 1 : LEFT 1,50 : TOP 1,50 : CAPTION 1,"TEST 1" : on_click 1,click
button 2 : LEFT 2,50 : TOP 2,100 : CAPTION 2,"TEST 2" : on_click 2,click
button 3 : LEFT 3,50 : TOP 3,150 : CAPTION 3,"TEST 3" : on_click 3,click

LIST 5 : LEFT 5,200 : TOP 5,50 : HEIGHT 5,200

dll_on "KGF.dll"

end

click:
  parent% = object_parent(number_click)
  IF COUNT(5)>0
    FOR n%=1 TO COUNT(5)
        IF object_internal(number_click)=VAL(ITEM_READ$(5,n%))
          res%=dll_call4("DesignerFunction",2,handle(parent%),object_internal(number_click),0)
          res%=dll_call4("DesignerFunction",3,handle(5),0,0)
          return
        END_IF
    NEXT n%
  END_IF
  res% = dll_call4("DesignerFunction",4,handle(parent%),object_internal(number_click),0)
  res%=dll_call4("DesignerFunction",3,handle(5),0,0)
return
C'est plus simple. En fait, tu mélangeais la version "mono" avec la version "multi" de la sélection.
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 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions EmptyDim 22 Nov 2015 - 16:23

En reprenant ton code j'ai toujours un blocage sur certains objets.

Je clique a de nombreuses reprises sur les 3 boutons sans ordre précis
A un moment certains objets ne se désélectionnent plus !

Je dois sélectionner un objet non sélectionner pour désélectionner les autres.
C'est étrange  Exclamation  Question

As tu testé le programme ?
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 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions EmptyDim 22 Nov 2015 - 16:32

Oui, j'avais testé. Mais en effet, en cliquant souvent et dans n'importe quel ordre, j'arrive à reproduire le phénomène. Je corrige...
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 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions EmptyDim 22 Nov 2015 - 16:50

Nouvelle version:
KGF.dll V5.44 du 22/11/2015

Nouveautés:
- module Designer: correction d'un bug dans DesigenrFunction code 2

Modules modifiés:
KGF.dll

La doc est inchangée. Les sources sont à jour.

Voilà - le bug sur le bloquage en suppression est résolu !
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 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions EmptyDim 22 Nov 2015 - 17:01

OK Klaus !

Je viens de maltraiter les objets durant plusieurs minutes et tout va bien maintenant !
Merci.
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 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions EmptyDim 22 Nov 2015 - 17:09

@Cosmos70:
sur mon WebDav, j'ai mis une version spéciale de KGF.dll que j'ai nommée KGF_test.dll. Et j'ai adapté le programme de démo pour "piéger" l'élément perturbateur. Fais marcher cela, en utilisant le bouton "Complet", et dis-moi quel est le dernier élément affiché dans le mémo, au moment du plantage:
Code:
' test_GetPrinterInformation.bas

label test0, test1

dim res%, i%

width 0,screen_x
button 1 : caption 1,"Complet" : on_click 1,test0
button 2 : caption 2,"Réduit" : on_click 2,test1 : left 2,100
memo 3  : bar_both 3 : top 3,40 : full_space 3 : height 3,height(3)-40 : top 3,40


dll_on "KGF_test.dll"

end

test0:
  for i%=1 to 17
    res% = dll_call2("GetPrinterQueueInformation",i%,handle(3))
    display
    pause 1000
  next i%
  return

'  res% = dll_call2("GetPrinterQueueInformation",0,handle(3))
  return
test1:
  res% = dll_call2("GetPrinterQueueInformation",1,handle(3))
  return


As-tu eu l'occasion de faire cela ?
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 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions EmptyDim 22 Nov 2015 - 17:53

Nouvelle version:
KGF.dll V5.45 du 22/11/2015

Nouveautés:
- GetPrinterQueueInformation: gérer le cas des champs absents

Modules modifiés:
KGF.dll
KGF.chm


La doc et les sources sont à jour.

J'ai traité correctement le cas où certains champs sont illisibles ou absents, selon les versions de Windows. Dans la ligne résultante, le champ sera toujours présent, mais avec le signe "?" comme données.

@Cosmos70:
Ne t'embête pas avec KGF_test.dll. Reprends simplement la nouvelle version de KGF.dll, et dans le programe de démo ci-après, utilise le bouton "Complet". Puis, tu défiles le résultat et tu me signales les noms pour lesquels des données sont le point d'interogation. Cela m'aidera à voir plus clair.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Invité
Invité




KGF_dll - nouvelles versions Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions EmptyDim 22 Nov 2015 - 20:16

Je viens de rentrer, voici le résultat.

avec GreenCloud
JobStatus=?Name=HP Deskjet 2050 J510 series (Copie 1),PagesPrinted=0,PrintStatus=UNKNOWN,TotalPages=1,JobStatus=?Name=HP Deskjet 2050 J510 series (Copie 1),PagesPrinted=0,PrintStatus=UNKNOWN,TotalPages=1,JobStatus=?Name=HP Deskjet 2050 J510 series (Copie 1),PagesPrinted=0,PrintStatus=UNKNOWN,TotalPages=1,JobStatus=?Name=Canon MG6400 series Printer,PagesPrinted=0,PrintStatus=UNKNOWN,TotalPages=1,


avec HP Deskjet 2050 series
JobStatus=?Name=HP Deskjet 2050 J510 series (Copie 1),PagesPrinted=0,PrintStatus=UNKNOWN,TotalPages=1,JobStatus=?Name=HP Deskjet 2050 J510 series (Copie 1),PagesPrinted=0,PrintStatus=UNKNOWN,TotalPages=1,JobStatus=?Name=HP Deskjet 2050 J510 series (Copie 1),PagesPrinted=0,PrintStatus=UNKNOWN,TotalPages=1,JobStatus=?Name=HP Deskjet 2050 J510 series,PagesPrinted=0,PrintStatus=UNKNOWN,TotalPages=1,JobStatus=?Name=Canon MG6400 series Printer,PagesPrinted=0,PrintStatus=UNKNOWN,TotalPages=1,

Maintenant c'est la soupe !

Je vois que dans les deux cas GreenCloud Printer n'est pas dans la liste, alors qu'elle y est dans le sélecteur d'imprimante.
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 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions EmptyDim 22 Nov 2015 - 21:31

GreenCloud printer est un driver d'imprimante virtuelle. La transmission du fichier à imprimer vers GreenCloud est très rapide. Est-ce que tu vois le job d'impression dans la file d'attente de Windows, alors qu'il n'apparaît pas dans la liste proposée par la DLL ? CE que tu vois comme résultat de ma fonction, ce sont les impressions "en attente" de fin d'édition, celles déjà commencées et pas terminées ainsi que celles pas encore commencées. Mais ce qui est déjà transmis à GreenCloud, c'est déjà "terminé"pour Windows, et donc plus disponbible dans la file d'attente, et je ne peux donc pas l'afficher. Je n'ai aucun moyen de savoir ce qui se passe à l'intérieur de GreenCloud. Si, à partir de GrrenCloud, tu l'envoies sur la HP ou la Canon, alors cela apparaîtra à nouveau, jusqu'au moment de fin d'impression.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Invité
Invité




KGF_dll - nouvelles versions Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions EmptyDim 22 Nov 2015 - 22:20

Ce que je comprend est: que GreendCloud n'apparait. On voit le résultat de l'impression une fois que j'ai cliqué sur imprimer, dans ce drivers, alors on voit que l'impression est en cours dans HP GeskJet 2050: Voici ce que j'ai copié:
Spoiler:

Ce qui veut dire que les impressions vont s'accumuler sur GreenCloud jusqu'à ce que celui-ci s'ouvre, et que je clique sur imprimer. Ce qui veut dire que si je ralenti pas l'impression d'une manière ou d'une autre, il va y avoir un blocage par Greendcloud, vu la limitation des pages.
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 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions EmptyDim 22 Nov 2015 - 23:48

Je n'ai pas vraiment de solution pour ça... Dans la DLL, je ne peux pas savoir du tout ce qui se passe dans GreenCloud. Et de toutes façons, tu gère cela manuellement, dans GreenCloud.

Donc, pour moi,il n'y a qu'une solution: compter les pages dans le programme aoolication, et lorsqu'une limite raisonnable est atteinte, afficher un message avec demande de confirmation avant de continuer. Ainsi, lorsque le lot est prêt, tu peux intervenir dans GreenCloud. Et lorsque ce dernier a fini, tu valides le message dans le programme Panoramic pour cintinuer.

Désolé, mais là, on est dans un domaine qui est inaccessible à la DLL.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Invité
Invité




KGF_dll - nouvelles versions Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions EmptyLun 23 Nov 2015 - 0:13

Lorsque j'ai vu le résultat, c'est ce que j'ai compris. Pour tester vraiment à fond, il faudrait que j'imprime 10 pages, et j'ai presque plus d'encre avec HP Desket. Donc le résultat je le connaitrait lorsque j'aurai fini d'instaler un kit d'encre continu sur la canon.

J'ai géré comme cela pour l'instant (c'es qu'une partie du code:

Code:
impression(0) : imprimer = imprimer+1
                     if imprimer > 9
                        repeat
                           res% = dll_call2("GetPrinterQueueInformation",1,handle(8))
                           tx$ = item_read$(8,1) : pause 1000
                        until instr( tx$,"JobStatus=Impression en cours") > 0  or scancode = 27
                        if scancode = 27
                           if message_confirmation_yes_no("on annule l'impression") = 1 then sortie=1:exit_repeat
                        end_if
                        imprimer = 0
                     end_if
                     debut = bas+1
                     bas = debut + lig_maxi-1 : if bas > fin then bas = fin
                     wait 1000
                  until bas = fin
                  if sortie = 1 then exit_for

A propos, il faut que je mette 1 ou 0 dans la dll pour ce cas précis?
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 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions EmptyLun 23 Nov 2015 - 0:19

Dans les deux cas, le paramètre JobStatus est retourné. Donc, pour réduire les données et garder quelque chose de plus lisible, il suffit de passer 1 à la fonction.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
pascal10000

pascal10000


Nombre de messages : 812
Localisation : Troyes
Date d'inscription : 05/02/2011

KGF_dll - nouvelles versions Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions EmptyLun 23 Nov 2015 - 7:32

bjr klaus

Dans la section gridfonction peut tu donner un exemple pour utilisé
Act% /saisie directe dans le GRID/ 0|1

j'utilise cette procédure
  res% = dll_call6("GridFunction",object_internal(6),1,2-1,x%-1,RGB%,FRGB%)
qui fonctionne mais je souhaite que la case 2/1 du grid soit interdit à la saisie
merci

Ps: il faudrait que tu complète plus d'exemple dans l'aide pour les actions de gridfonction
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 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions EmptyLun 23 Nov 2015 - 10:05

Citation :
res% = dll_call6("GridFunction",object_internal(6),1,2-1,x%-1,RGB%,FRGB%)
C'est d'ailleurs équivalent à
Code:
  res% = dll_call6("GridFunction",object_internal(6),1,0,0,0,0)
car les autres paramètres sont ignorés pour le code 1.

Effectivement, cela autorise la saisie directement dans les cellules. Mais c'est une autorisation générale de saisie, quelque soit la cellule. A ce jour, il n'y a aucun mécanisme permettant d'exclure une cellule de cette autorisation. Solutioin: n'utilise pas cette possibilité, mais procède de la manière suivante:
1. définis un ON_CLICK sur le GRID
2. définis un EDIT N, invisible, avec un évènement ON_CHANGE
3. dans la routine évènement, détermine la cellule choisie
4. positionne l'EDIT N exactement par-dessus la cellule, place le contenu de la cellule dedans, rends-le visible et donne-lui le focus
5. dans la routine ON_CHANGE du EDIT N, contrôle la saisie et mets à jour la cellule du GRID

Evidemment, si dans (3), tu découvres que la cellule ne devrait pas être saisie, ne passe pas en (4)...

Citation :
il faudrait que tu complète plus d'exemple dans l'aide pour les actions de gridfonction
Pourquoi pas ? Donne-moi des idées d'exemple que tu souhaites trouver - je verrai ce que je pourrai faire. As-tu étudié le programme de démo que j'avais publié pour le GRID ?
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 Empty
MessageSujet: re   KGF_dll - nouvelles versions EmptyLun 23 Nov 2015 - 10:27

Embarassed  Je viens me mêler de la conversation pour prêcher la bonne parole du Mag.

Lorsque tu fais un tuto, exemple plus complet de la doc courte, nous avons un souci.
Celui ci se perd dans le flot des conversations et des interventions sur d' autres fonctions de la dll.

Peut être serait il plus facile à retrouver si tu en faisait un petit article pour le mag
en plaçant un lien vers son emplacement sur le forum pour ceux qui veulent bénéficier des conversations.
Tu l' avais très bien fait pour ISAM.

Un Tuto n' est pas figé, tu peux garder ton source et le mettre à jour en fonction des évolutions,
corrections de bug, etc...
Pour moi, il suffit de me le signaler quand on le place sur le webdav, en nommant tout simplement le fichier
par un préfixe "MAJ_nom_du_fichier". A ce moment là, je remplace l' ancien par le nouveau au lieu de l' ajouter.

Bon, je sors...
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 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions EmptyLun 23 Nov 2015 - 10:43

@Pascal1000:
Pour ton problème de non-saisie dans certaines cellules:
Est-ce que, si je te donne le moyen d'interdire le clic dans certaines cellules, ça pourrait être une solution ?
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
pascal10000

pascal10000


Nombre de messages : 812
Localisation : Troyes
Date d'inscription : 05/02/2011

KGF_dll - nouvelles versions Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions EmptyLun 23 Nov 2015 - 12:14

bien sur klaus que ça peut me servir
j'ai tenté avec un si x%=1 then return cela
ne marche pas
même en faisant x%=1 then res% = dll_call6("GridFunction",object_internal(6),1,0,2,x%,0)
cela ne marche pas

le grid est formé comme ceci

grid 6
parent 6,2
top 6,2
width 6,178
height 6,330
grid_row 6,1 : ' enleve row fix
grid_column 6,2
grid_column_width 6,88
grid_row_height 6,21
grid_row 6,13
on_click 6,gridedit

mrc d'avance
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 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions EmptyLun 23 Nov 2015 - 13:44

Citation :
même en faisant
x%=1 then res% = dll_call6("GridFunction",object_internal(6),1,0,2,x%,0)
cela ne marche pas
Qu'est-ce que tu veux dire par cela ? De toutes façons, comme je l'ai dit dans un post précédent, la fonction GridFunction avec le code 1 ignore les autres paramètres sauf par1%. Donc, ton code set identique à
Citation :
même en faisant
x%=1 then res% = dll_call6("GridFunction",object_internal(6),1,0,0,0,0)
cela ne marche pas
Je ne vois pas ce que le x% et le 2 pourraient avoir comme influence...

Mais tel quel, celle ligne désactive la saisie dans les cellules du grid. Pour autoriser, il faut faire:
Code:
res% = dll_call6("GridFunction",object_internal(6),1,1,0,0,0)

Je crée un moyen de se positionner sur certaines cellules - ce sera bientôt dans la nouvelle version.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
pascal10000

pascal10000


Nombre de messages : 812
Localisation : Troyes
Date d'inscription : 05/02/2011

KGF_dll - nouvelles versions Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions EmptyLun 23 Nov 2015 - 14:59

klaus
j'ai trouvé une parade qui à l'air d'être la bonne

gridedit:
x%=grid_y_to_row(6,mouse_y_position(6))
if x%=1
res% = dll_call6("GridFunction",object_internal(6),1,0,0,0,0)
else
res% = dll_call6("GridFunction",object_internal(6),1,1,0,0,0)
end_if
return
pourquoi n'y ai-je pas pensé avant?
le 2 je l'ai pris pour paramètre 2 eme colonne c p'têt une erreur, et x% pour la rangée
puisque avec 2-1,x%-1 j'ai pris le même raisonnement de
res% = dll_call6("GridFunction",object_internal(6),1,2-1,x%-1,RGB%,FRGB%)
voilà pourquoi
ça a ptêt aucun rapport.
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 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions EmptyLun 23 Nov 2015 - 15:13

C'est une bonne idée: désactiver ou réactiver l'éditeur cellulaire lors d'un clic dans une cellule. Mais il reste un problème: si tu te déplaces dans le GRID avec les flèches, tu peux tomber sur la cellule interdite en saisie. Et est-ce que ton mécanisme la protège dans ce cas ? Pas sûr !

Je suis en train de finaliser une version qui permet de définir un nombre non limité de zones rectangulaires protégées (sur lesquelles on ne pourra pas se posionner).
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 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions EmptyLun 23 Nov 2015 - 15:24

Nouvelle version:
KGF.dll V5.46 du 23/11/2015

Nouveautés:
- GridFunction: ajout code opération 12

Modules modifiés:
KGF.dll
KGF.chm


La doc et les sources sont à jour.

Ce nouveau code permet de définir un rectangle de cellules"protégées". Ce sont des cellules dans lesquelles on ne peut pas positionner le curseur, ni en clioquant dessus, ni en se déplaçant par les flèches. On peut définir autant de rectangles que nécessaire. Ces rectangles peuvent se chevaucher.

Voici une démo. Pour une meilleure visibilité, les deux rectangles protégés sont colorés:
Code:
' test_GridFunction_code_12.bas

' Ce programme teste le code 12 de GridFunction.
' Ce code permet de définir des rectangles dans un GRID
' pour lesquels la sélection est interdite.

dim res%, l%, c%, RGB%

width 0,680 : height 0,320
grid 1 : full_space 1 : grid_row 1,10 : grid_column 1,10
for l%=1 to 10
  for c%=1 to 10
    grid_write 1,l%,c%,str$(l%)+","+str$(c%)
  next c%
next l%

display

dll_on "KGF.dll"



' première zone interdite
res% = dll_call6("GridFunction",object_internal(1),12,3,2,5,3)
' seconde zone interdite
res% = dll_call6("GridFunction",object_internal(1),12,7,4,8,5)

' activer les couleurs personnalisées
 res% = dll_call6("GridFunction",object_internal(1),8,1,0,0,0)

RGB(255,200,200)
for l%=2 to 3
  for c%=3 to 5
    ' couleur de la première zone interdite
    res% = dll_call6("GridFunction",object_internal(1),2,c%,l%,RGB%,RGB%)
  next c%
next l%

RGB(200,200,255)
for l%=4 to 5
  for c%=7 to 8
    ' couleur de la première zone interdite
    res% = dll_call6("GridFunction",object_internal(1),2,c%,l%,RGB%,RGB%)
  next c%
next l%

end

sub RGB(R%,G%,B%) : ' produire une valeur RGB valide
 RGB% = (B%*256+R%)*256+G%
end_sub

Voici ce que ça donne à l'écran:
KGF_dll - nouvelles versions Aa113
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 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions EmptyLun 23 Nov 2015 - 20:51

Nouvelle version:
KGF.dll V5.47 du 23/11/2015

Nouveautés:
- nouvelle fonction GetGridCellMap

Modules modifiés:
KGF.dll
KGF.chm


La doc et les sources sont à jour.

Cette fonction permet de récupérer la liste des cellules "normales" et "protégées" par Gridfunction code 12.
Cela permet de visualiser, après une série de définitions de rectangles de protection, comment est organisé le GRID. Voici le programme démo:
Code:
' test_GridFunction_code_12.bas

' Ce programme teste le code 12 de GridFunction.
' Ce code permet de définir des rectangles dans un GRID
' pour lesquels la sélection est interdite.

dim res%, l%, c%, RGB%, s$

width 0,690 : height 0,310
grid 1 : width 1,660 : height 1,260
  grid_row 1,10 : grid_column 1,10
for l%=1 to 10
  for c%=1 to 10
    grid_write 1,l%,c%,str$(l%)+","+str$(c%)
  next c%
next l%

width 0,920
memo 2 : width 2,200 : left 2,width(1)+20
height 2,height(1) : font_name 2,"Courier"
display

dll_on "KGF.dll"

' première zone interdite
res% = dll_call6("GridFunction",object_internal(1),12,3,2,5,3)
' seconde zone interdite
res% = dll_call6("GridFunction",object_internal(1),12,7,4,8,5)

' activer les couleurs personnalisées
 res% = dll_call6("GridFunction",object_internal(1),8,1,0,0,0)

RGB(255,200,200)
for l%=2 to 3
  for c%=3 to 5
    ' couleur de la première zone interdite
    res% = dll_call6("GridFunction",object_internal(1),2,c%,l%,RGB%,RGB%)
  next c%
next l%

RGB(200,200,255)
for l%=4 to 5
  for c%=7 to 8
    ' couleur de la première zone interdite
    res% = dll_call6("GridFunction",object_internal(1),2,c%,l%,RGB%,RGB%)
  next c%
next l%

' chercher la map du grid
s$ = string$(3000," ")
res% = dll_call2("GetGridCellMap",object_internal(1),adr(s$))
text 2,trim$(s$)

end

sub RGB(R%,G%,B%) : ' produire une valeur RGB valide
 RGB% = (B%*256+R%)*256+G%
end_sub
Et le résultat:
KGF_dll - nouvelles versions Aa114

Essayez de cliquer dans les zones colorées, ou cliquez à côté et essayez d'aller dans ces zones avec les flèches... ça reste parfaitement protégé ! Non parce que c'est coloré, mais parce que ces deux rectangles ont été définis comme zones protégées, ce qui se voit dans le plan latéral par les "P" (retournés par la DLL).
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Contenu sponsorisé





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

Revenir en haut Aller en bas
 
KGF_dll - nouvelles versions
Revenir en haut 
Page 1 sur 40Aller à la page : 1, 2, 3 ... 20 ... 40  Suivant
 Sujets similaires
-
» Nouvelles versions
» KGF_dll - 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: