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.
Nouvelle version de KGF_SUB.bas Emptypar Pedro Aujourd'hui à 10:37

» Un autre pense-bête...
Nouvelle version de KGF_SUB.bas Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Nouvelle version de KGF_SUB.bas Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Nouvelle version de KGF_SUB.bas Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Nouvelle version de KGF_SUB.bas Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Nouvelle version de KGF_SUB.bas Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Nouvelle version de KGF_SUB.bas Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Nouvelle version de KGF_SUB.bas Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Nouvelle version de KGF_SUB.bas Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Nouvelle version de KGF_SUB.bas Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Nouvelle version de KGF_SUB.bas Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Nouvelle version de KGF_SUB.bas Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Nouvelle version de KGF_SUB.bas Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Nouvelle version de KGF_SUB.bas Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Nouvelle version de KGF_SUB.bas 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

 

 Nouvelle version de KGF_SUB.bas

Aller en bas 
AuteurMessage
Klaus

Klaus


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

Nouvelle version de KGF_SUB.bas Empty
MessageSujet: Nouvelle version de KGF_SUB.bas   Nouvelle version de KGF_SUB.bas EmptySam 9 Mar 2013 - 23:04

J'ai mis en place une nouvelle version de KGF_SUB.bas.

KGF.dll reste inchangé.

J'ai ajouté une procédure select_record(n%). On peut maintenant définir plusieurs enregistrements (jusqu'à 100 définitions) dans un même programme, et sélectionner une définition particulière qui deviendra la définition de l'enregistrement "actuel". Tout cela pour les 4 procédures suivantes:
CopyBinaryStringToRecord CopyRecordToBinaryString ReadBinaryFileRecord WriteBinaryFileRecord
ainsi que pour les fonctions DLL correspondantes. Ces fonctions et procédures utilisent TOUJOURS la définition de l'enregistrement "actuel", qui est systématiquement le dernier défini (chronologiquement). Pour utiliser une autre définition, on a maintenant cette procédure select_record(n%) qui sélectionne l'enregistrement n% (1, 2, ...).

Voici une petite démo:
Code:
' demo_enregistrements_multiples.bas

' Ce programme montre comment on peut utiliser simultanément
' de multiples définitions d'enregistrements.
'
' Les procéduires define_record() et build_record gèrent une
' table de tous les enregistrements définis. Et la procédure
' select_record() en choisit une pour la rendra "actuelle" pour
' les autres procédures utilisant la définition d'un enregistrement.
' Ce sont:
'    CopyBinaryStringToRecord    CopyRecordToBinaryString
'    ReadBinaryFileRecord        WriteBinaryFileRecord
' Ces 4 procédures utilisent la définition "actuelle" de l'enregistrement,
' telle qu'elle est créée par la séquence:
'    define_record()
'    add_xxx_field()
'    ...
'    build_record()
' La procédure select_record(n%) permet de sélectionner l'enregistrement
' défini en n-ième position, et installe tout pour que cet enregistrement
' devienne l'enregistrement "actuel".

' définir les variables pour les champs
dim champ_i4%, champ_i2%, champ_i1%, champ_v, champ_s60$
champ_s60$ = string$(60," ")

memo 1 : top 1,10 : left 1,10 : width 1,400 : height 1,400
  font_name 1,"Courier" : bar_vertical 1
 
KGF_initialize("KGF.dll")

' enregistrement 1            : champ_i4%, champ_v  = 12 octets
define_record(2)
add_integer_field(adr(champ_i4%))
add_float_field(adr(champ_v))
build_record()

' enregistrement 2            : champ_i4%, champ_i2., champ_i1% = 7 octets
define_record(3)
add_integer_field(adr(champ_i4%))
add_word_field(adr(champ_i2%))
add_byte_field(adr(champ_i1%))
build_record()

' enregistrement 3            : champ_i1%, champ_s60$ = 61 octets
define_record(2)
add_byte_field(adr(champ_i1%))
add_string_field(adr(champ_s60$),60)
build_record()

afficher_record_actuel("Après les 3 créations")

select_record(1)
afficher_record_actuel("Sélection enregistrement 1")

select_record(2)
afficher_record_actuel("Sélection enregistrement 2")

select_record(3)
afficher_record_actuel("Sélection enregistrement 3")

end

sub afficher_record_actuel(t$)
  item_add 1,t$
  item_add 1,"Enregistrement actuel = " + str$(record_actuel%)
  item_add 1,"  Nombre de champs    = " + str$(record%(0,0))
  item_add 1,"  Longueur totale    = " + str$(record%(0,1))
  item_add 1,"  Adresse de base    = " + str$(record%(0,2))
  item_add 1,""
end_sub


#INCLUDE "KGF_SUB.bas"

P.S. Cette démo montre parfaitement le changement des adresses des variables au cours du programme. La valeur affichée à la ligne "Adresse de base" est adr(NUMBER_CLICK) au moment de la création d'une définition. Et clairement, cette valeur n'est pas immuable !
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
 
Nouvelle version de KGF_SUB.bas
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Nouvelle version.
» Nouvelle version de KGF.dll
» Nouvelle version 0.33
» Version instantanée V 0.9.29i3 du 30/10/2018
» PANORAMIC V 0.9.22 est disponible

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: