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
» SineCube
V2.69 du 20/12/2013: améliorations pour fichiers chaînés Emptypar Marc Aujourd'hui à 12:38

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
V2.69 du 20/12/2013: améliorations pour fichiers chaînés Emptypar Marc Aujourd'hui à 12:22

» Philharmusique
V2.69 du 20/12/2013: améliorations pour fichiers chaînés Emptypar jjn4 Hier à 13:58

» PANORAMIC V 1
V2.69 du 20/12/2013: améliorations pour fichiers chaînés Emptypar papydall Jeu 9 Mai 2024 - 3:22

» select intégrés [résolu]
V2.69 du 20/12/2013: améliorations pour fichiers chaînés Emptypar jjn4 Mer 8 Mai 2024 - 17:00

» number_mouse_up
V2.69 du 20/12/2013: améliorations pour fichiers chaînés Emptypar jjn4 Mer 8 Mai 2024 - 11:59

» Aide de PANORAMIC
V2.69 du 20/12/2013: améliorations pour fichiers chaînés Emptypar jjn4 Mer 8 Mai 2024 - 11:16

» trop de fichiers en cours
V2.69 du 20/12/2013: améliorations pour fichiers chaînés Emptypar lepetitmarocain Mer 8 Mai 2024 - 10:43

» Je teste PANORAMIC V 1 beta 1
V2.69 du 20/12/2013: améliorations pour fichiers chaînés Emptypar papydall Mer 8 Mai 2024 - 4:17

» bouton dans autre form que 0
V2.69 du 20/12/2013: améliorations pour fichiers chaînés Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
V2.69 du 20/12/2013: améliorations pour fichiers chaînés Emptypar Klaus Lun 6 Mai 2024 - 11:41

» Gestion d'un système client-serveur.
V2.69 du 20/12/2013: améliorations pour fichiers chaînés Emptypar Klaus Lun 6 Mai 2024 - 10:23

» @Jack
V2.69 du 20/12/2013: améliorations pour fichiers chaînés Emptypar Jack Mar 30 Avr 2024 - 20:40

» Une calculatrice en une ligne de programme
V2.69 du 20/12/2013: améliorations pour fichiers chaînés Emptypar jean_debord Dim 28 Avr 2024 - 8:47

» Form(résolu)
V2.69 du 20/12/2013: améliorations pour fichiers chaînés Emptypar leclode Sam 27 Avr 2024 - 17:59

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
Le Deal du moment :
Cartes Pokémon 151 : où trouver le ...
Voir le deal

 

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

Aller en bas 
2 participants
AuteurMessage
Klaus

Klaus


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

V2.69 du 20/12/2013: améliorations pour fichiers chaînés Empty
MessageSujet: V2.69 du 20/12/2013: améliorations pour fichiers chaînés   V2.69 du 20/12/2013: améliorations pour fichiers chaînés EmptyVen 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
http://klauspanoramic.comxa.com/index.html
Yannick




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

V2.69 du 20/12/2013: améliorations pour fichiers chaînés Empty
MessageSujet: re   V2.69 du 20/12/2013: améliorations pour fichiers chaînés EmptyMer 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 :
V2.69 du 20/12/2013: améliorations pour fichiers chaînés <a href=V2.69 du 20/12/2013: améliorations pour fichiers chaînés Captur22" />
Revenir en haut Aller en bas
Klaus

Klaus


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

V2.69 du 20/12/2013: améliorations pour fichiers chaînés Empty
MessageSujet: Re: V2.69 du 20/12/2013: améliorations pour fichiers chaînés   V2.69 du 20/12/2013: améliorations pour fichiers chaînés EmptyMer 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
http://klauspanoramic.comxa.com/index.html
Yannick




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

V2.69 du 20/12/2013: améliorations pour fichiers chaînés Empty
MessageSujet: re   V2.69 du 20/12/2013: améliorations pour fichiers chaînés EmptyJeu 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
Yannick




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

V2.69 du 20/12/2013: améliorations pour fichiers chaînés Empty
MessageSujet: re   V2.69 du 20/12/2013: améliorations pour fichiers chaînés EmptySam 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
Klaus

Klaus


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

V2.69 du 20/12/2013: améliorations pour fichiers chaînés Empty
MessageSujet: Re: V2.69 du 20/12/2013: améliorations pour fichiers chaînés   V2.69 du 20/12/2013: améliorations pour fichiers chaînés EmptySam 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
http://klauspanoramic.comxa.com/index.html
Yannick




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

V2.69 du 20/12/2013: améliorations pour fichiers chaînés Empty
MessageSujet: re   V2.69 du 20/12/2013: améliorations pour fichiers chaînés EmptySam 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
Klaus

Klaus


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

V2.69 du 20/12/2013: améliorations pour fichiers chaînés Empty
MessageSujet: Re: V2.69 du 20/12/2013: améliorations pour fichiers chaînés   V2.69 du 20/12/2013: améliorations pour fichiers chaînés EmptySam 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
http://klauspanoramic.comxa.com/index.html
Yannick




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

V2.69 du 20/12/2013: améliorations pour fichiers chaînés Empty
MessageSujet: re   V2.69 du 20/12/2013: améliorations pour fichiers chaînés EmptySam 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
Klaus

Klaus


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

V2.69 du 20/12/2013: améliorations pour fichiers chaînés Empty
MessageSujet: Re: V2.69 du 20/12/2013: améliorations pour fichiers chaînés   V2.69 du 20/12/2013: améliorations pour fichiers chaînés EmptyDim 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
http://klauspanoramic.comxa.com/index.html
Yannick




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

V2.69 du 20/12/2013: améliorations pour fichiers chaînés Empty
MessageSujet: re   V2.69 du 20/12/2013: améliorations pour fichiers chaînés EmptyDim 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
Contenu sponsorisé





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

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
-
» V2.68 du 16/12/2013 - jusqu'à 20 fichiers chaînés simultanés
» Maintenance de fichiers chaînés
» 2.36 du 21 mai 2013: nouvelles fonctions pour FTP
» V2.56 du 25/11/2013: 135 icônes intégrées pour Toolbar !
» 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: