FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» Calculus
par pascal10000 Aujourd'hui à 19:57

» Un catalogue de photos de fleurs, avec KBDD
par Klaus Aujourd'hui à 17:15

» KGF_dll - nouvelles versions
par Klaus Aujourd'hui à 17:12

» Pour coincer la bulle
par JL35 Aujourd'hui à 15:31

» Logiciel de soutien en langues.
par Pedro Alvarez Aujourd'hui à 15:00

» Version instantanée V 0.9.28i14 du 10/02/2018
par pascal10000 Aujourd'hui à 10:58

» Mathématiques pour les transformations du plan
par papydall Hier à 16:14

» petite animation
par Jean Claude Hier à 13:15

» De l’utilité de l’inutile : i^n
par papydall Sam 17 Fév 2018 - 16:02

» Racine cubique d'un nombre
par Marc Jeu 15 Fév 2018 - 21:24

» Problèmes de résolution écran avec Panoramic.
par Pedro Alvarez Jeu 15 Fév 2018 - 17:03

» Changement pour GRID_ONE_COLUMN_WIDTH
par Klaus Jeu 15 Fév 2018 - 8:33

» Exemples de définition et utilisation de Fonctions FNC
par papydall Jeu 15 Fév 2018 - 2:48

» Visualisation d'une équation. Source inachevé...
par Marc Mer 14 Fév 2018 - 21:06

» Pas de limites pour GRID !
par Oscaribout Mar 13 Fév 2018 - 1:14

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Février 2018
LunMarMerJeuVenSamDim
   1234
567891011
12131415161718
19202122232425
262728    
CalendrierCalendrier

Partagez | 
 

 V2.69 du 20/12/2013: améliorations pour fichiers chaînés

Aller en bas 
AuteurMessage
Klaus

avatar

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

MessageSujet: V2.69 du 20/12/2013: améliorations pour fichiers chaînés   Ven 20 Déc 2013 - 20:59

Nouvelle version:
KGF.dll V2.68 du 20/12/2013

Nouveautés:
- diverses améliorations techniques dans les fonctions de gestion des fichiers chaînés
- correction d'une anomalie dans cfInfoFile
- ajout d'un nouveau code "cflist" pour la fonction cfInfoFile


Modules modifiés:
KGF.dll
KGF_SUB.bas
KGF.chm
KGF.doc
KGF.pdf

La doc et les sources sont à jour.

La nouveauté pour la fonction cfInfoFile est l'ajout du nouveau code opération "cflist". Ce code fonctionne différemment des autres. Le premier paramètre de la fonction sera ignoré (peut être passé par comme zéro), le second reste le code opératoire, et le troisième, au lieu d'être une adresse d'une variable chaîne de caractères, doit être le handle d'un objet memo. Le contenui de ce mémo sera alors remplacé par une liste des fichiers chaînés ouverts, un fichier par ligne, selon le format:
n:device:\chemin...\fichier.extension
La valeur n peut varier entre 0 et 19 et représente l'identifiant interne du fichier, pour la DLL.


Dernière édition par Klaus le Mer 25 Déc 2013 - 22:20, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

Nombre de messages : 8015
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Mer 25 Déc 2013 - 19:24

J' ai écris ceci :
Code:
dim KGF$
dim res%,cible%,edit%,side%
KGF$="C:\Users\Yannick\Desktop\New FTP\KGF.dll"

label Close0

dll_on KGF$

cible%=0
edit%=1
side%=0

edit 1
top 1,-300
left 1,-300

res%=dll_call3("CreateToolbar",handle(cible%),handle(edit%),side%)


On_close 0,Close0
end


Close0:
   dll_off
return

avec la dernière mouture de la dll et Panoramic_Editor 25i9.

Résultat :
" />
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: V2.69 du 20/12/2013: améliorations pour fichiers chaînés   Mer 25 Déc 2013 - 22:22

Regarde comment cette fonction est gérée dans KGF_SUB.bas. En occurence, tu n'as pas géré le ON_CHANGE sur le EDIT, par exemple.

Essaie de faire KGF_initialize(KGF$)
puis utilise la procédure CreateToolbar(cible%,edit%,side%) pour créer la toolbar, puis crée le sousprogramme click_toolbar pour gérer les évènements sur la toolbar. En voici un exemple:
Code:
click_toolbar:
  if text$(1)="-1"
    adapter_container()
  else
    message "Bouton cliqué: "+text$(1)
  end_if
  return

Ce code est extrait du programme de démo (fonctionnel) mis au point par et pour Bignono:
Code:
' bignono_toolbar.bas

label click_toolbar

dim res%, icon$, after%, hint$

' ==============================================================
' début des paramètres de confiduration de la Toolbar
dim system$
  system$ = "XP"
'  system$ = "W7"
dim position_toolbar% : position_toolbar% = 1  : ' 0,1,2,3
dim icon_size% : icon_size% =  32              : ' 16 ou 32
' fin des paramètres de confiduration de la Toolbar
' ==============================================================

select position_toolbar%

  case 0
    if system$="XP"
' ************* XP
' Window:    (0,0) ->(800,900)
' Client:    (0,0) ->(766,892) delta_x=34  delta_y = 8
' Toolbar: (4,30)->(71,896)
      dim chg_hor% : chg_hor% = 10
      dim chg_ver% : chg_ver% = (icon_size%-16)+60
    else
' ************* W7
' pour side%=0
' Window:    (0,0) ->(800,900)
' Client:    (0,0) ->(762,884) delta_x=38  delta_y = 16
' Toolbar: (8,30)->(71,892)
      dim chg_hor% : chg_hor% = 16
      dim chg_ver% : chg_ver% = (icon_size%-16)+76
    end_if
   
  case 1
    if system$="XP"
' ************* XP
' Window:    (0,0) ->(800,900)
' Client:    (0,0) ->(766,892) delta_x=34  delta_y = 8
' Toolbar: (4,30)->(796,47)
      dim chg_hor% : chg_hor% = (icon_size%-16) + 40
      dim chg_ver% : chg_ver% = 36
    else
' ************* W7
' pour side%=1
' Window:    (0,0) ->(800,900)
' Client:    (0,0) ->(762,884) delta_x=38  delta_y = 16
' Toolbar: (8,30)->(792,51)
      dim chg_hor% : chg_hor% = (icon_size%-16)+48
      dim chg_ver% : chg_ver% = 38
    end_if
   
  case 2
    if system$="XP"
' ************* XP
' Window:    (0,0) ->(800,900)
' Client:    (0,0) ->(766,892) delta_x=34  delta_y = 8
' Toolbar: (4,756)->(797,896)
      dim chg_hor% : chg_hor% = 8
      dim chg_ver% : chg_ver% = (icon_size%-16)+60
    else
' ************* W7
' pour side%=2
' Window:    (0,0) ->(800,900)
' Client:    (0,0) ->(762,884) delta_x=38  delta_y = 16
' Toolbar: (8,752)->(793,892)
      dim chg_hor% : chg_hor% = 16
      dim chg_ver% : chg_ver% = (icon_size%-16)+68
    end_if
   
  case 3
    if system$="XP"
' ************* XP
' Window:    (0,0) ->(800,900)
' Client:    (0,0) ->(766,892) delta_x=34  delta_y = 8
' Toolbar: (854,30)->(796,897)
      dim chg_hor% : chg_hor% = (icon_size%-16) + 34
      dim chg_ver% : chg_ver% = 36
    else
' ************* W7
' pour side%=3
' Window:    (0,0) ->(800,900)
' Client:    (0,0) ->(762,884) delta_x=38  delta_y = 16
' Toolbar: (850,30)->(792,893)
      dim chg_hor% : chg_hor% = (icon_size%-16)+42
      dim chg_ver% : chg_ver% = 44
    end_if
   
end_select

dll_on "KGF.dll"

edit 1 : hide 1

on_change 1,click_toolbar

container 10 : caption 10,"Espace utilisable"

' ==============================================================
' res% = dll_call4("CreateToolbar",handle(cible%),handle(edit%),handle(panel%),side%)
' ==============================================================
 res% = dll_call4("CreateToolbar",handle(0),handle(1),handle(10),position_toolbar%)

' ==============================================================
' res% = dll_call4("ModifyToolbar",action%,p1%,p2%,p3%)
' ==============================================================
 res% = dll_call4("ModifyToolbar",1,255,255,255)  : ' blanc
 res% = dll_call4("ModifyToolbar",7,icon_size%,0,0)  : ' icones 32 x 32
 height 0,800 : width 0, width(0) + 300
 adapter_container()
 res% = dll_call4("ModifyToolbar",8,1,0,0)
 res% = dll_call4("ModifyToolbar",2,0,0,0)  : ' ajuster la toolbar à la largeur du form
                                              ' si side%=0 (en haut) ou side%=2 (en bas)
                                              ' ajuster la toolbar à la hauteur du form
                                              ' si side%=1 (à gauche) ou side%=3 (à droite)
' ==============================================================
' res% = dll_call4("AddButtonToToolbar",id%,after%,adr(hint$),adr(icon$))
' ==============================================================
 hint$ = "afficher la photo"
 icon$ = "KGF_1"
 res% = dll_call4("AddButtonToToolbar",1,0,adr(hint$),adr(icon$))
 hint$ = "prendre une photo"
 icon$ = "KGF_2"
 after% = 0-1
 res% = dll_call4("AddButtonToToolbar",2,after%,adr(hint$),adr(icon$))
 hint$ = "aller à gauche"
 icon$ = "KGF_3"
 res% = dll_call4("AddButtonToToolbar",3,after%,adr(hint$),adr(icon$))
 hint$ = "avancer"
 icon$ = "KGF_4"
 res% = dll_call4("AddButtonToToolbar",4,after%,adr(hint$),adr(icon$))
 hint$ = "aller à droite"
 icon$ = "KGF_5"
 res% = dll_call4("AddButtonToToolbar",5,after%,adr(hint$),adr(icon$))
 hint$ = "reculer"
 icon$ = "KGF_6"
 res% = dll_call4("AddButtonToToolbar",6,after%,adr(hint$),adr(icon$))
 hint$ = "filmer"
 icon$ = "KGF_7"
 res% = dll_call4("AddButtonToToolbar",7,after%,adr(hint$),adr(icon$))
 hint$ = "grossir"
 icon$ = "KGF_8"
 res% = dll_call4("AddButtonToToolbar",8,after%,adr(hint$),adr(icon$))
 hint$ = "réduire"
 icon$ = "KGF_9"
 res% = dll_call4("AddButtonToToolbar",9,after%,adr(hint$),adr(icon$))
 hint$ = "police"
 icon$ = " " : ' "KGF_10"
 res% = dll_call4("AddButtonToToolbar",10,after%,adr(hint$),adr(icon$))
 hint$ = "style"
 icon$ = "KGF_11"
 res% = dll_call4("AddButtonToToolbar",11,after%,adr(hint$),adr(icon$))
 hint$ = "aligner à gauche"
 icon$ = "KGF_12"
 res% = dll_call4("AddButtonToToolbar",12,after%,adr(hint$),adr(icon$))
 hint$ = "centrer"
 icon$ = "KGF_13"
 res% = dll_call4("AddButtonToToolbar",13,after%,adr(hint$),adr(icon$))
 hint$ = "aligner à droite"
 icon$ = "KGF_14"
 res% = dll_call4("AddButtonToToolbar",14,after%,adr(hint$),adr(icon$))
 hint$ = "Majuscules/Minuscules"
 icon$ = "KGF_15"
 res% = dll_call4("AddButtonToToolbar",15,after%,adr(hint$),adr(icon$))
 hint$ = "interdire"
 icon$ = "KGF_16"
 res% = dll_call4("AddButtonToToolbar",16,after%,adr(hint$),adr(icon$))
 hint$ = "autoriser"
 icon$ = "KGF_17"
 res% = dll_call4("AddButtonToToolbar",17,after%,adr(hint$),adr(icon$))
 hint$ = "ajouter"
 icon$ = "KGF_300"
 after% = 3
 res% = dll_call4("AddButtonToToolbar",18,after%,adr(hint$),adr(icon$))

'  res% = dll_call4("ModifyToolbar",8,1,0,0)
END

sub adapter_container()
  select position_toolbar%
    case 0
      top 10,icon_size%+10
      width 10,width(0)-chg_hor%
      height 10,height(0)- chg_ver%
    case 1
      left 10,icon_size%+12
      width 10,width(0)-chg_hor%
      height 10,height(0)- chg_ver%
    case 2
      width 10,width(0)-chg_hor%
      height 10,height(0)- chg_ver%
    case 3
      width 10,width(0)-chg_hor%
      height 10,height(0)- chg_ver%
  end_select
end_sub

click_toolbar:
  if text$(1)="-1"
    adapter_container()
  else
    message "Bouton cliqué: "+text$(1)
  end_if
  return

Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

Nombre de messages : 8015
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Jeu 26 Déc 2013 - 10:26

Mea culpa... Embarassed 

PS : J'essaie de refaire mon FTP avec le barre d'outil pour le compilateur.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 8015
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Sam 28 Déc 2013 - 13:04

J' ai un petit souci...

La doc dit : res% = dll_call3("CreateToolbar",handle(cible%),handle(edit%),side%)


Ton exemple pour bignono : res% = dll_call4("CreateToolbar",handle(0),handle(1),handle(10),position_toolbar%)


 scratch Suis je obligé d' avoir un container ?...
La doc est elle juste ?...


( je pense que la doc à un souci car j' ai droit à un arrêt violent  pale de Panoramic quand je la suis )
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: V2.69 du 20/12/2013: améliorations pour fichiers chaînés   Sam 28 Déc 2013 - 15:38

Oui, la syntaxe
Code:
res% = dll_call4("CreateToolbar",handle(0),handle(1),handle(10),position_toolbar%)
est la bonne. Et effectivement, la doc n'a pas encore suivi, car s'est en cours de mise au point, avec l'aide de Bignono. Le 3ème paramètre (ici handle(10) ) donne le handle d'un panel ou container qui est censé occuper l'espace restant de la fenêtre. Ainsi, on peut y placer les objets au lieu de les mettre directement dans la form, évitant ainsi tout conflit avec la toolbar elle-même.

Actuellement, le dimensionnement de ce panel ou container est fait dans le programme PAnoramic lui-même. Mais à terme, cela sera déplacé dans la DLL qui va alors redimensionner le panel ou le container de façon automatique, sans qu'on ait besoin d'intervenir.

Tu as en fait une version intermédiaire servant à la mise au point du mécanisme de positionnement. Mais les autres fonctions sont inchangées, et les boutons de la toolbar réagiront normalement.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

Nombre de messages : 8015
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Sam 28 Déc 2013 - 15:45

Ok.

Je vais un peu te compliquer la tâche... Laughing 
Actuellement la dll gère un "Container" d' origine.
Mais que ce passe t il, au niveau du redimensionnement,
si chaque bouton de la toolbar donne accès à son propre container ?... Twisted Evil 

Je sais...c' est vicieux... Twisted Evil
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: V2.69 du 20/12/2013: améliorations pour fichiers chaînés   Sam 28 Déc 2013 - 16:24

Je ne comprends pas ta question. Un bouton de la toolbar provoque un évènement ON_CHANGE dans le EDIT associé à la toolbar, et dans la routine évènement, on effectue le traitement associé au numéro du bouton qui est retourné dans le EDIT. Un bouton ne peut donc pas donner accès à un container, seulement à un morceau de code qui correspond à une routine évèmenent de ce bouton.

Bien sûr, dans une telle routine, tu peux créer ou afficher un container. Il devra avoir comme parent le container géré par la DLL; et viendra se positionner là où tu le placeras, dans ce container. Ou alors, la routine évènement ouvre une nouvelle form, et tu es alors entièrement libre de sa gestion.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

Nombre de messages : 8015
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Sam 28 Déc 2013 - 16:42

Donc, si je suis bien, tout les objets ne sont plus à déclarer sur le Form mais dans le container.
Si mon bouton affiche un autre container, je dois gérer ses dimensions et re-dimensions en parallèle.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: V2.69 du 20/12/2013: améliorations pour fichiers chaînés   Dim 29 Déc 2013 - 1:19

Effectivement. A supposer que le container géré par la toolbar est l'objet 10, tu peur faire ainsi:
Code:

dim mon_container%
mon_container% = 17 : ' juste un exemple
container mon_container%
top mon_container%, top(10)
left mon_container%, left(10)
width mon_container%, width(10)
height mon_container%, height(10)
hide 10
show mon_container%
Tu vois le principe ? Place les 4 lignes top, left, width et height dans une SUB, et ce sera simple.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

Nombre de messages : 8015
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Dim 29 Déc 2013 - 12:05

Je vois le principe... Shocked 
Sauf que, j' évite les sub pour le compilateur.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: V2.69 du 20/12/2013: améliorations pour fichiers chaînés   

Revenir en haut Aller en bas
 
V2.69 du 20/12/2013: améliorations pour fichiers chaînés
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Windows Blue : des améliorations pour Windows 8 et Windows Phone
» Télécharger Norton Antivirus 2013 gratuit 6 mois
» [festival] - Le Troll et légende - le 29, 30, 31 mars 2013
» [Résolu] Comment Transférer d'un carte SD à Mapsource CN Europe 2013
» pas de carte 2013 après téléchargement

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: