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
» Mise à jour PANOMAND
par jean_debord Aujourd'hui à 11:33

» Pourquoi le compilateur stagne
par Jicehel Aujourd'hui à 11:13

» Immortaliser les photos de famille
par jjn4 Hier à 18:29

» Concours de Morpions
par jjn4 Hier à 18:11

» Compilateur FBPano
par jean_debord Hier à 10:12

» Tout est tranquille
par Jean Claude Ven 22 Sep 2017 - 21:41

» Texte en gif animé
par JL35 Ven 22 Sep 2017 - 13:29

» BasicEditor
par Yannick Mer 20 Sep 2017 - 17:17

» Simuler l’appui d'une touche ou combinaison de touches.
par pascal10000 Lun 18 Sep 2017 - 19:30

» Utilisation de HVIEWER pour afficher des images
par papydall Lun 18 Sep 2017 - 17:43

» Panoramic et les gifs animés.
par papydall Lun 18 Sep 2017 - 16:32

» recover source
par pascal10000 Dim 17 Sep 2017 - 14:21

» Recent dans vos menu
par Jean Claude Sam 16 Sep 2017 - 11:41

» Comment centrer un texte 3D.
par pascal10000 Ven 15 Sep 2017 - 20:20

» Carte interface 16 entrées et 16 sorties
par Jicehel Ven 15 Sep 2017 - 16:30

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Septembre 2017
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier

Partagez | 
 

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

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Klaus

avatar

Nombre de messages : 10062
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 - 22: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 Jeu 26 Déc 2013 - 0: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 : 7992
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Mer 25 Déc 2013 - 21: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 : 10062
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   Jeu 26 Déc 2013 - 0: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 : 7992
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Jeu 26 Déc 2013 - 12: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 : 7992
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Sam 28 Déc 2013 - 15: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 : 10062
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 - 17: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 : 7992
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Sam 28 Déc 2013 - 17: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 : 10062
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 - 18: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 : 7992
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Sam 28 Déc 2013 - 18: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 : 10062
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 - 3: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 : 7992
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Dim 29 Déc 2013 - 14: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
Voir le sujet précédent Voir le sujet suivant 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
» Script pour faire un tableau au coins arrondi dans sa PA
» Mise à jour pour les templates personnalisés + des améliorations pour vos forums
» V2.57 du 25/11/2013 - bibliothèque personnelle pour Toolbar

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: