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

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

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

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

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

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

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

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

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

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

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

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

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

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

» fichier.exe
KGF_dll - nouvelles versions - Page 29 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 : -28%
-28% Machine à café avec broyeur ...
Voir le deal
229.99 €

 

 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 ... 16 ... 28, 29, 30 ... 34 ... 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 - Page 29 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 29 EmptySam 28 Mai 2016 - 3:43

Oups... eh oui. Je corrigerai demain.

EDIT

La doc est corrigée.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
JL35




Nombre de messages : 7112
Localisation : 77
Date d'inscription : 29/11/2007

KGF_dll - nouvelles versions - Page 29 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 29 EmptySam 28 Mai 2016 - 14:08

Intéressante cette fonction pour masquer la barre des tâches, merci Klaus !
Revenir en haut Aller en bas
Yannick




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

KGF_dll - nouvelles versions - Page 29 Empty
MessageSujet: Fct 29 de StringGrid   KGF_dll - nouvelles versions - Page 29 EmptySam 28 Mai 2016 - 16:15

Klaus,

Si j' ai bien comprise la fonction 29.
Il faut passer :
la premiere cellule en haut à gauche
la dernière cellule en bas à droite
le format

Qu' elles sont les valeurs à passer dans la variable format$ pour cette fonction.
J' ai vu dans ton exemple que pour un format date tu passer Date$
mais pour les autres ?...
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 29 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 29 EmptySam 28 Mai 2016 - 16:40

Citation :
J' ai vu dans ton exemple que pour un format date tu passer Date$
Date$ est juste une variable string. Ca pourrait s'appeler x$, bien sûr. Ce qui compte, c'est son contenu. Et dans la doc de GridFunction code 29, tu as des liens, dans la colonne de droite, pour les formats de valeurs numériques (type de cellule 1), chaînes de caractères (types de cellule 0) et pour les dates (type de cellule 2). Suis les liens, et tu as une explication détaillée des possibilités, très vastes.
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 29 Empty
MessageSujet: re   KGF_dll - nouvelles versions - Page 29 EmptySam 28 Mai 2016 - 16:47

Tu vas me prendre pour un neuneu mais j' y comprends rien
à ce charabia.

je dois passer une lettre, le nom du format...
y' en a de partout....

je veux juste avoir l' affichage avec les decimaux.

entrée = 10 => visualise 10.00

Bon, je laisse tomber, en plus, quoi que je mette dans format$, il me l' affiche tel quel.
bounce
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 29 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 29 EmptySam 28 Mai 2016 - 17:47

Alors, essaie ceci:
Code:

format$ = "%m"
res% = dll_call6("GridFunction",SG%,29,x1%*65536 + y1%,x2%*65536 + y2%,1,adr(format$))
x1%,y1% : coordonnées du coin en haut à gauche du rectangle
x2%,y2% : coordonnées du coin en bas à droite du rectangle
1 : type numérique
%m signifie "money" (avec 2 décimales systématiquement)

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 - Page 29 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 29 EmptySam 28 Mai 2016 - 17:50

bjr a tous
klaus je vais télécharger la dernière version de kgf
je ne peut pas t'expliquer pourquoi kgf ralentissais
windows mais ce qui est sur c'est que depuis que
j'ai enlevé kgf de mon ordi tous est redevenu normal
allez savoir pourquoi!!!!!!!!!!!!!!
allez bon w end a tous
Revenir en haut Aller en bas
pascal10000

pascal10000


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

KGF_dll - nouvelles versions - Page 29 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 29 EmptySam 28 Mai 2016 - 18:32

Klaus
je viens de télécharger la dernière version de kgf
et tout semble être correcte a tout les niveau
vraiment windows et les pc nous réserve quelque fois
des surprises
il m' est arrivé une fois d'avoir un cluster de mort a mon disque dur
d'un ancien ordi et je ne vous raconte pas les misère que ça fait
a+
Revenir en haut Aller en bas
Yannick




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

KGF_dll - nouvelles versions - Page 29 Empty
MessageSujet: re   KGF_dll - nouvelles versions - Page 29 EmptySam 28 Mai 2016 - 19:17

KGF_dll - nouvelles versions - Page 29 Captur36

scratch
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 29 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 29 EmptySam 28 Mai 2016 - 21:46

Comment sont mémorisées tes données dans le Grid ? Quelle est la chaîne de caractères que tu enregistres pour faire 10 Euros, et pour faire 12 Euros et 34 centimes ?
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 29 Empty
MessageSujet: re   KGF_dll - nouvelles versions - Page 29 EmptySam 28 Mai 2016 - 21:51

La chaine enregistrée est 10.00 ou 12.34
la virgule est un point, je passe par le pave numérique en saisi direct.
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 29 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 29 EmptySam 28 Mai 2016 - 22:05

Je vais regarder 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 - Page 29 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 29 EmptyDim 29 Mai 2016 - 10:28

KGF.dll V6.78 du 29/05/2016

Nouveautés:
- StringGrid: correction d'un bug en utilisation de formats avec des cellules de type 1 (numérique)

Modules modifiés:
KGF.dll

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

J'ai fait de sorte a pouvoir utiliser indifféremment le point ou la virgule comme séparateur décimal:
12.34 et 12,34 sont identiques, pour le traitement d'un format de cellule de type 1.
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 29 Empty
MessageSujet: re   KGF_dll - nouvelles versions - Page 29 EmptyDim 29 Mai 2016 - 15:19

Aïe...

Situation :
je rentre une valeur en saisi direct par le pave numérique.

cas 1 :
je rentre 10
j' obtiens 10,00 € en affichage (super)

cas 2 :
je rentre 10.00
j' obtiens 1 000,00 € en affichage (pas bon)

cas 3 :
je rentre 10,00
j' obtiens une erreur panoramic sur mon opération, la virgule n' est pas reconnu. (grrr....)
ca, je peux y remédier par moi même.
je te représenterai le cas quand j' aurai résolu cette erreur panoramic.

Edit cas 3 :

je rentre 10,00
j' obtiens 1 000,00 € en affichage (pas bon)
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 29 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 29 EmptyDim 29 Mai 2016 - 22:29

J'ai apporté un correctif. Recharge la DLL et réessaie, stp
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 29 Empty
MessageSujet: re   KGF_dll - nouvelles versions - Page 29 EmptyLun 30 Mai 2016 - 3:06

Le problème est résolu.
Bravo Klaus !

Une petite chose qui devrait être rappelé dans la doc ( peut-être ) :

Pour les calculs dans panoramic lorsque l' on récupère une valeur numérique formaté.
Penser à transformer la virgule en point dans txt$ sinon, val(txt$) créera une erreur qui est signalé mais dont le message est aléatoire et j' ai cherché un moment avant de comprendre.
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 29 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 29 EmptyLun 30 Mai 2016 - 8:50

Ce sera fait !

EDIT

En fait, je vais procéder autrement. Je vais copier la fonction GetGridCellText en GetNumericGridCellText, avec conversion automatique de la virgule décimale, ainsi que le nettoyage de tout autre artéfact lié au formatage de la cellule, afin de pouvoir utiliser val$() directement. Ce sera plus propre, et plus commode à utiliser.
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 29 Empty
MessageSujet: Re   KGF_dll - nouvelles versions - Page 29 EmptyLun 30 Mai 2016 - 13:25

Oui, c' est une idée qui évitera pas mal de soucis et d' intervention sur des bugs 
qui en fait n' en sont pas.

Wink

il y a bien les commandes "separator_is_comma" ou "separator_is_point"
mais là, il faut bien les placer et pas oublier que l' on a changé le séparateur en cours de
programmation.
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 29 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 29 EmptyLun 30 Mai 2016 - 20:23

Bonsoir Klaus

Je sais que tu as développé des fonctions spécifiques pour l'impression mais j'aimerai savoir si tu as déjà envisagé d'insérer une fonction d'impression dans SYNEDIT ? (si cela est possible)

Il s'agit plus pour l'instant d'une réflexion car je ne suis pas encore prêt a intégrer de nouvelles fonction a GPP mais je prépare l'avenir...
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 29 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 29 EmptyLun 30 Mai 2016 - 21:10

Mais certainement ! Et c'est déjà fait - regarde le menu "Fichiers"...
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 29 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 29 EmptyLun 30 Mai 2016 - 21:45

KGF.dll V6.79 du 30/05/2016

Nouveautés:
- nouvelle fonction GetNumericGridCellText

Modules modifiés:
KGF.dll
KGF.chm


La doc et les sources sources sont à jour.

Cette nouvelle fonction fait la même chose que GetGridCellText, mais elle interprète le contenu de la cellule choisie comme valeur numérique. Alors, tout texte inutile est enlevé (le € par exemple), ainsi que les virgules servant de séparateur des milliers. On s'assure aussi de la présence d'un point à la place de la virgule décimale. Ainsi, la valeur retournée peut être passée directement dans la function VAL() de Panoramic.

Dans le programme ci-après, 3 cellules ont été programmées avec un format numérique spécifique. Chacune de ces cellules reçoit la même valeur: "1234.56". Les cellules et leurs formats sont:
(10,2) format "%g" (format général)
(10,3) format "%n" (format numérique)
(10,4) format "%m" (format monétaire)
Le programme relit ensuite chacune de ces 3 cellules et affiche le résultat lu, en utilisant str$(val(s$)) juste pour bien vérifier que le texte retourné est compatible avec la fonction VAL().
Il suffit simplement de lancer le programme.
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.




label clic, sortir

GridConstants()      : ' définir des constantes pour le code fonction de GridFunction

dim res%, l%, c%, RGB%, s$, x%, y%, status%, SG%, SG2%, SGclic%, c1$, c2$, c3$
dim M1% : M1% = 0 - 1
dim stat$(3)
  stat$(0) = "Normal"
  stat$(1) = "Libre"
  stat$(2) = "Sélectionnable"
  stat$(3) = "Bloqué"

dll_on "KGF.dll"

width 0,690 : height 0,310

edit 97 : ' hide 97
  top 97,300 : width 97,180 : left 97,250
edit 98 : ' hide 98
  top 98,300 : width 98,130 : on_change 98,clic
height 0,380

memo 99 : hide 99
  item_add 99,"Width=660"
  item_add 99,"Height=260"
  item_add 99,"Rows=10"
  item_add 99,"Columns=10"
  item_add 99,"FixedRows=1"
  item_add 99,"FixedColumns=1"
SG% = dll_call3("CreateStringGrid",handle(0),handle(99),handle(98))
s$ = string$(255," ")
res% = dll_call6("GridFunction",SG%,GF_GetVersion,adr(s$),0,0,0)
caption 0,"Objet StringGrid "+trim$(s$)


for l%=1 to 10
  for c%=1 to 10
    s$ = str$(c%)+","+str$(l%)
    res% = dll_call4("WriteGridCell",SG%,c%,l%,adr(s$))
  next c%
next l%
s$ = "ABCD"
res% = dll_call4("WriteGridCell",SG%,9,4,adr(s$))
' passer la colonne 9 en gras, italique et cadrée à droite
res% = dll_call6("GridFunction",SG%,GF_TextAttributes,9*65536,GF_Bold%+GF_Italic%+GF_Right%,0,0)
' passer la colonne 6 en cadrage centré
res% = dll_call6("GridFunction",SG%,GF_TextAttributes,6*65536,GF_Center%,0,0)
res% = dll_call6("GridFunction",SG%,GF_TextAttributes,0,0,0,0)

s$ = "10"
res% = dll_call4("WriteGridCell",SG%,6,10,adr(s$))
s$ = "80"
res% = dll_call4("WriteGridCell",SG%,7,10,adr(s$))

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

button 3 : top 3,300 : left 3,150 : caption 3,"Sortir" : on_click 3,sortir

' première zone interdite totalement
res% = dll_call6("GridFunction",SG%,GF_SetNonSelRect,3,2,5,3)

' seconde zone interdite en saisie uniquement
res% = dll_call6("GridFunction",SG%,GF_SetNonModRect,7,4,8,5)

' troisième zone CheckBox à gauche
res% = dll_call6("GridFunction",SG%,GF_SetLeftCB,4,6,4,9)

' quatrième zone CheckBox à droite
res% = dll_call6("GridFunction",SG%,GF_SetRightCB,6,7,9,8)

' Cinquième zone CheckBox à gauche dans zone interdite
res% = dll_call6("GridFunction",SG%,GF_SetLeftCB,4,2,4,3)

' Sixième zone CheckBox à droite dans zone protégée
res% = dll_call6("GridFunction",SG%,GF_SetLeftCB,7,4,7,5)

' taille et couleur des ProgressBars
res% = dll_call6("GridFunction",SG%,GF_SetProgressBarAttrib,12,255,0,0)
' Septième zone ProgressBar
res% = dll_call6("GridFunction",SG%,GF_SetProgressBar,6,10,7,10)

' huitième zone "cellules formatées" comme date
s$ = date$
for l%=4 to 7
  for c%=2 to 3
    res% = dll_call4("WriteGridCell",SG%,c%,l%,adr(s$))
  next c%
next l%
s$ = "dd mmmm yyyy"
res% = dll_call6("GridFunction",SG%,GF_SetFormat,2*65536+4,3*65536+7,2,adr(s$))


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

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

RGB(200,200,255)
for l%=4 to 5
  for c%=7 to 8
    ' couleur de la seconde zone interdite
    res% = dll_call6("GridFunction",SG%,GF_CellColor,c%,l%,RGB%,0)
  next c%
next l%

' utiliser la ImageList interne
res% = dll_call6("GridFunction",SG%,GF_SetIconLib,2,0,0,0)

' icône 3 sur colonne 5, à gauche
res% = dll_call6("GridFunction",SG%,GF_SetIconID,5,0,1,3)
' icône 4 sur cellule 5,3, à droite
res% = dll_call6("GridFunction",SG%,GF_SetIconID,5,3,2,4)

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

' autoriser la saisie
res% = dll_call6("GridFunction",SG%,GF_Edit,1,0,0,0)

' sauvegarder l'objet
s$ = "Sauvegarde_StringGrid.txt"
res% = dll_call3("SaveGridToFile",SG%,0,adr(s$))
' créer une autre form avec un autre grid
form 300 : width 300,690 : height 300,310 : caption 300,"Grille restaurée"
  top 300,200 : left 300,450
  clear 99
  item_add 99,"Width=100"
  item_add 99,"Height=100"
  item_add 99,"Rows=2"
  item_add 99,"Columns=2"
  item_add 99,"FixedRows=1"
  item_add 99,"FixedColumns=1"
SG2% = dll_call3("CreateStringGrid",handle(300),handle(99),handle(98))

' restaurer l'objet dans un autre grid
s$ = "Sauvegarde_StringGrid.txt"
res% = dll_call3("LoadGridFromFile",SG2%,0,adr(s$))

' effacer le grid d'origine
res% = dll_call6("GridFunction",SG%,GF_Clear,0,0,0,0)

' effacer le grid copié
res% = dll_call6("GridFunction",SG2%,GF_Clear,0,0,0,0)

' charger juste les données dans le grid copié (la structure est restée intacte)
s$ = "Sauvegarde_StringGrid.txt"
res% = dll_call3("LoadGridFromFile",SG2%,1,adr(s$))

' placer une valeur numérique dans les cellules 10,2, 10,3 et 10,4:
s$ = "1234.56"
res% = dll_call4("WriteGridCell",SG2%,10,2,adr(s$))
res% = dll_call4("WriteGridCell",SG2%,10,3,adr(s$))
res% = dll_call4("WriteGridCell",SG2%,10,4,adr(s$))
' formater la cellule 10,2
s$ = "%g"   : ' général
res% = dll_call6("GridFunction",SG2%,GF_SetFormat,10*65536+2,10*65536+2,1,adr(s$))
' formater la cellule 10,3
s$ = "%n"   : ' numérique
res% = dll_call6("GridFunction",SG2%,GF_SetFormat,10*65536+3,10*65536+3,1,adr(s$))
' formater la cellule 10,4
s$ = "%m"   : ' monétaire
res% = dll_call6("GridFunction",SG2%,GF_SetFormat,10*65536+4,10*65536+4,1,adr(s$))

' relire le texte numérique formaté de ces cellules:
c1$ = string$(20," ")
c2$ = string$(20," ")
c3$ = string$(20," ")
res% = dll_call4("GetNumericGridCellText",SG2%,10,2,adr(c1$))
res% = dll_call4("GetNumericGridCellText",SG2%,10,3,adr(c2$))
res% = dll_call4("GetNumericGridCellText",SG2%,10,4,adr(c3$))
message "(10,2)="+str$(val(trim$(c1$)))+"  "+"(10,3)="+str$(val(trim$(c2$)))+"  "+"(10,4)="+str$(val(trim$(c3$)))

' déclarer le EDIT pour le changement de cellules
' choisir une des deux solutions suivantes:
  ' avec par2%=1 pour signaler toutes les sorties d'une cellule
    res% = dll_call6("GridFunction",SG2%,CellChangeEditHandle,handle(97),GF_Yes,0,0)
  ' avec par2%=0 pour signaler uniquement les sorties d'une cellule modifiée
    ' res% = dll_call6("GridFunction",SG2%,CellChangeEditHandle,handle(97),GF_No,0,0)
end

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

sortir:
  message "sauvegarde"
  s$ = "Sauvegarde_StringGrid2.txt"
  res% = dll_call3("SaveGridToFile",SG2%,0,adr(s$))
  message "fini"
  res% = dll_call1("KillProcessByHandle",handle(0))
  
clic:
'  caption 0,text$(98)    : ' ici, on a  déjà le numéro de ligne et de colonne dans Edit 98 !
  s$ = text$(98)
  s$ = mid$(s$,3,len(s$))
  SGclic% = val(left$(s$,instr(s$,"click=")-1))

  res% = dll_call6("GridFunction",SGclic%,GF_GetActiveCell,adr(x%),adr(y%),adr(status%),0)
  s$ = string$(255," ")
  res% = dll_call4("GetGridCellText",SGclic%,x%,y%,adr(s$))
  caption 0, "click colonne "+str$(x%) +" ligne "+str$(y%)+"  "+stat$(status%+1)+" = "+trim$(s$)
  s$ = string$(255," ")
  res% = dll_call3("GetGridRowText",SGclic%,y%,adr(s$))
  message "Ligne="+trim$(s$)
  s$ = string$(255," ")
  res% = dll_call3("GetGridColumnText",SGclic%,x%,adr(s$))
  message "Colonne="+trim$(s$)
  return
  
  
' définition de constantes pour le code fonction de GridFunction
sub GridConstants()
  if variable("GF_Edit")=1 then exit_sub
  dim GF_Edit                 : GF_Edit                 =  1   : ' saisie directe dans le GRID
  dim GF_CellColor            : GF_CellColor            =  2   : ' couleur d'une cellule
  dim GF_RowColor             : GF_RowColor             =  3   : ' couleur d'une ligne
  dim GF_ColColor             : GF_ColColor             =  4   : ' couleur d'une colonne
  dim GF_ActivateColor        : GF_ActivateColor        =  5   : ' activer les couleurs personnalisées
  dim GF_NormalRowColor       : GF_NormalRowColor       =  6   : ' couleur d'une ligne (sans parties fixes)
  dim GF_NormalColColor       : GF_NormalColColor       =  7   : ' couleur d'une colonne (sans parties fixes)
  dim GF_ActivateResetColor   : GF_ActivateResetColor   =  8   : ' activer les couleurs personnalisées (effacer liste existante)
  dim GF_TextAttributes       : GF_TextAttributes       =  9   : ' attributs du texte
  dim GF_ClearTextAttrib      : GF_ClearTextAttrib      = 10   : ' effacer tous les attributs pour le GRID
  dim GF_GetDimensions        : GF_GetDimensions        = 11   : ' retourner les dimensions du GRID
  dim GF_SetNonSelRect        : GF_SetNonSelRect        = 12   : ' définir un rectangle intouchable
  dim GF_SetNonModRect        : GF_SetNonModRect        = 13   : ' définir un rectangle non modifiable
  dim GF_GetActiveCell        : GF_GetActiveCell        = 14   : ' retourner les infos de la cellule active
  dim GF_SetLeftCB            : GF_SetLeftCB            = 15   : ' définir un rectangle de CheckBox gauches
  dim GF_SetRightCB           : GF_SetRightCB           = 16   : ' définir un rectangle de CheckBox droites
  dim GF_SetRowHeight         : GF_SetRowHeight         = 17   : ' définit la hauteur de lignes
  dim GF_SetColWidth          : GF_SetColWidth          = 18   : ' définir la largeur de colonnes
  dim GF_InsertRow            : GF_InsertRow            = 19   : ' insérer une ligne
  dim GF_InsertCol            : GF_InsertCol            = 20   : ' insérer une colonne
  dim GF_RemoveRow            : GF_RemoveRow            = 21   : ' supprimer une ligne
  dim GF_RemoveCol            : GF_RemoveCol            = 22   : ' supprimer une colonne
  dim GF_Clear                : GF_Clear                = 23   : ' effacer toutes les données
  dim GF_GetVersion           : GF_GetVersion           = 24   : ' retourner la version dans un string
  dim GF_SetProgressBar       : GF_SetProgressBar       = 25   : ' définir un rectangle de ProgressBar
  dim GF_SetProgressBarAttrib : GF_SetProgressBarAttrib = 26   : ' définir hauteur et couleur des ProgrssBars
  dim GF_SetIconLib           : GF_SetIconLib           = 27   : ' définir la ImageList des icones
  dim GF_SetIconID            : GF_SetIconID            = 28   : ' définir un numéro d'icône pour une zone
  dim GF_SetFormat            : GF_SetFormat            = 29   : ' définir un rectabngle de cellules avec n format
  dim GF_Scroll               : GF_Scroll               = 30   : ' scroller jusqu'à une ligne donnée
  dim GF_ScrollBars           : GF_ScrollBars           = 31   : ' autoriser les scrollbars ou non
  dim CellChangeEditHandle    : CellChangeEditHandle    = 32   : ' handle d'un EDIT recevant les messages de changement de cellule

  dim GF_Bold%                : GF_Bold%                =  256 : ' texte en gras
  dim GF_Italic%              : GF_Italic%              =  512 : ' texte en italique
  dim GF_Underline%           : GF_Underline%           = 1024 : ' texte souligné
  dim GF_Strikeout%           : GF_Strikeout%           = 2048 : ' texte barré
  dim GF_Left%                : GF_Left%                =    0 : ' cadré à gauche
  dim GF_Center%              : GF_Center%              = 4096 : ' centré
  dim GF_Right%               : GF_Right%               = 8192 : ' cadré à droite

  dim GF_No                   : GF_No                   = 0    : ' pour différentes options
  dim GF_Yes                  : GF_Yes                  = 1    : ' pour différentes options
end_sub
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 29 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 29 EmptyLun 30 Mai 2016 - 23:05

Ok Klaus !

Je n'avait pas fait attention... Super, je regarderai cela le moment venu. 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 29 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 29 EmptyLun 30 Mai 2016 - 23:33

Juste pour faciliter tes recherches, Minibug, voici le code concerné:

Routine évènement pour la ligne "Imprimer" dans le menu "Fichier":
Code:
' ===== imprimer la fenêtre active
imprimer:
  s$ = string$(255," ")
  res% = dll_call2("SelectWindowsPrinter",adr(s$),len(s$))
  if res%=0 then return
  strc$ = "Imprimer page "+str$(act%)
  tracer(0,strc$)
  imprimer(act%)
return

Et voici la sub qui imprime la page actuelle:
Code:
' ===== imprimer la page actuelle
sub imprimer(nact%)
  if nact%=0 then exit_sub                        : ' aucune page ouverte ?
  s$ = caption$(100+nact%)                        : ' prendre le titre de la page
  if left$(s$,1)="*" then s$ = trim$(mid$(s$,2,len(s$)))    : ' éliminer la marque "modifié"
  if left$(s$,1)="<" then s$ = mid$(s$,2,len(s$)-2)        : ' cas du <nouveau n>
  res% = dll_call3("SyneditFunction",SE%(act%),27,adr(s$))  : ' imprimer la page actuelle
end_sub

Comme tu vois, l'essentiel du travail est fait par SyneditFunction code 27.
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 29 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 29 EmptyMar 31 Mai 2016 - 17:05

Merci Klaus !

Du coup je vais peut être l'intégrer directement... 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 29 Empty
MessageSujet: Re: KGF_dll - nouvelles versions   KGF_dll - nouvelles versions - Page 29 EmptyMer 1 Juin 2016 - 12:53

KGF.dll V6.80 du 31/05/2016

Nouveautés:
- nouvelle fonction InitializeKGF
- réécriture de SetTaskBar


Modules modifiés:
KGF.dll
KGF.chm


La doc et les sources sources sont à jour.

Cette version est préparée déjà pour la nouvelle version intermédiaire annoncée par Jack. Cette version va inclure la fonction ou la variable système HANDLE_APPLICATION. Cette valeur peut être passée à KGF.dll via la nouvelle fonction InitializeKGF et elle y sera mémorisée.

La fonction SetTaskBar a été réécrite et largement étendue dans ses fonctionnalités. Elle a maintenant deux paramètres: un code action et un paramètre pour le code action. Les codes actions suivantes sont disponibles:
Citation :
0 - cacher/montrer la barre des tâches
1 - fixer/cacher automatiquement la barre des tâches
2 - cacher/montrer le bouton du programme en cours dans la barre des tâches
3 - stopper/démarrer le clignotement du bouton du programme en cours dans la barre des tâches
Les valeurs du paramètre pour chacune de ces actions sont:
Citation :
0 - non
1 - oui
2 - récupérer l'état actuel (0=non, 1=oui) sauf pour action 3

Tout cela marche déjà, mais la valeur de HANDLE_APPLICATION est évidemment simulée, et de ce fait, cela ne marche que pour un programme lancé à partir de Panoramic_Editor, et non par un EXE généré. Voici le programme de démo, à lancer donc sous l'éditeur:
Code:
' test_SetTaskBar.bas

label montrerbarre, autohidebarre, cachericone, flashericone
dim res%, MontreBarre%, AutoHide%, MontreBouton%, FlashBouton%

dll_on "KGF.dll"
res% = dll_call1("InitializeKGF",0)   : ' remplacer 0 par Handle_Application...

' état initial (à configurer selon chaque cas)

MontreBarre%   = dll_call2("SetTaskBar",0,2)   : ' barre des tâches montrée actuellement
AutoHide%      = dll_call2("SetTaskBar",1,2)   : ' barre des tâches autohide actuellement
MontreBouton%  = dll_call2("SetTaskBar",2,2)   : ' bouton de programme montré actuellement
FlashBouton%  = 0     : ' bouton de programme fixe actuellement

button 1 : top 1,10 : left 1, 10 : width 1,100 : on_click 1,montrerbarre
button 3 : top 3,10 : left 3,110 : width 3,100 : on_click 3,autohidebarre
button 5 : top 5,10 : left 5,210 : width 5,100 : on_click 5,cachericone
button 6 : top 6,10 : left 6,310 : width 6,100 : on_click 6,flashericone

  select MontreBarre%
    case 0
      caption 1,"Montrer barre"
    case 1
      caption 1,"Cacher barre"
  end_select
  select AutoHide%
    case 0
      caption 3,"AutoHide barre"
    case 1
      caption 3,"Bloquer barre"
  end_select
  select MontreBouton%
    case 0
      caption 5,"Montrer bouton"
    case 1
      caption 5,"Cacher bouton"
  end_select
  select FlashBouton%
    case 0
      caption 6,"Flasher bouton"
    case 1
      caption 6,"Fixe bouton"
  end_select

end

montrerbarre:
  MontreBarre% = 1 - MontreBarre%
  res% = dll_call2("SetTaskBar",0,MontreBarre%)
  select MontreBarre%
    case 0
      caption 1,"Montrer barre"
    case 1
      caption 1,"Cacher barre"
  end_select
  return

autohidebarre:
  AutoHide% = 1 - AutoHide%
  res% = dll_call2("SetTaskBar",1,AutoHide%)
  select AutoHide%
    case 0
      caption 3,"AutoHide barre"
    case 1
      caption 3,"Bloquer barre"
  end_select
  return

cachericone:
  MontreBouton% = 1 - MontreBouton%
  res% = dll_call2("SetTaskBar",2,MontreBouton%)
  select MontreBouton%
    case 0
      caption 5,"Montrer bouton"
    case 1
      caption 5,"Cacher bouton"
  end_select
  return

flashericone:
  FlashBouton% = 1 - FlashBouton%
  res% = dll_call2("SetTaskBar",3,FlashBouton%)
  select FlashBouton%
    case 0
      caption 6,"Fixe bouton"
    case 1
      caption 6,"Flasher bouton"
  end_select
  return
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Contenu sponsorisé





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

Revenir en haut Aller en bas
 
KGF_dll - nouvelles versions
Revenir en haut 
Page 29 sur 40Aller à la page : Précédent  1 ... 16 ... 28, 29, 30 ... 34 ... 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: