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

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

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

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

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

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

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

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

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

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

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

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

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

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

» fichier.exe
KGF_dll - nouvelles versions - Page 23 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 
+13
The Gamer
Nardo26
silverman
Minibug
Pedro
mindstorm
pascal10000
Jicehel
papydall
Jean Claude
JL35
Yannick
Klaus
17 participants
Aller à la page : Précédent  1 ... 13 ... 22, 23, 24 ... 31 ... 40  Suivant
AuteurMessage
Yannick




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

KGF_dll - nouvelles versions - Page 23 Empty
MessageSujet: re   KGF_dll - nouvelles versions - Page 23 EmptyMer 18 Mar 2015 - 16:29

Si tu peux jeter un oeil sur la fonction 4 aussi... Wink
Elle ne change pas le texte de l' onglet, j' ai essayé : 

         name$=item_read$(Dl_lang%,55)
         Tab_res% = dll_call6("TabObjectFunction",Tab4%,4,1,adr(name$),0,0)

et  je reste en français... Suspect
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 23 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 23 EmptyMer 18 Mar 2015 - 16:32

Ok.
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 23 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 23 EmptyMer 18 Mar 2015 - 19:26

Nouvelle version:
KGF.dll V4.49 du 18/03/2015

Nouveautés:
correction de 2 bugs dans les fonctions TabObject

Modules modifiés:
KGF.dll

La doc est inchangée.

EDIT

En ce qui concerne la situation avec les nouvelles fonctions pour l'objet GRID, rien n'a changé. Ces fonctions sont susceptibles de provoquer des plantages, bien qu'elles marchent dans certains cas. Je ne les ai pas bloquées dans la DLL, mais il vaut mieux attendre. J'attends les éclaircissements de Jack sur un point technique précis. Ce que je prépare, en-dehors des fonctions déjà publiées (lecture/écriture des zones sélectionnées d'un objet GRID en une seule opération, récupération des coordonnées du rectangle de sélection), je prépare la coloration de lignes, colonnes et/ou cellules individuelles...
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 23 Empty
MessageSujet: re   KGF_dll - nouvelles versions - Page 23 EmptyMer 18 Mar 2015 - 21:32

Le premier est bien corrigé
la fonction 4 ne fonctionne toujours pas... Suspect
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 23 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 23 EmptyMer 18 Mar 2015 - 21:39

Et maintenant ? J'ai corrigé, je pense...
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 23 Empty
MessageSujet: re   KGF_dll - nouvelles versions - Page 23 EmptyJeu 19 Mar 2015 - 0:25

cheers Bravo Klaus !

la fonction 4 fonctionne !
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 23 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 23 EmptyJeu 19 Mar 2015 - 0:42

Bon, je respire...

Le diable est dans le copier/coller, quelques fois !
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 23 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 23 EmptyJeu 19 Mar 2015 - 19:42

Nouvelle version:
KGF.dll V4.50 du 19/03/2015

Nouveautés:
nouvelle fonction: GridFunction

Modules modifiés:
KGF.dll
KGF.chm


La doc et les sources sont à jour.

Cette fonction effectue certaines opérations sur un objet GRID. On peut passer en mode "saisie directe" dans le GRID, et on peut choisir des couleurs personnalisées pour une cellule, une ligne ou une colonne (autant de combinaisons que nécessaire).

Voici le programme de démo correspondant:
Code:
' demo_GetSelectedGridText.bas
label clic, exit, enligne, couleur
dim s$, res%, x1%, y1%, x2%, y2%, x%, y%, i%, sepcel$, seplin$, RGB%

grid 1 : top 1,100 : left 1,10
grid_write 1,2,2,"aaa"
grid_write 1,2,3,"bbb"
grid_write 1,3,3,"ccc"
' on_click 1,clic

check 2 : top 2,10 : left 2,10 : width 2,150 : on_click 2,enligne
  caption 2,"GRID avec édition en ligne"
  
button 3 : top 3,40 : left 3,10 : caption 3,"Couleurs"
  on_click 3,couleur

' dll_on "KGF_GRID.dll"
dll_on "KGF.dll"
' on_close 0,exit
end

exit:
  res% = dll_call1("KillProcessByHandle",handle(0))
  return

clic:

  ' paramétrer les séparateurs (ce sont d'ailleurs les valeurs par défaut)
  sepcel$ = ""
  seplin$ = ";" : ' chr$(13)+chr$(10)
  res% = dll_call2("SetGridSeparators",adr(sepcel$),adr(seplin$))
  message str$(res%)
return

  ' récupérer les coordonnées du rectangle sélectionné
'  res% = DLL_call5("GetSelectedGridIndexes",object_internal(1),adr(x1%),adr(y1%),adr(x2%),adr(y2%))
  message "Rectangle: ("+str$(x1%)+","+str$(y1%)+") --> ("+str$(x2%)+","+str$(y2%)+")"
return

  ' récupérer le texte des cellules sélectionnées
  s$ = string$(255," ")
'  res% = DLL_call2("GetSelectedGridText",object_internal(1),adr(s$))
  s$ = trim$(s$)
  message s$
return
  
  ' remplacer le texte des cellules sélectionnées par autre chose
  s$ = ""
  for y%=y1% to y2%
    for x%=x1% to x2%
      if x%>1 then s$ = s$ + sepcel$
      s$ = s$ + "L"+str$(y%) + "  C"+str$(x%)
    next x%
    s$ = s$ + seplin$
  next y%
  message "nouvelles valeurs:"+seplin$+s$
'  res% = dll_call6("WriteGridCells",object_internal(1),x1%,y1%,x2%,y2%,adr(s$))
  return

enligne:
  i% = checked(2) : ' inverser le mode "édition"
  res% = dll_call5("GridFunction",object_internal(1),1,i%,0,0)
  return
  
  
couleur:
  ' changer la couleur d'une colonne
  RGB(255,0,0)
  res% = dll_call5("GridFunction",object_internal(1),4,1,0,RGB%)

  ' changer la couleur d'une ligne
  RGB(0,0,255)
  res% = dll_call5("GridFunction",object_internal(1),3,0,2,RGB%)

  ' changer la couleur d'une cellule
  RGB(255,255,0)
  res% = dll_call5("GridFunction",object_internal(1),2,1,2,RGB%)

  ' remplacer ONDRAWCELL
  res% = dll_call5("GridFunction",object_internal(1),5,1,0,0)
  return

sub RGB(R%,G%,B%)
  RGB% = (B%*256+R%)*256+G%
end_sub

Essayez de cocher la case à cocher et de saisir dans le GRID, puis décocher la case...
Puis, cliquez sur le bouton "Couleur" - vous verrez, c'est spectaculaire.

Voici ce que ça donne:
[img]KGF_dll - nouvelles versions - Page 23 Aa111[/img]
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 23 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 23 EmptyVen 20 Mar 2015 - 1:49

Extension de la version, sans nouveau numéro:
on peut maintenant colorer des lignes et/ou des colonnes, en incluant ou non les parties fixes. On peut également lancer la coloration en effaçant la liste des couleurs personnalisées ou en la laissant intacte.

Voici le programme de démo adapté:
Code:
' demo_GetSelectedGridText.bas
label clic, exit, enligne, couleur
dim s$, res%, x1%, y1%, x2%, y2%, x%, y%, i%, sepcel$, seplin$, RGB%, d%

grid 1 : top 1,100 : left 1,10
grid_write 1,2,2,"aaa"
grid_write 1,2,3,"bbb"
grid_write 1,3,3,"ccc"
' on_click 1,clic

check 2 : top 2,10 : left 2,10 : width 2,150 : on_click 2,enligne
  caption 2,"GRID avec édition en ligne"
  
button 3 : top 3,40 : left 3,10 : caption 3,"Couleurs"
  on_click 3,couleur

check 4 : top 4,40 : left 4,110 : width 4,150 : on_click 4,enligne
  caption 4,"sans colorer les parties fixes"

' dll_on "KGF_GRID.dll"
dll_on "KGF.dll"
' on_close 0,exit
end

exit:
  res% = dll_call1("KillProcessByHandle",handle(0))
  return

clic:
  ' paramétrer les séparateurs (ce sont d'ailleurs les valeurs par défaut)
  sepcel$ = "\"
  seplin$ = ";" : ' chr$(13)+chr$(10)
  res% = dll_call2("SetGridSeparators",adr(sepcel$),adr(seplin$))
  message str$(res%)
return

  ' récupérer les coordonnées du rectangle sélectionné
'  res% = DLL_call5("GetSelectedGridIndexes",object_internal(1),adr(x1%),adr(y1%),adr(x2%),adr(y2%))
  message "Rectangle: ("+str$(x1%)+","+str$(y1%)+") --> ("+str$(x2%)+","+str$(y2%)+")"
return

  ' récupérer le texte des cellules sélectionnées
  s$ = string$(255," ")
'  res% = DLL_call2("GetSelectedGridText",object_internal(1),adr(s$))
  s$ = trim$(s$)
  message s$
return
  
  ' remplacer le texte des cellules sélectionnées par autre chose
  s$ = ""
  for y%=y1% to y2%
    for x%=x1% to x2%
      if x%>1 then s$ = s$ + sepcel$
      s$ = s$ + "L"+str$(y%) + "  C"+str$(x%)
    next x%
    s$ = s$ + seplin$
  next y%
  message "nouvelles valeurs:"+seplin$+s$
'  res% = dll_call6("WriteGridCells",object_internal(1),x1%,y1%,x2%,y2%,adr(s$))
  return

enligne:
  i% = checked(2) : ' inverser le mode "édition"
  res% = dll_call5("GridFunction",object_internal(1),1,i%,0,0)
  return
  
  
couleur:
  d% = checked(4)*3

  ' remplacer ONDRAWCELL
  res% = dll_call5("GridFunction",object_internal(1),8,1,0,0)

  ' changer la couleur d'une colonne
  RGB(255,0,0)
  res% = dll_call5("GridFunction",object_internal(1),4+d%,2,0,RGB%)

  ' changer la couleur d'une ligne
  RGB(0,0,255)
  res% = dll_call5("GridFunction",object_internal(1),3+d%,0,3,RGB%)

  ' changer la couleur d'une cellule
  RGB(255,255,0)
  res% = dll_call5("GridFunction",object_internal(1),2,2,3,RGB%)
  return

sub RGB(R%,G%,B%)
  RGB% = (B%*256+R%)*256+G%
end_sub

Voici la coloration en incluant les parties fixes (défaut):
KGF_dll - nouvelles versions - Page 23 Aa112

et voici la même coloration sans les parties fixes:
KGF_dll - nouvelles versions - Page 23 Aa211

Ca ouvre des horizons, non ?
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Jean Claude

Jean Claude


Nombre de messages : 5950
Age : 70
Localisation : 83 Var
Date d'inscription : 07/05/2009

KGF_dll - nouvelles versions - Page 23 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 23 EmptyVen 20 Mar 2015 - 7:31

Oui, çà ouvre des horizons,

Je crois bien que je vais devoir repenser mon programme de compte avec KGF.dll Very Happy

A+
Revenir en haut Aller en bas
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

KGF_dll - nouvelles versions - Page 23 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 23 EmptyVen 20 Mar 2015 - 8:14

J'ai une question Klaus, maintenant que tu sais manipuler les objets PAnoramic, penses tu que l'on pourrait utiliser KGF pour pouvoir faire directement la rotation libre des sprites et les effets miroirs que tu avait fait sur les images.
Question subsidiaire, avec cette méthode, ne peux tu pas simplifier ce système de rotation d'image ? (Est-il encore utile de passer par l'image interne de KGF ?)
Voilà, 2 petites questions suite aux améliorations récentes ...
Revenir en haut Aller en bas
Minibug

Minibug


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

KGF_dll - nouvelles versions - Page 23 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 23 EmptyVen 20 Mar 2015 - 8:16

Ca c'est vraiment cool !

Depuis le temps que j'y pensais... Merci Klaus. Very Happy

Cela va mettre de la couleur dans nos programmes et donner une nouvelle dimension a la fonction GRID.
Peut être même qu'un jour Jack pourra l'implanter directement dans Panoramic...

Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

KGF_dll - nouvelles versions - Page 23 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 23 EmptyVen 20 Mar 2015 - 10:04

Depuis le temps que je dis que Jack devrait prendre un temps partiel pour avoir plus de temps pour Panoramic ... Non, sérieusement, j'espère aussi qu'il aura le temps et qu'il souhaitera inclure une partie des fonctions de KGF, en les reprenant par thèmes agrémentées avec ses propores ajouts pour offrir le package d'options complets pour chacun des objets (onglets, grilles, sprites, scene2d, ) et du système (sortie de programme, dll, utilisation des fichiers inclus dans une applications ...). C'est clair qu'il ne pourra pas tout faire d'un coup, mais le fait que Klaus partage son code et l'aide devrait lui faire gagner un peu de temps pour l'adaptation dans Panoramic.
En tout cas il a de quoi s'occuper pendant son temps libre ^^ .
PS: Bon courage Jack Very Happy
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 23 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 23 EmptyVen 20 Mar 2015 - 10:40

@Jicehel:

Citation :
penses tu que l'on pourrait utiliser KGF pour pouvoir faire directement la rotation libre des sprites et les effets miroirs que tu avait fait sur les images.
Malheureusement non - les SPRITE ne sont pas des objets Panoramic ni des objets Windows. Ils sont gérés totalement à part, par un système qui est propre à l'objet SCENE2D. Aucun moyen d'intervenir à ce niveau.

Citation :
Est-il encore utile de passer par l'image interne de KGF ?
Oui. Mais as-tu vu que tu peux acvtiver le mode "immédiat" qui fait que, sans effacer l'image interne, le presse-papier contient à tout moment une copie de l'image interne ? Ce qui te permet de faire un "paste" du presse-papier, immédiatement après chaque opération.

Mais tu penses peut-être que je pourrais intervenir directement sur le canvas de l'objet panoramic ? Oui, je peux, mais je perdrais probablement le lien avec ce que Panoramic croit avoir dans le Canvas. Donc, pagaille en vue...
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

KGF_dll - nouvelles versions - Page 23 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 23 EmptyVen 20 Mar 2015 - 10:50

OK, merci pour ta réponse Klaus. C'est pour cela que je te posais la question, tu te rends mieux compte des implications que moi, mais c'est vrai qu'avec la nouvelle façon d'interagir avec les objet Panoramic, j'avais pensé que la méthode pouvait être simplifiée et peut être sécurisée puisque l'on ne passerait pas des process externes (le paste du presse papier Windows en l'occurence). Le presse papier est très bien, mais dans Windows 8, les temps de réponse peuvent être assez variable et je ne pense pas que l'on puisse récupérer d'événements disant qu'il a finit de travailler. Du coup quand on l'utilise, il faut prévoir d'assez longues pauses si l'on veut verrouiller le résultat, ce qui ne correspond pas à certains usages rapides.
Ce n'est pas grave car il y a presque toujours des solutions de contournements, mais je me suis posé la question ... Smile
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 23 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 23 EmptyVen 20 Mar 2015 - 11:43

Bon, je vois ce que tu veux dire, par rapport au temps que prend une opération avec le presse-papier. Je trouverai une solution pur cela. Je pense savoir comment déterminer si l'opération est terminée, et je vais peut-être pouvoir proposer un mode "synchrone" qui fait qu'au retour de ma fonction DLL, le presse-papier est dans un état stable avec certitude.
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 23 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 23 EmptyVen 20 Mar 2015 - 12:03

Nouvelle version:
KGF.dll V4.51 du 20/03/2015

Nouveautés:
correction d'un bug dans les fonctions de gestion des GRID

Modules modifiés:
KGF.dll

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

Suite à l'aide précieuse de Jack, j'ai pu surmonter le blocage sur le problème qui bloquait l'utilisation de ces fonctions. Elles sont maintenant pleinement opérationnelles. Voici le dernier programme de démo qui débloque tout:
Code:
' demo_GetSelectedGridText.bas
label clic, exit, enligne, couleur
dim s$, res%, x1%, y1%, x2%, y2%, x%, y%, i%, sepcel$, seplin$, RGB%, d%

grid 1 : top 1,100 : left 1,10
grid_write 1,2,2,"aaa"
grid_write 1,2,3,"bbb"
grid_write 1,3,3,"ccc"
on_click 1,clic

check 2 : top 2,10 : left 2,10 : width 2,150 : on_click 2,enligne
  caption 2,"GRID avec édition en ligne"
 
button 3 : top 3,40 : left 3,10 : caption 3,"Couleurs"
  on_click 3,couleur

check 4 : top 4,40 : left 4,110 : width 4,150 : on_click 4,enligne
  caption 4,"sans colorer les parties fixes"

' dll_on "KGF_GRID.dll"
dll_on "KGF.dll"
' on_close 0,exit
end

exit:
  res% = dll_call1("KillProcessByHandle",handle(0))
  return

clic:
  ' paramétrer les séparateurs (ce sont d'ailleurs les valeurs par défaut)
  sepcel$ = "\"
  seplin$ = ";" : ' chr$(13)+chr$(10)
  res% = dll_call2("SetGridSeparators",adr(sepcel$),adr(seplin$))

  ' récupérer les coordonnées du rectangle sélectionné
  res% = DLL_call5("GetSelectedGridIndexes",object_internal(1),adr(x1%),adr(y1%),adr(x2%),adr(y2%))
  message "Rectangle: ("+str$(x1%)+","+str$(y1%)+") --> ("+str$(x2%)+","+str$(y2%)+")"

  ' récupérer le texte des cellules sélectionnées
  s$ = string$(255," ")
  res% = DLL_call2("GetSelectedGridText",object_internal(1),adr(s$))
  s$ = trim$(s$)
  message s$

  ' remplacer le texte des cellules sélectionnées par autre chose
  s$ = ""
  for y%=y1% to y2%
    for x%=x1% to x2%
      if x%>1 then s$ = s$ + sepcel$
      s$ = s$ + "L"+str$(y%) + "  C"+str$(x%)
    next x%
    s$ = s$ + seplin$
  next y%
  res% = dll_call6("WriteGridCells",object_internal(1),x1%,y1%,x2%,y2%,adr(s$))
  return

enligne:
  i% = checked(2) : ' inverser le mode "édition"
  res% = dll_call5("GridFunction",object_internal(1),1,i%,0,0)
  return
 
 
couleur:
  d% = checked(4)*3

  ' remplacer ONDRAWCELL
  res% = dll_call5("GridFunction",object_internal(1),8,1,0,0)

  ' changer la couleur d'une colonne
  RGB(255,0,0)
  res% = dll_call5("GridFunction",object_internal(1),4+d%,2,0,RGB%)

  ' changer la couleur d'une ligne
  RGB(0,0,255)
  res% = dll_call5("GridFunction",object_internal(1),3+d%,0,3,RGB%)

  ' changer la couleur d'une cellule
  RGB(255,255,0)
  res% = dll_call5("GridFunction",object_internal(1),2,2,3,RGB%)
  return

sub RGB(R%,G%,B%)
  RGB% = (B%*256+R%)*256+G%
end_sub

Essayez de sélectionner, avec la souris, un rectangle de cellules...
Cochez la case "GRIG avec édition en ligne" et saisissez directement dans une cellule...
Colorez lignes, colonnes et cellules avec le bouton "Couleur", avec ou sans les parties fixes...
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
papydall

papydall


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

KGF_dll - nouvelles versions - Page 23 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 23 EmptyVen 20 Mar 2015 - 12:58

Malheureusement, un Access violation était au rendez-vous Sad
Puis : Exception EInvalidPointer in module KGF.dll at 00002844
Puis : PANORAMIC.exe a cessé de fonctionner ...
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Klaus

Klaus


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

KGF_dll - nouvelles versions - Page 23 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 23 EmptyVen 20 Mar 2015 - 13:21

En faisant quoi, exactement ?
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 23 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 23 EmptyVen 20 Mar 2015 - 14:29

J'ai sélectionné plusieurs cellules et BING !!! l'erreur survient comme Papydall...

Pour rappel : je viens de télécharger la dernière version de KGF
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 23 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 23 EmptyVen 20 Mar 2015 - 14:43

Voici ce que ça fait chez moi:

Situation initiale:
KGF_dll - nouvelles versions - Page 23 <a href=KGF_dll - nouvelles versions - Page 23 Aa113" />

Sélection d'un rectangle, produisan l'affichage des coordonnées du rectangle sélectionné:
KGF_dll - nouvelles versions - Page 23 <a href=KGF_dll - nouvelles versions - Page 23 Aa212" />

Ensuite, on a le texte des cellules sélectionnées:
KGF_dll - nouvelles versions - Page 23 <a href=KGF_dll - nouvelles versions - Page 23 Aa310" />

Puis, le texte des cellules sélectionnées est remplacé:
[img]KGF_dll - nouvelles versions - Page 23 Aa410[/img]

Ca semble normal, non ?
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 23 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 23 EmptyVen 20 Mar 2015 - 14:45

Je viens également de tomber sur ce problème, en répétant rapidement l'opération sur plusieurs rectangles. Je vais creuser cela.

EDIT:
En cause: la fonction WriteGridCells. Je l'ai désactivée dans la démo, le reste fonctionne:
Code:
' demo_GetSelectedGridText.bas
label clic, exit, enligne, couleur
dim s$, res%, x1%, y1%, x2%, y2%, x%, y%, i%, sepcel$, seplin$, RGB%, d%

grid 1 : top 1,100 : left 1,10
grid_write 1,2,2,"aaa"
grid_write 1,2,3,"bbb"
grid_write 1,3,3,"ccc"
on_click 1,clic

check 2 : top 2,10 : left 2,10 : width 2,150 : on_click 2,enligne
  caption 2,"GRID avec édition en ligne"
 
button 3 : top 3,40 : left 3,10 : caption 3,"Couleurs"
  on_click 3,couleur

check 4 : top 4,40 : left 4,110 : width 4,150 : on_click 4,enligne
  caption 4,"sans colorer les parties fixes"

memo 99 : top 99,10 : left 99,360 : bar_both 99 : height 99,400

' dll_on "KGF_GRID.dll"
dll_on "KGF.dll"
' on_close 0,exit
end

exit:
  res% = dll_call1("KillProcessByHandle",handle(0))
  return

clic:
  clear 99

  ' paramétrer les séparateurs (ce sont d'ailleurs les valeurs par défaut)
  sepcel$ = "\"
  seplin$ = ";" : ' chr$(13)+chr$(10)
  item_add 99,"SetGridSeparators en cours..."
  res% = dll_call2("SetGridSeparators",adr(sepcel$),adr(seplin$))
  item_add 99,"SetGridSeparators ok"

  ' récupérer les coordonnées du rectangle sélectionné
  item_add 99,"GetSelectedGridIndexes en cours..."
  res% = DLL_call5("GetSelectedGridIndexes",object_internal(1),adr(x1%),adr(y1%),adr(x2%),adr(y2%))
  item_add 99,"GetSelectedGridIndexes ok"
  message "Rectangle: ("+str$(x1%)+","+str$(y1%)+") --> ("+str$(x2%)+","+str$(y2%)+")"

  ' récupérer le texte des cellules sélectionnées
  s$ = string$(255," ")
  item_add 99,"GetSelectedGridText en cours..."
  res% = DLL_call2("GetSelectedGridText",object_internal(1),adr(s$))
  item_add 99,"GetSelectedGridText ok"
  s$ = trim$(s$)
  message s$
return

  ' remplacer le texte des cellules sélectionnées par autre chose
  s$ = ""
  for y%=y1% to y2%
    for x%=x1% to x2%
      if x%>1 then s$ = s$ + sepcel$
      s$ = s$ + "L"+str$(y%) + "  C"+str$(x%)
    next x%
    s$ = s$ + seplin$
  next y%
  item_add 99,"WriteGridCells en cours..."
  res% = dll_call6("WriteGridCells",object_internal(1),x1%,y1%,x2%,y2%,adr(s$))
  item_add 99,"WriteGridCells ok"
  return

enligne:
  i% = checked(2) : ' inverser le mode "édition"
  res% = dll_call5("GridFunction",object_internal(1),1,i%,0,0)
  return
 
 
couleur:
  d% = checked(4)*3

  ' remplacer ONDRAWCELL
  res% = dll_call5("GridFunction",object_internal(1),8,1,0,0)

  ' changer la couleur d'une colonne
  RGB(255,0,0)
  res% = dll_call5("GridFunction",object_internal(1),4+d%,2,0,RGB%)

  ' changer la couleur d'une ligne
  RGB(0,0,255)
  res% = dll_call5("GridFunction",object_internal(1),3+d%,0,3,RGB%)

  ' changer la couleur d'une cellule
  RGB(255,255,0)
  res% = dll_call5("GridFunction",object_internal(1),2,2,3,RGB%)
  return

sub RGB(R%,G%,B%)
  RGB% = (B%*256+R%)*256+G%
end_sub


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

papydall


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

KGF_dll - nouvelles versions - Page 23 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 23 EmptyVen 20 Mar 2015 - 18:04

Ça fonctionne !
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Klaus

Klaus


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

KGF_dll - nouvelles versions - Page 23 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 23 EmptyLun 23 Mar 2015 - 3:01

Nouvelle version:
KGF.dll V4.52 du 23/03/2015

Nouveautés:
code 9 pour GridFunction

Modules modifiés:
KGF.dll

La doc et les sources sont à jour.

Cette version permet de gérer, en même temps que la couleur de fond des lignes, colonnes et/ou cellules, la taille et le nom de la police ainsi que les attributs gras, italique, souligné et barré. L'objet GRID commence à avoir de la "gueule" !

Voici le programme de démo:
Code:
' demo_GetSelectedGridText.bas
label clic, exit, enligne, couleur
dim s$, res%, x1%, y1%, x2%, y2%, x%, y%, i%, sepcel$, seplin$, RGB%, d%, att%

grid 1 : top 1,250 : left 1,10
grid_write 1,2,2,"aaa"
grid_write 1,2,3,"bbb"
grid_write 1,3,3,"ccc"
on_click 1,clic

check 2 : top 2,10 : left 2,10 : width 2,150 : on_click 2,enligne
  caption 2,"GRID avec édition en ligne"
  
button 3 : top 3,190 : left 3,60 : width 3,200 : caption 3,"Appliquer attributs"
  on_click 3,couleur

check 4 : top 4,40 : left 4,110 : width 4,150 : on_click 4,enligne
  caption 4,"sans colorer les parties fixes"

combo 5 : top 5,70 : left 5,110 : width 5,150
  item_add 5,"à gauche"
  item_add 5,"centré"
  item_add 5,"à droite"

combo 6 : top 6,100 : left 6,110 : width 6,150
  font_names_load 6

alpha 7 : top 7,130 : left 7,10 : caption 7,"Taille:"
combo 8 : top 8,130 : left 8,110 : width 8,40
  item_add 8,"8"
  item_add 8,"10"
  item_add 8,"12"
  item_add 8,"14"
  
check  9 : top  9,160 : left  9, 10 : caption  9,"Gras"
check 10 : top 10,160 : left 10, 90 : caption 10,"Italique"
check 11 : top 11,160 : left 11,170 : caption 11,"Souligné"
check 12 : top 12,160 : left 12,250 : caption 12,"Barré"

memo 99 : top 99,10 : left 99,360 : bar_both 99 : height 99,400

' dll_on "KGF_GRID.dll"
dll_on "KGF.dll"
' on_close 0,exit

res% = dll_call2("SelectComboBoxItem",handle(5),1)
for i%=1 to count(6)
  if item_read$(6,i%)="Arial"
    res% = dll_call2("SelectComboBoxItem",handle(6),i%)
    exit_for
  end_if
next i%
res% = dll_call2("SelectComboBoxItem",handle(8),2)

end

exit:
  res% = dll_call1("KillProcessByHandle",handle(0))
  return

clic:
   clear 99

  ' paramétrer les séparateurs (ce sont d'ailleurs les valeurs par défaut)
  sepcel$ = ""
  seplin$ = chr$(13)+chr$(10)
  item_add 99,"SetGridSeparators en cours..."
  res% = dll_call2("SetGridSeparators",adr(sepcel$),adr(seplin$))
  item_add 99,"SetGridSeparators ok"

  ' récupérer les coordonnées du rectangle sélectionné
  item_add 99,"GetSelectedGridIndexes en cours..."
  res% = DLL_call5("GetSelectedGridIndexes",object_internal(1),adr(x1%),adr(y1%),adr(x2%),adr(y2%))
  item_add 99,"GetSelectedGridIndexes ok"
  message "Rectangle: ("+str$(x1%)+","+str$(y1%)+") --> ("+str$(x2%)+","+str$(y2%)+")"

  ' récupérer le texte des cellules sélectionnées
  s$ = string$(255," ")
  item_add 99,"GetSelectedGridText en cours..."
  res% = DLL_call2("GetSelectedGridText",object_internal(1),adr(s$))
  item_add 99,"GetSelectedGridText ok"
  s$ = trim$(s$)
  message s$
' return

  ' remplacer le texte des cellules sélectionnées par autre chose
  s$ = ""
  for y%=y1% to y2%
    for x%=x1% to x2%
      if x%>x1% then s$ = s$ + sepcel$
      s$ = s$ + "L"+str$(y%) + "  C"+str$(x%)
    next x%
    s$ = s$ + seplin$
  next y%
  item_add 99,"WriteGridCells en cours..."
  res% = dll_call6("WriteGridCells",object_internal(1),x1%,y1%,x2%,y2%,adr(s$))
  item_add 99,"WriteGridCells ok"
  return

enligne:
  i% = checked(2) : ' inverser le mode "édition"
  res% = dll_call5("GridFunction",object_internal(1),1,i%,0,0)
  return
  
  
couleur:
  d% = checked(4)*3

  ' forcer le centrage
  att% = val(item_index$(8))
  if checked(9) =1 then att% = att% + 256
  if checked(10)=1 then att% = att% + 512
  if checked(11)=1 then att% = att% + 1024
  if checked(12)=1 then att% = att% + 2048
  s$ = item_index$(6)
  res% = dll_call5("GridFunction",object_internal(1),9,item_index(5)-1,att%,adr(s$))

  ' remplacer ONDRAWCELL
  res% = dll_call5("GridFunction",object_internal(1),8,1,0,0)

  ' changer la couleur d'une colonne
  RGB(255,0,0)
  res% = dll_call5("GridFunction",object_internal(1),4+d%,2,0,RGB%)

  ' changer la couleur d'une ligne
  RGB(0,0,255)
  res% = dll_call5("GridFunction",object_internal(1),3+d%,0,3,RGB%)

  ' changer la couleur d'une cellule
  RGB(255,255,0)
  res% = dll_call5("GridFunction",object_internal(1),2,2,3,RGB%)
  return

sub RGB(R%,G%,B%)
  RGB% = (B%*256+R%)*256+G%
end_sub
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

KGF_dll - nouvelles versions - Page 23 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 23 EmptyLun 23 Mar 2015 - 10:02

Super, on a de quoi coder un mini Excel assez facilement. Merci Klaus. Tu avais déjà fais de quoi faire les graphiques et on a de quoi travialler sur les cellules pour les fonctions dans les formules, ce n'est pas ça qui manque non plus à part peut être quelques procédures à coder pour des applications spécifiques.
Revenir en haut Aller en bas
Contenu sponsorisé





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

Revenir en haut Aller en bas
 
KGF_dll - nouvelles versions
Revenir en haut 
Page 23 sur 40Aller à la page : Précédent  1 ... 13 ... 22, 23, 24 ... 31 ... 40  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: