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 9 Emptypar Pedro Aujourd'hui à 10:37

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

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

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

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

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

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

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

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

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

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

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

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

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

» fichier.exe
KGF_dll - nouvelles versions - Page 9 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
-55%
Le deal à ne pas rater :
Friteuse sans huile – PHILIPS – Airfryer HD9200/90 Série 3000
49.99 € 109.99 €
Voir le deal

 

 KGF_dll - nouvelles versions

Aller en bas 
+8
JL35
Marc
papydall
Jicehel
Yannick
pascal10000
Minibug
Klaus
12 participants
Aller à la page : Précédent  1 ... 6 ... 8, 9, 10 ... 24 ... 40  Suivant
AuteurMessage
Minibug

Minibug


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

KGF_dll - nouvelles versions - Page 9 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 9 EmptyMer 17 Fév 2016 - 9:57

Bonjour Klaus !

Concernant les commandes SYNEDIT

Lorsque l'on souhaite réinitialiser les couleurs des MOT CLE, CHAINES ou COMMENTAIRES par :

res% = dll_call4("SyneditConfigureHighlighter",Syn%(1),6,adr(s$),adr(c$))

Est ce que l'on est obligé de passer par un reinitialisation complete par la fonction :

res% = dll_call3("SyneditFunction",Syn%(1),3,adr(t$))
   res% = dll_call4("SyneditConfigureHighlighter",Syn%(1),3,handle(571),0)
etc...



Merci d'avance pour ta réponse
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 9 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 9 EmptyMer 17 Fév 2016 - 13:06

Non, Minibug. Tous les codes fonction de SyneditConfigureHighlighter sont indépendants. Regarde comment c'est appelé dans Synedit_Editor.bas...
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 9 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 9 EmptyMer 17 Fév 2016 - 14:45

Merci Klaus.

Entre temps j'avais trouvé. 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 9 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 9 EmptyMer 17 Fév 2016 - 19:54

KGF.dll V6.00 du 17/02/2016

Nouveautés:
- nouveau code option 6 pour GetTreeViewInformation
- nouvelles fonctions LoadTreeViewFromFile, SaveTreeViewToFile, ClearTreeView


Modules modifiés:
KGF.dll
KGF.chm


La doc et les sources sont à jour.

Ces fonctions apportent sauvegarde et restauration d'un TreeView, ainsi qu'un moyen de connaître le nombre d'enfants d'un noeud.

Voici une démo avec une petite appli de gestion de raccourcis:
Code:
' demo_raccourcis_avec_treeview.bas

' ce programme enregistre et lance des raccourcis, classés par thèmes

  label close0, event, upd, del, new, load, empty, save
if 1=2
  label close0
  label event
  label upd
  label del
  label new
end_if

  dim M1% : M1% = 0 - 1
  dim kgf$ : kgf$ = "KGF.dll"
  dim res%, TV%, txt$, act%, lib$, lien$, typ%, cat%, niv%, p%, f$, ind%
 
  width 0,1000 : height 0,600 : on_close 0,close0
  caption 0,"Gestion des raccourcis"
  dll_on kgf$
 
'  TV% = dll_call3("CreateTreeViewEx",handle(0),1,M1%)    : ' créer le treeview
  TV% = dll_call3("CreateTreeView",handle(0),1,M1%)    : ' créer le treeview
  res% = dll_call5("ResizeTreeView",TV%,10,10,400,500)  : ' le dimensionner
  res% = dll_call4("SetTreeViewOptions",TV%,1,1,0)      : ' libellés non éditables
  CreerStructure()

  edit 17 : hide 17 : on_change 17,event
  res% = dll_call3("SetTreeViewEventReceiver",TV%,1,handle(17))
  open_dialog 18 : filter 18,"Bibliothèques de raccourcis *.lrc|*.lrc"
  save_dialog 19 : filter 19,"Bibliothèques de raccourcis *.lrc|*.lrc"

  panel 100 : top 100,10 : left 100,420 : width 100,500 : height 100,500

  alpha 101 : parent 101,100 : left 101, 20 : top 101,20 : caption 101,"Libellé:"
  edit 102  : parent 102,100 : left 102,100 : top 102,20 : width 102,300

  alpha 111 : parent 111,100 : left 111, 20 : top 111,50 : caption 111,"Lien:"
  edit 112  : parent 112,100 : left 112,100 : top 112,50 : width 112,300
 
  alpha 121 : parent 121,100 : left 121, 20 : top 121,80 : caption 121,"Nature:"
  container_option 122 : parent 122,100 : left 122,100 : top 122,80
    option 131 : parent 131,122 : top 131,20 : left 131,20 : caption 131,"Liens HTML"
    option 132 : parent 132,122 : top 132,40 : left 132,20 : caption 132,"Exécutables"
    option 133 : parent 133,122 : top 133,60 : left 133,20 : caption 133,"Adresses Mail"
    option 134 : parent 134,122 : top 134,80 : left 134,20 : caption 134,"Autres"
   
  button 151 : parent 151,100 : left 151,20 : top 151,200 : width 151,150 : caption 151,"Mettre à jour"
    on_click 151,upd
  button 152 : parent 152,100 : left 152,180 : top 152,200 : width 152,150 : caption 152,"Supprimer"
    on_click 152,del
  button 153 : parent 153,100 : left 153,340 : top 153,200 : width 153,150 : caption 153,"Créer"
    on_click 153,new
  button 154 : parent 154,100 : left 154,20 : top 154,240 : width 154,150 : caption 154,"Charger"
    on_click 154,load
  button 155 : parent 155,100 : left 155,180 : top 155,240 : width 155,150 : caption 155,"Vider"
    on_click 155,empty
  button 156 : parent 156,100 : left 156,340 : top 156,240 : width 156,150 : caption 156,"Sauver"
    on_click 156,save


  mark_on 131
 
  end
 
close0:
  res% = dll_call2("DeleteTreeView",TV%,0)
  res% = dll_call1("KillProcessByHandle",handle(0))
  return
 
event:
  txt$ = text$(17)
  ind% = 0
' message txt$
  if left$(txt$,6)<>"click," then return
  res% = dll_call3("GetTreeViewInformation",TV%,6,0)
' message "nombre d'enfants="+str$(res%)
  if res%>0
    text 102,""
    text 112,""
    mark_on 131
    return
  end_if
  lien$ = string$(255," ")
  niv% = dll_call3("GetTreeViewInformation",TV%,5,adr(lien$))
  if niv%<2
    text 102,""
    text 112,""
    mark_on 131
    return
  end_if
  lien$ = trim$(lien$)
  lib$ = string$(255," ")
  ind% = dll_call3("GetTreeViewInformation",TV%,2,adr(lib$))
  lib$ = trim$(lib$)
  p% = instr(lien$,",")
  if p%>0
    typ% = val(left$(lien$,p%-1))
    lien$ = mid$(lien$,p%+1,len(lien$))
  else
    typ% = val(lien$)
    lien$ = ""
  end_if
  text 102,lib$
  text 112,lien$
  mark_on 130+typ%
  return
 
upd:
  if ind%=0
    message "aucun élément sélectionné"
    return
  end_if
  lib$ = trim$(text$(102))
  if lib$<>"" then res% = dll_call4("ChangeTreeViewNodeText",TV%,1,ind%,adr(lib$))
  lien$ = str$(typ%)+","+trim$(text$(112))
  res% = dll_call4("SetTreeViewOptions",TV%,1,5,adr(lien$))
  return
 
del:
  if ind%=0
    message "aucun élément sélectionné"
    return
  end_if
  if message_confirmation_yes_no("Supprimer <"+text$(102)+"> ?")<>1 then return
  res% = dll_call1("DeleteTreeViewNode",TV%)
  text 102,""
  text 112,""
  ind% = 0
  return
 
new:
  lib$ = trim$(text$(102))
  lien$ = trim$(text$(112))
  if lib$=""
    message "Le libellé manque"
    return
  end_if
  if lien$=""
    message "Le lien manque"
    return
  end_if
  if checked(131)=1 then typ% = 1
  if checked(132)=1 then typ% = 2
  if checked(133)=1 then typ% = 3
  if checked(134)=1 then typ% = 4
 
  ChercherGroupe(typ%)
  res% = dll_call4("AddTreeViewChildNode",TV%,adr(lib$),15,148)
  lien$ = str$(typ%)+","+lien$
  res% = dll_call4("SetTreeViewOptions",TV%,1,5,adr(lien$))
  return
 
load:
  f$ = file_name$(18)
  if f$="_" then return
  CorrigerNomFichier()
  if f$="_"
  message "Nom de fichier manquant"
  return
  end_if
  if file_exists(f$)=0
    message "Librairie non trouvée"
    return
  end_if
  res% = dll_call2("LoadTreeViewFromFile",TV%,adr(f$))
  return
 
empty:
  if message_confirmation_yes_no("Vraiment tout effacer ?")<>1 then return
  res% = dll_call1("ClearTreeView",TV%)
  CreerStructure()
  return
 
save:
  f$ = file_name$(18)
  if f$="_" then return
  CorrigerNomFichier()
  if f$="_"
  message "Nom de fichier manquant"
  return
  end_if
  if file_exists(f$)=1
    if message_confirmation_yes_no("Librairie existe déjà. Remplacer ?")<>1 then return
  end_if
  res% = dll_call2("SaveTreeViewToFile",TV%,adr(f$))
  return
 
sub CreerStructure()
  txt$ = "Raccourcis"
  res% = dll_call4("AddTreeViewRootNode",TV%,adr(txt$),219,219)
  txt$ = "Liens HTML"
  res% = dll_call4("AddTreeViewChildNode",TV%,adr(txt$),141,141)
  lien$ = "1"
  res% = dll_call4("SetTreeViewOptions",TV%,1,5,adr(lien$))
  res% = dll_call3("SelectTreeViewNode",TV%,0,0)
  txt$ = "Exécutables"
  res% = dll_call4("AddTreeViewChildNode",TV%,adr(txt$),252,252)
  lien$ = "2"
  res% = dll_call4("SetTreeViewOptions",TV%,1,5,adr(lien$))
  res% = dll_call3("SelectTreeViewNode",TV%,0,0)
  txt$ = "Adresses Mail"
  res% = dll_call4("AddTreeViewChildNode",TV%,adr(txt$),260,260)
  lien$ = "3"
  res% = dll_call4("SetTreeViewOptions",TV%,1,5,adr(lien$))
  res% = dll_call3("SelectTreeViewNode",TV%,0,0)
  txt$ = "Autres"
  res% = dll_call4("AddTreeViewChildNode",TV%,adr(txt$),255,255)
  lien$ = "4"
  res% = dll_call4("SetTreeViewOptions",TV%,1,5,adr(lien$))
end_sub
 
sub ChercherGroupe(n%)
  dim_local n1%
  res% = dll_call3("SelectTreeViewNode",TV%,0,0)
  cat% = dll_call3("NavigateTreeView",TV%,6,0)      : ' premier enfant
  n1% = 1
  while n1%<n%
    cat% = dll_call3("NavigateTreeView",TV%,4,0)    : ' soeur suivante
    n1% = n1% + 1
  end_while
end_sub

sub CorrigerNomFichier()
  dim_local ext$
  ext$ = lower$(file_extract_extension$(f$))
  if ext$<>".lrc"
    if ext$<>"" then f$ = left$(f$,len(f$)-len(ext$))
    f$ = f$ + ".lrc"
  end_if
  if f$=".lrc" then f$ = "_"
end_sub

Et voici un fichier démo.lrc contenant uen version qu'un peut charger par le bouton "Charger":
Code:
0
0,-2147483643,218,218
Raccourcis

1,-2147483643,140,140
Liens HTML
1
2,-2147483643,14,147
Forum Panoramic
1,http://panoramic.1fr1.net/
2,-2147483643,14,147
Aide KGF.dll
1,http://klauspanoramic.olympe.in/KGF.html?SommaireIndex.html
1,-2147483643,251,251
Exécutables
2
1,-2147483643,259,259
Adresses Mail
3
1,-2147483643,254,254
Autres
4
2,-2147483643,14,147
Info à supprimer
4,essai
#END
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 9 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 9 EmptyJeu 18 Fév 2016 - 16:51

KGF.dll V6.01 du 18/02/2016

Nouveautés:
- restructuration technique interne pour l'objet TreeView (sans conséquences pour le codage Panoramic)
- nouvelle fonction ExtractImageFromImageList
- extension de fonctionnement de fonction AddImageToImageList


Modules modifiés:
KGF.dll
KGF.chm


La doc et les sources sont à jour.

La fonction ExtractImageFromImageList permet d'extraire n'importe quelle image individuelle d'un objet ImageList et de la placer, soit dans un fichier BMP, soit dans le presse-papier. De plus, optionnellement, l'image extraite peut être supprimée dans l'objet ImageList, après extraction.

La fonction AddImageToImageList prenait une image contenue dans un fichier pour l'ajouter à un objet ImageList. Maintenant, elle est également capable de prendre une image présente dans le presse-papier, sans passer par un fichier.

Voici une petite démo qui extrait 16 icônes 16x16 pixels d'une librairie d'images (prévu pour fonctionner avec KGF.ilb):
Code:
' test_ExtractImageFromImageList.bas

' Ce programme est prévu pour KGF.ilb.
' Pour une autre libairie, changer dimensions, nombre et positions des picture.

dim IL%, res%, i%, f$

dll_on "KGF.dll"

open_dialog 99 : filter 99,"Bibliothèque d'images *.ilb|*.ilb"

for i%=1 to 16
  picture i% : top i%,10 : left i%,10+i%*20 : height i%,16 : width i%,16
next i%

f$ = file_name$(99)
if f$="_" then terminate

IL% = dll_call2("CreateImageList",16,16)
res% = dll_call2("LoadImageList",IL%,adr(f$))
if res%<0
  message "Erreur ouverture"
  terminate
end_if

for i%=1 to 16
  res% = dll_call5("ExtractImageFromImageList",IL%,i%,1,1,0)
  if res%<0
    message "Erreur extraction"
    terminate
  end_if
  clipboard_paste i%
  display
  pause 200
next i%

end
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 9 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 9 EmptyDim 21 Fév 2016 - 11:49

Klaus, concernant les fenêtre SYNEDIT, y a t il un nombre maximum de fenêtre que l'on peut ouvrir simultanément ?

Par exemple pour panoramic, je suis sur un projet et je souhaite partager mon programme en plusieurs fenêtres :

Fenetre 1 : Le menu principal
Fenetre 2 :  Option graphique
Fenetre 3 : .....

Dans un tel cas ( C'est juste un exemple), y a t il une limite au nombre de ces fenetres ?

Merci d'avance pour ta réponse
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 9 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 9 EmptyDim 21 Fév 2016 - 12:22

Oui, il y a une limite. le système est limité à 100 fenêtres Synedit. Ca laisse de la marge...
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 9 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 9 EmptyDim 21 Fév 2016 - 12:28

Oui effectivement !

J'espérais une dizaine ou une vingtaine d'objets, donc bien au delà de mes espérance...
Merci Klaus
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Yannick




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

KGF_dll - nouvelles versions - Page 9 Empty
MessageSujet: re   KGF_dll - nouvelles versions - Page 9 EmptyDim 21 Fév 2016 - 15:59

J' ai tenté cela :
Code:
   TV%  = dll_call3("CreateTreeViewEx",handle(pan%(1)),1,adr(imglist$))
   res% = dll_call3("SetTreeViewEventReceiver",TV%,1,handle(TVinfo%))
   res% = dll_call5("ResizeTreeView",TV%,M%,M%,M%,M%)
   txt$ = "G:\"
   res% = dll_call2("LoadFolderTreeToTreeView",TV%,adr(txt$))
   res% = dll_call4("SetTreeViewOptions",TV%,1,7,2)
   res% = dll_call4("SetTreeViewOptions",TV%,1,8,3)
mais rien l' emplacement de l' icone est blanc.
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 9 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 9 EmptyDim 21 Fév 2016 - 16:23

Première remarque:
en cas de problème, après chaque appel, vérifie la valeur du code retourné. Systématiquement. Cmme ça, s'il y a une anomalie, tu sauras sur quelle ligne...

Citation :
TV% = dll_call3("CreateTreeViewEx",handle(pan%(1)),1,adr(imglist$))
Est-ce que la variable imglist$ contient bien le chemin et le nom d'un fichier valide pour ça ? Est-ce que le fichier existe ?

Citation :
res% = dll_call4("SetTreeViewOptions",TV%,1,7,2)
res% = dll_call4("SetTreeViewOptions",TV%,1,8,3)
Tu établis l'icone 2 pour "dossier fermé" et l'icône 3 pour "dossier ouvert". Est-ce que c'est ce que tu veux ? Est-ce que ces icônes sont bien présentes dans le fichier bibliothèque ? Pourrais-tu essayer de placer ces lignes devant la ligne
Citation :
res% = dll_call2("LoadFolderTreeToTreeView",TV%,adr(txt$))

Il peut y avoir une multitude de causes à ton problème. La principale est l'absence de la bibliothèque (ou chemin erronné), ou une bibliothèque invalide. Utilise les fonctions ImageList pour charger la bibliothèque dans un objet ImageList, avec la variable imglist$ telle que tu l'as dans le programme. Puis crée 2 pictures, extrais les icônes 2 et 3 et copie-les chacune dans un de ces picture. Est-ce qu'elles s'affichent ?
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 9 Empty
MessageSujet: re   KGF_dll - nouvelles versions - Page 9 EmptyDim 21 Fév 2016 - 17:47

Effectivement, l' ordre des déclarations est celui ci :
Code:
  TV%  = dll_call3("CreateTreeViewEx",handle(pan%(1)),1,imgl%)
  res% = dll_call3("SetTreeViewEventReceiver",TV%,1,handle(TVinfo%))
  res% = dll_call5("ResizeTreeView",TV%,M%,M%,M%,M%)
  txt$ = "G:\"
  res% = dll_call4("SetTreeViewOptions",TV%,1,7,1)
  res% = dll_call4("SetTreeViewOptions",TV%,1,8,2)
  res% = dll_call2("LoadFolderTreeToTreeView",TV%,adr(txt$))


Peut-être devrais tu le signaler dans la doc ?...
Embarassed
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 9 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 9 EmptyDim 21 Fév 2016 - 18:34

D'accord, Ygeronimi. Je le ferai.

EDIT

C'est fait. La doc de la fonction LoadFolderTreetoTreeView a été complétée.
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 9 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 9 EmptyDim 21 Fév 2016 - 19:34

Au secours Klaus ! drunken

J'ai un soucis avec res% = dll_call1("ClearTreeView",arbo%)

voici l'image du message

[img:eed0]https://servimg.com/view/17699291/24]KGF_dll - nouvelles versions - Page 9 Erreur10

Et la ligne 424 : res% = dll_call1("ClearTreeView",arbo%)

Je ne comprends pas Question Exclamation
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Minibug

Minibug


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

KGF_dll - nouvelles versions - Page 9 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 9 EmptyDim 21 Fév 2016 - 19:48

Ca fonctionne Klaus !

Juste que je n'avais pas la dernière version.
C'est un oubli de ma part. Désolé !!! Embarassed
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 9 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 9 EmptyDim 21 Fév 2016 - 19:50

Moi non plus. Ceci marche parfaitement:
Code:

dim TV%, res%, M1%, dir$
M1% = 0 - 1

dll_on "KGF.dll"

TV% =dll_call3("CreateTreeViewEx",handle(0),1,M1%)
res% = dll_call4("SetTreeViewOptions",TV%,0,1,0)
res% = dll_call5("ResizeTreeView",TV%,M1%,M1%,M1%,M1%)

dir$ = dir_current$
res% = dll_call2("LoadFolderTreeToTreeView",TV%,adr(dir$))

message "on va effacer..."

res% = dll_call1("ClearTreeView",TV%)

end

Est-ce que la variable arbo% est définie ? Le message d'erreur indique une erreur de Panoramic, avant même de rentrer dans la DLL. Essaie le petit code ci-dessus...
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 9 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 9 EmptyLun 22 Fév 2016 - 2:40

KGF.dll V6.02 du 22/02/2016

Nouveautés:
- nouvelles fonction: TakeObjectScreenshot et TakeObjectScreenshotEx

Modules modifiés:
KGF.dll
KGF.chm


La doc et les sources sont à jour.

Voici une démo qui fait une capture d'un Scene2d:
Code:
' test_TakeObjectScreenshot.bas

dim res%, fic$
width 0,800 : height 0,600
left 0,250 : top 0,20
alpha 11 : top 11,80 : left 11,50 : caption 11,"Scene2d original:"
scene2d 1 : width 1,300 : height 1,200
  left 1,50 : top 1,100
color 1,255,0,0
button 2 : top 2,140 : left 2,80 : caption 2,"Mon bouton"
alpha 12 : top 12,80 : left 12,360 : caption 12,"Picture avec une copie:"
picture 3 : width 3,300 : height 3,200
  left 3,360 : top 3,100
alpha 13 : top 13,320 : left 13,360 : caption 13,"Picture avec un extrait:"
picture 4 : width 4,100 : height 4,60
  left 4,360 : top 4,340
display

dll_on "KGF.dll"

' prendre la photo du scene2d entier:
res% = dll_call2("TakeObjectScreenshot",handle(1),0)
clipboard_paste 3
' prendre la photo d'un extrait du scene2d:
res% = dll_call6("TakeObjectScreenshotEx",handle(1),0,70,20,100,60)
clipboard_paste 4

' ou:
' fic$ = "MonFichierBmp.bmp"
' res% = dll_call2("TestKGF",handle(1),adr(fic$))
' file_load 3,fic$

end

Ca marche avec tous les objets ayant un handle. Dans cette démo, le deuxième paramètre est passé comme 0 (zéro). Dans ce cas, la capture est placée dans le presse-papier. Sinon, on passe adr(fic$), avec fic$ contenant un chemin et nom de fichier BMP, et la capture sera déposée dans ce fichier.

La version TakeObjectScreenshotEx de cette fonction permet, en plus, de spécifier un rectangle d'extraction pour l'objet ciblé. Dans le cas d'un Scene2d, ceci peut permettre de capturer juste un sprite, par exemple.
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 9 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 9 EmptyLun 22 Fév 2016 - 10:52

Bonjour Klaus !

J'ai une petite surprise ce matin sur l'arborescence en utilisant GPP sur un autre PC.

KGF_dll - nouvelles versions - Page 9 Ecran12

Je fais en sorte que lorsque je clique sur l'arborescence, le texte s'affiche en gras et lorsque je clique a nouveau j'ai une variable qui mémorise la position dans l'arborescence et passe le texte en normal et active en gras la nouvelle ligne cliquée.

En fait on dirait que lorsque je repasse le texte en normal, il reste "un bout" de texte en gras derriere !
Je n'ai pas ce problème sur mon autre PC avec la même version de PANO et KGF et GPP.

Bizarre non Question Exclamation" />
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 9 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 9 EmptyLun 22 Fév 2016 - 11:04

Bizarre, ta capture - on n'y voit rien !
Et non, je n'ai pas d'explication facile. Ce qui marche sur une machine doit marcher sur une autre, si l'environnement logiciel est le même: même version de Panoramic et même version de KGF.dll. Je n'utilise aucune ressource externe.

EDIT

On s'est croisé... Je vois beaucoup mieux, maintenant. Et cette image me donne une piste de réflexion... Je vais voir ça !
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 9 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 9 EmptyLun 22 Fév 2016 - 11:06

oupsss !

Petit soucis avec la capture...
Maintenant c'est mieux !
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 9 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 9 EmptyLun 22 Fév 2016 - 13:31

KGF.dll V6.03 du 22/02/2016

Nouveautés:
- correction d'un même bug dans les 3 fonctions créant des noeuds et dans TreeViewFunction
( ceci concerne l'enregistrement des libellés et du texte utilisateur)
- amélioration de l'affichage "customisé" des libellés des noeuds


Modules modifiés:
KGF.dll

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

Voici la petite démo:
Code:
' test_treeview.bas

label close0, TV1_event

dim res%, TV1%, txt$, ind%, child%, img$, ClickFlag%, s$, p%, noeud%, PM%
dim OldCell$, NewCell$
dim M1% : m1% = 0 - 1

dll_on "KGF.dll"

on_close 0,close0

edit 17 : hide 17 : on_change 17,TV1_event

img$ = "C:\Users\klausgunther\Documents\Mes projets\Mes projets Delphi\KGF\TestImageList.dat"
if message_confirmation_yes_no("Optimiser le double-clic ?")=1
  TV1% = dll_call3("CreateTreeViewEx",handle(0),1,adr(img$))
else
  TV1% = dll_call3("CreateTreeView",handle(0),1,adr(img$))
end_if
if message_confirmation_yes_no("Libelles éditables ?")=1
  res% = dll_call4("SetTreeViewOptions",TV1%,1,1,0)
else
  res% = dll_call4("SetTreeViewOptions",TV1%,0,1,0)
end_if

' res% = dll_call5("ResizeTreeView",TV1%,40,10,400,300)
res% = dll_call5("ResizeTreeView",TV1%,M1%,M1%,M1%,M1%)

txt$ = "Racine"
ind% = dll_call4("AddTreeViewRootNode",TV1%,adr(txt$),1,1)
txt$ = "Enfant 1"
child% = dll_call4("AddTreeViewChildNode",TV1%,adr(txt$),2,1)
txt$ = "Enfant 1a"
res% = dll_call4("AddTreeViewChildNode",TV1%,adr(txt$),3,1)
res% = dll_call3("SelectTreeViewNode",TV1%,ind%,0)
txt$ = "Enfant 2"
res% = dll_call4("AddTreeViewChildNode",TV1%,adr(txt$),4,1)
res% = dll_call3("SelectTreeViewNode",TV1%,child%,0)
txt$ = "Insertion devant enfant 1"
if res%<=child% then child% = child% + 1
res% = dll_call5("InsertTreeViewNode",TV1%,0,adr(txt$),5,1)

res% = dll_call3("SelectTreeViewNode",TV1%,res%,0)
res% = dll_call4("SetTreeViewOptions",TV1%,1,4,3) : ' texte de la ligne sélectionné en gras et italique

res% = dll_call3("SelectTreeViewNode",TV1%,child%,0)
txt$ = "Insertion après enfant 1"
res% = dll_call5("InsertTreeViewNode",TV1%,1,adr(txt$),4,1)
' res% = dll_call3("SelectTreeViewNode",TV1%,child%,0)
' res% = dll_call1("DeleteTreeViewNode",TV1%)

' res% = dll_call2("DeleteTreeView",TV1%,0)

res% = dll_call3("SetTreeViewEventReceiver",TV1%,1,handle(17))

width 0,width(0) + 300
memo 18 : left 18,610 : width 18,200 : height 18,400 : bar_both 18

message "On va changer la 5ème ligne..."
newcell$ = "azerty"
res% = dll_call4("ChangeTreeViewNodeText",TV1%,1,4,adr(NewCell$))
res% = dll_call3("SelectTreeViewNode",TV1%,4,0)
s$ = "Ce noeud a été créé le "+date$+" à "+time$+" heures"
res% = dll_call4("SetTreeViewOptions",TV1%,1,5,adr(s$))
item_add 18,""
res% = dll_call3("GetTreeViewInformation",TV1%,0,0)
item_add 18,"Nombre total de noeud: "+str$(res%)
res% = dll_call3("GetTreeViewInformation",TV1%,1,0)
item_add 18,"Indice du noeud sélectionné: "+str$(res%)
s$ = string$(255,"*")
res% = dll_call3("GetTreeViewInformation",TV1%,2,adr(s$))
item_add 18,"texte du noeud sélectionné: "+trim$(s$)
item_add 18,""
res% = dll_call4("SetTreeViewOptions",TV1%,1,2,255*256*256) : ' tout le texte en bleu
res% = dll_call4("SetTreeViewOptions",TV1%,1,3,255) : ' texte de la ligne sélectionné en rouge
res% = dll_call4("SetTreeViewOptions",TV1%,1,4,3) : ' texte de la ligne sélectionné en gras et italique
res% = dll_call3("SelectTreeViewNode",TV1%,0,1)

if 1=2
PM% = dll_call1("CreateTVPopupMenu",handle(17))
s$ = "popup ligne 1"
res% = dll_call4("CreateTVPopupMenuItem",PM%,1,0,adr(s$))
s$ = "popup ligne 2"
res% = dll_call4("CreateTVPopupMenuItem",PM%,1,0,adr(s$))
res% = dll_call4("SetTreeViewOptions",TV1%,1,9,PM%) : ' popup menu
end_if

end

close0:
  res% = dll_call2("DeleteTreeView",TV1%,0)
'  res% = dll_call1("DeleteTVPopupMenu",PM%)
  return
 
TV1_event:
  s$ = text$(17)
  item_add 18,"TV1: "+s$
  res% = dll_call4("SetTreeViewOptions",TV1%,2,5,0)
  if res%>0
    s$ = string$(res%," ")
    res% = dll_call3("GetTreeViewInformation",TV1%,5,adr(s$))
    s$ = trim$(s$)
    if len(s$)>0 then item_add 18,"    "+s$
  end_if

  if left$(s$,8)="editing,"
    s$ = mid$(s$,9,len(s$))
    p% = instr(s$,",")
    noeud% = val(left$(s$,p%-1))
    OldCell$ = mid$(s$,p%+1,len(s$))
' item_add 18,"Old  "+str$(noeud%)+": "+OldCell$
    return
  end_if
  if left$(s$,7)="edited,"      : ' exemple: on interdit la saisie d'un "$"
    s$ = mid$(s$,8,len(s$))
    p% = instr(s$,",")
    noeud% = val(left$(s$,p%-1))
    NewCell$ = mid$(s$,p%+1,len(s$))
    p% = instr(NewCell$,"$")
    while p%>0
      NewCell$ = mid$(NewCell$,1,p%-1)+mid$(NewCell$,p%+1,len(NewCell$))
      p% = instr(NewCell$,"$")
    end_while
    res% = dll_call4("ChangeTreeViewNodeText",TV1%,2,0,adr(NewCell$))
    item_add 18,"New  "+str$(noeud%)+": "+NewCell$
    return
  end_if
  return
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 9 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 9 EmptyLun 22 Fév 2016 - 14:30

Ok, c'est parfait ! cheers

Comme d'habitude, clair, net et précis. Laughing
Merci Klaus.
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 9 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 9 EmptyLun 22 Fév 2016 - 14:34

Smile Smile Smile

As-tu vu qu'à l'aide de la nouvelle propriété UserText, tu peux mémoriser une chaîne de caractères libre à un noeud quelconque ? Tu peux y mettre ce que tu veux...
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 9 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 9 EmptyLun 22 Fév 2016 - 15:08

Ah non je n'ai pas regarder !

Quel peut être l’intérêt dans le cas de GPP ?
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 9 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 9 EmptyLun 22 Fév 2016 - 15:27

Ben, tu pourrais mémoriser dans cette chaîne, pour chaque noeud, des attributs particuliers, avec des CR LF comme séparateurs. Bien sûr, tu peux aussi les mettre dans un ou plusieurs tableaux Panoramic. Mais en cas de suppression, il y a tout le travail de purge à faire. Par contre, si c'est géré dans le TreeView, tout cela est automatique. Tu peux, lors d'un clic sur un neud, récupérer automatiquement cette chaîne UserText et la décomposer les valeurs en utilisant une DLIST ou un composant StringList de KGF.dll, à l'aide de la fonction AddStringListItem, sachant que tu récupères autant de lignes que de valeurs séparées par CR LF.

Tu pourrais aussi utiliser n'importe quel caractère comme séparateur et utiliser les fonctions KGFDelimitedText... pour extraire tel ou tel paramètre.

Cela peut aussi servir à mémoriser, pour chaque noeud, un texte d'aide ou toute autre information spécifique à ce noeud. Pour KGF.dll, c'est juste un texte libre, propre à chaque noeud. Par défaut, chaque noeud a une chaîne vide comme UserText. Regarde ma petite démo ci-dessus: une des lignes a un UserText non vide, et il s'affiche en cliquant dessus...

En plus, si tu sauvegardes un TreeView déjà peuplé, tu peux le restituer plus tard, tel qu'il était. Y compris ses propriétés UserText - c'est automatique.

Voilà. Je voulais juste que tu aies les billes en main pour faire tes choix.

EDIT

Dans le cas d'un TreeView chargé avec l'arborescence de dossiers, on pourrait mettre en UserText, deux valeurs qui pourraient être le nombre de fichiers du dossier et la taille globale des fichiers du dossier...
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 9 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 9 EmptyLun 22 Fév 2016 - 15:55

D'accord, je comprends mieux le principe.

Ce qui serait top ce serai de conserver tous les parametres standards des objets (top, left, largeur, hauteur, caption, etc...).

Par contre comment identifier les separateurs (tu parles de CR LF ) comment cela se code ?
C'est bête mais je ne connais que de nom ! Embarassed

Habituellement j'utilise ou des formats delimité ou des sépérateurs (; ou / etc) ou bien dans le cas présent un grid. Le problème c'est que dans cette variable il y aura des chaines comme les CAPTIONs ou les HINTs.
Donc pour les séparateurs, je dois oublier...




Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Contenu sponsorisé





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

Revenir en haut Aller en bas
 
KGF_dll - nouvelles versions
Revenir en haut 
Page 9 sur 40Aller à la page : Précédent  1 ... 6 ... 8, 9, 10 ... 24 ... 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: