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.
Nouveau pseudo-objet TAB utilisable par #INCLUDE Emptypar Pedro Aujourd'hui à 8:08

» Un autre pense-bête...
Nouveau pseudo-objet TAB utilisable par #INCLUDE Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Nouveau pseudo-objet TAB utilisable par #INCLUDE Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Nouveau pseudo-objet TAB utilisable par #INCLUDE Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Nouveau pseudo-objet TAB utilisable par #INCLUDE Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Nouveau pseudo-objet TAB utilisable par #INCLUDE Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Nouveau pseudo-objet TAB utilisable par #INCLUDE Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Nouveau pseudo-objet TAB utilisable par #INCLUDE Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Nouveau pseudo-objet TAB utilisable par #INCLUDE Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Nouveau pseudo-objet TAB utilisable par #INCLUDE Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Nouveau pseudo-objet TAB utilisable par #INCLUDE Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Nouveau pseudo-objet TAB utilisable par #INCLUDE Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Nouveau pseudo-objet TAB utilisable par #INCLUDE Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Nouveau pseudo-objet TAB utilisable par #INCLUDE Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Nouveau pseudo-objet TAB utilisable par #INCLUDE 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 à ne pas rater :
LEGO Icons 10331 – Le martin-pêcheur
35 €
Voir le deal

 

 Nouveau pseudo-objet TAB utilisable par #INCLUDE

Aller en bas 
2 participants
Aller à la page : 1, 2, 3  Suivant
AuteurMessage
Klaus

Klaus


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

Nouveau pseudo-objet TAB utilisable par #INCLUDE Empty
MessageSujet: Nouveau pseudo-objet TAB utilisable par #INCLUDE   Nouveau pseudo-objet TAB utilisable par #INCLUDE EmptyVen 13 Aoû 2010 - 0:40

J'ai fait un pseudo-objet TAB permettant de créer une "page" avec des onglets. Plusieurs objets de ce type peuvent co-habiter, chaque objet peu recevoir jusqu'à 20 onglets, et on peut affecter des objets Panoramic à chaque onglet. Les onglets sont cliquables et affichent les objets Panoramic correspondants.

Ce module est réalisé entièrement en Panoramic, sur le modèle des GLIST, et est utilisable très simplement par #INCLUDE. Une documentation complète et un programme de démo sont joints à la distribution.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Nardo26

Nardo26


Nombre de messages : 2294
Age : 56
Localisation : Valence
Date d'inscription : 02/07/2010

Nouveau pseudo-objet TAB utilisable par #INCLUDE Empty
MessageSujet: Re: Nouveau pseudo-objet TAB utilisable par #INCLUDE   Nouveau pseudo-objet TAB utilisable par #INCLUDE EmptyVen 13 Aoû 2010 - 9:04

Bravo Klaus !!! t'es le king

Voila une nouvelle fonctionnalité qui manquait vraiment !!
Super boulot !

Une petite précision pour ceux qui veulent s'y atteler : cela fonctionne uniquement sur la version 0.9.20i2 du 30 juillet.

Klaus, un petit détail...
Dans tab.bas à la ligne 159, le message d'erreur n'est pas correct... tu rêves des GLIST maintenant ? Smile

Revenir en haut Aller en bas
http://nardo26.lescigales.org
Klaus

Klaus


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

Nouveau pseudo-objet TAB utilisable par #INCLUDE Empty
MessageSujet: Re: Nouveau pseudo-objet TAB utilisable par #INCLUDE   Nouveau pseudo-objet TAB utilisable par #INCLUDE EmptyVen 13 Aoû 2010 - 9:46

Merci, ça me va droit au coeur !

J'ai corrigé la référence à GLIST - un oubli après un copier-coller. Il est vrai que pendant un moment, je "pensais" GLIST...
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

Nouveau pseudo-objet TAB utilisable par #INCLUDE Empty
MessageSujet: Re: Nouveau pseudo-objet TAB utilisable par #INCLUDE   Nouveau pseudo-objet TAB utilisable par #INCLUDE EmptyVen 13 Aoû 2010 - 10:08

Nouvelle fonction pour les objets TAB: Tab_select permet de sélectioner par programme un onglet d'un objet TAB comme si l'on avait cliqué dessus. Cela manquait...
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Nardo26

Nardo26


Nombre de messages : 2294
Age : 56
Localisation : Valence
Date d'inscription : 02/07/2010

Nouveau pseudo-objet TAB utilisable par #INCLUDE Empty
MessageSujet: Re: Nouveau pseudo-objet TAB utilisable par #INCLUDE   Nouveau pseudo-objet TAB utilisable par #INCLUDE EmptyVen 13 Aoû 2010 - 10:16

Regarde si avec ce bout de code tu pourrais pas faire quelque chose :
Je pense que cela te simplifierai la vie...

Code:

label TAB_SearchParam
dim TAB_par$(10,1)


dim TAB_params$,TAB_i%,TAB_j%,TAB_error_mode%,TAB_err%
dim i,indice


TAB_params$ = "Create|N=20|H=200|W=400|T=40|L=90|O=5|"
TAB_error_mode%=1
gosub TAB_SearchParam

if TAB_err%=0
  print TAB_params$
  print "  fonction    :";TAB_par$(0,0)
  print "  nb paramètres:";TAB_par$(0,1)
  for i=1 to val(TAB_par$(0,1))
    print "  parametre n°:";i;"=";TAB_par$(i,0);" valeur:";val(TAB_par$(i,1))
  next i
end_if

end


TAB_SearchParam:
  for TAB_i%=0 to 10:TAB_par$(TAB_i%,0)="":TAB_par$(TAB_i%,1)="":next TAB_i%
  TAB_err%=0
  TAB_par$(0,1)="0"
  for TAB_i%=1 to len(TAB_params$)
    if mid$(TAB_params$,TAB_i%,1)="|"
      TAB_par$(0,1)=str$(val(TAB_par$(0,1))+1)
      TAB_j%=0
      if numeric(TAB_par$(val(TAB_par$(0,1))-1,1))=0
        TAB_params$ = "TAB: valeur non numerique pour paramètre"+chr$(10)+chr$(13)+chr$(34)+TAB_par$(val(TAB_par$(0,1))-1,0)+chr$(34)
        if TAB_error_mode%=1 then TAB_err% = message_error_OK(TAB_params$)
        return
      end_if
    else
      if mid$(TAB_params$,TAB_i%,1)="="
        TAB_j%=1
      else
        TAB_par$(val(TAB_par$(0,1)),TAB_j%)=TAB_par$(val(TAB_par$(0,1)),TAB_j%)+mid$(TAB_params$,TAB_i%,1)
      end_if
    end_if
  next TAB_i%
  if RIGHT$(TAB_params$,1)="|"
    TAB_par$(0,1)=str$(val(TAB_par$(0,1))-1)
  end_if

return



bon il manque quelques tests pour savoir si les valeurs sont numeriques... mais l'idée est là...

Edit : j'ai rajouté quelques tests...
Revenir en haut Aller en bas
http://nardo26.lescigales.org
Klaus

Klaus


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

Nouveau pseudo-objet TAB utilisable par #INCLUDE Empty
MessageSujet: Re: Nouveau pseudo-objet TAB utilisable par #INCLUDE   Nouveau pseudo-objet TAB utilisable par #INCLUDE EmptyVen 13 Aoû 2010 - 10:47

Jolie, cette analyse avec répartition caractère par caractère pour remplir le tableau. Je prends et vais réfléchir à son intégration.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Nardo26

Nardo26


Nombre de messages : 2294
Age : 56
Localisation : Valence
Date d'inscription : 02/07/2010

Nouveau pseudo-objet TAB utilisable par #INCLUDE Empty
MessageSujet: Re: Nouveau pseudo-objet TAB utilisable par #INCLUDE   Nouveau pseudo-objet TAB utilisable par #INCLUDE EmptyVen 13 Aoû 2010 - 10:58

Je pense que cela servira par la suite et cela te simplifiera ta série de if imbriqué...

L'autre avantage, c'est que les paramètres peuvent être écrits dans n'importe quel ordre, du moment que derrière, l'analyse se fait avec une boucle for et un select/case.

Un truc que je viens de m'apercevoir au sujet du 'print'
Avant dans les anciens basics, quand on ecrivait ceci :

print "toto:";toto,"titi";titi

la virgule faisait l'équivalent d'une tabulation... apparemment ce n'est pas le cas dans panoramic...


Dernière édition par Nardo26 le Ven 13 Aoû 2010 - 11:24, édité 1 fois
Revenir en haut Aller en bas
http://nardo26.lescigales.org
Klaus

Klaus


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

Nouveau pseudo-objet TAB utilisable par #INCLUDE Empty
MessageSujet: Re: Nouveau pseudo-objet TAB utilisable par #INCLUDE   Nouveau pseudo-objet TAB utilisable par #INCLUDE EmptyVen 13 Aoû 2010 - 11:20

Tu as raison. Je l'intégrerai dans TAB et GLIST et l'utiliserai pour d'autres projets. J'avais la tête plongée dans les fonctionnalités au point de ne pas trop me soucier des techniques de réalisation.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Nardo26

Nardo26


Nombre de messages : 2294
Age : 56
Localisation : Valence
Date d'inscription : 02/07/2010

Nouveau pseudo-objet TAB utilisable par #INCLUDE Empty
MessageSujet: Re: Nouveau pseudo-objet TAB utilisable par #INCLUDE   Nouveau pseudo-objet TAB utilisable par #INCLUDE EmptyVen 13 Aoû 2010 - 14:29

Dans la même optique:
Vu qu'on ne peut pas faire SELECT/CASE avec des variables de type texte,
on peut également faire de cette manière :
...Si ça peut donner des idées à quelques-un...

Klaus, jette un coup d'oeil sur la procedure TAB_IdentFct.
Je suis sûr qu'il y a bien quelqu'un dans ce forum qui peut optimiser ce truc... (avec un left$() et un instr()... par ex.) Wink

Code:

' --------------- variables déjà déclarées dans TAB.BAS
dim TAB_params$,TAB_i%,TAB_j%,TAB_error_mode%,TAB_err%,TAB_s$

' --------------- variables nécessaire pour TAB_SearchParam
label TAB_SearchParam
dim TAB_par$(10,1)


' --------------- variables nécessaire pour TAB_IdentFct
label TAB_IdentFct
dim TAB_LstFct$,TAB_IdentFct%
TAB_LstFct$="CREATE|MODE|TAB_LABEL|TAB_INSERT|TAB_DELETE|TAB_SELECT|OBJECT_ADD|OBJECT_REMOVE|" : ' tout en majuscule..doit obligatoirement se terminer par '|'





' --------------- variables utilisées pour la démo de TAB_SearchParam
dim i,indice


' TAB_params$ = "Create|N=20|H=200|W=400|T=40|L=90|O=51"
TAB_params$ = "Object_add|N=20|O=1|P=101"

TAB_error_mode%=1

gosub TAB_SearchParam
if TAB_err%=0
  gosub TAB_IdentFct
  if TAB_err%=0
    print TAB_params$
    print
    print "  fonction    :";TAB_par$(0,0);"  ";
    print "  nb paramètres:";TAB_par$(0,1)
    for i=1 to val(TAB_par$(0,1))
      print "  parametre n°";i;": ";TAB_par$(i,0);",  valeur:";val(TAB_par$(i,1))
    next i
    print
    print "-->";
    select TAB_IdentFct%
      case 1: print "gosub vers fonction create"
      case 2: print "gosub vers fonction Mode"
      case 3: print "gosub vers fonction Tab_label"
      case 4: print "gosub vers fonction Tab_insert"
      case 5: print "gosub vers fonction Tab_delete"
      case 6: print "gosub vers fonction Tab_Select"
      case 7: print "gosub vers fonction Object_add"
      case 8: print "gosub vers fonction Object_remove"
    end_select
  end_if

end_if

end

' *********************************************************************
' *                    FIN DU PROGRAMME DE TEST                      *
' *********************************************************************




TAB_SearchParam:
  for TAB_i%=0 to 10:TAB_par$(TAB_i%,0)="":TAB_par$(TAB_i%,1)="":next TAB_i%
  TAB_err%=0
  TAB_par$(0,1)="0"
  for TAB_i%=1 to len(TAB_params$)
    if mid$(TAB_params$,TAB_i%,1)="|"
      TAB_par$(0,1)=str$(val(TAB_par$(0,1))+1)
      TAB_j%=0
      if numeric(TAB_par$(val(TAB_par$(0,1))-1,1))=0
        TAB_params$ = "TAB: Appel fonction "+TAB_par$(0,0)+chr$(10)+chr$(13)
        TAB_params$ = TAB_params$+"valeur non numerique pour paramètre"+chr$(10)+chr$(13)+chr$(34)+TAB_par$(val(TAB_par$(0,1))-1,0)+chr$(34)
        TAB_err%=1
        if TAB_error_mode%=1 then TAB_err% = message_error_OK(TAB_params$)
        return
      end_if
    else
      if mid$(TAB_params$,TAB_i%,1)="="
        TAB_j%=1
      else
        TAB_par$(val(TAB_par$(0,1)),TAB_j%)=TAB_par$(val(TAB_par$(0,1)),TAB_j%)+mid$(TAB_params$,TAB_i%,1)
      end_if
    end_if
  next TAB_i%
  if RIGHT$(TAB_params$,1)="|"
    TAB_par$(0,1)=str$(val(TAB_par$(0,1))-1)
  end_if

return


TAB_IdentFct:
  TAB_s$="": TAB_IdentFct%=0: TAB_j%=1: TAB_err%=0
  for TAB_i%=1 to LEN(TAB_LstFct$)
    if mid$(TAB_LstFct$,TAB_i%,1)="|"
      if  TAB_s$=UPPER$(TAB_par$(0,0))
        TAB_IdentFct%=TAB_j%
        return
      else
        TAB_s$=""
        TAB_j%=TAB_j%+1
      end_if
    else
      TAB_s$=TAB_s$+mid$(TAB_LstFct$,TAB_i%,1)
    end_if
  next TAB_i%
  TAB_params$="TAB: fonction "+TAB_par$(0,0)+" inconnue !"
  if TAB_error_mode%=1 then TAB_err% = message_error_OK(TAB_params$)
  TAB_err%=1
return





Dernière édition par Nardo26 le Ven 13 Aoû 2010 - 15:10, édité 1 fois
Revenir en haut Aller en bas
http://nardo26.lescigales.org
Klaus

Klaus


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

Nouveau pseudo-objet TAB utilisable par #INCLUDE Empty
MessageSujet: Re: Nouveau pseudo-objet TAB utilisable par #INCLUDE   Nouveau pseudo-objet TAB utilisable par #INCLUDE EmptyVen 13 Aoû 2010 - 15:07

Je regarderai cette fonction.

En attendant, une petite correction dans TAB-SearchParam: la variable TAB_j est utilisée mais pas mis à zéro au début, ce qui plante au deuxième appel car cette variable est utilisée dans TAB.bas:
Code:
TAB_SearchParam:
  for TAB_i%=0 to 10:TAB_par$(TAB_i%,0)="":TAB_par$(TAB_i%,1)="":next TAB_i%
  TAB_par$(0,1)="0" : TAB_j% = 0
  for TAB_i%=1 to len(TAB_params$)
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Nardo26

Nardo26


Nombre de messages : 2294
Age : 56
Localisation : Valence
Date d'inscription : 02/07/2010

Nouveau pseudo-objet TAB utilisable par #INCLUDE Empty
MessageSujet: Re: Nouveau pseudo-objet TAB utilisable par #INCLUDE   Nouveau pseudo-objet TAB utilisable par #INCLUDE EmptyVen 13 Aoû 2010 - 15:22

Oui en effet, tu as raison...
me suis fait avoir sur ce coup... Embarassed
Revenir en haut Aller en bas
http://nardo26.lescigales.org
Klaus

Klaus


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

Nouveau pseudo-objet TAB utilisable par #INCLUDE Empty
MessageSujet: Re: Nouveau pseudo-objet TAB utilisable par #INCLUDE   Nouveau pseudo-objet TAB utilisable par #INCLUDE EmptyVen 13 Aoû 2010 - 15:26

Qu'est-ce que tu penses de cela:
Code:
label TAB_IdentFct
dim TAB_LstFct$, TAB_params$, TAB_i%,TAB_n%

TAB_LstFct$="CREATE|.......MODE|.........TAB_LABEL|....TAB_INSERT|...TAB_DELETE|...TAB_SELECT|...OBJECT_ADD|...OBJECT_REMOVE|

TAB_params$ = "Object_add|N=t20|O=1|P=101"
gosub TAB_IdentFct
message TAB_params$ + "==>" + str$(TAB_n%)

TAB_params$ = "Object_remove|N=20|O=3|P=17"
gosub TAB_IdentFct
message TAB_params$ + "==>" + str$(TAB_n%)

end

TAB_IdentFct:
' pour le programme réel TAB_par$(0,0) étant chargé:
' TAB_n% = int((instr(TAB_LstFct$,upper$(TAB_par$(0,0)))+13)/14 )
' deux lignes pour la démo:
TAB_i% = instr(TAB_params$,"|")
TAB_n% = int((instr(TAB_LstFct$,upper$(left$(TAB_params$,TAB_i%)))+13)/14 )
return
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Nardo26

Nardo26


Nombre de messages : 2294
Age : 56
Localisation : Valence
Date d'inscription : 02/07/2010

Nouveau pseudo-objet TAB utilisable par #INCLUDE Empty
MessageSujet: Re: Nouveau pseudo-objet TAB utilisable par #INCLUDE   Nouveau pseudo-objet TAB utilisable par #INCLUDE EmptyVen 13 Aoû 2010 - 15:46

Yessss !
Simple(?) et efficace !
Voila un code comme je les aime ! (on se prend la tête entre les mains un petit moment) Wink
Me doutais bien qu'il y avait un moyen de simplifier la chose...
Wink

Tiens ca ma permis de voir qu'il n'y avait pas de quote en fin d'init de TAB_LstFct$ et que cela n'a pas du tout dérangé panoramic....
Revenir en haut Aller en bas
http://nardo26.lescigales.org
Klaus

Klaus


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

Nouveau pseudo-objet TAB utilisable par #INCLUDE Empty
MessageSujet: Re: Nouveau pseudo-objet TAB utilisable par #INCLUDE   Nouveau pseudo-objet TAB utilisable par #INCLUDE EmptyVen 13 Aoû 2010 - 16:07

J'ai rajouté le guillemet - bizarre !

Je suis en train d'adapter TAB pour utiliser tout cela; j'ai fat une petite routine pour récupérer la valeur d'un paramètre:
Code:


TAB_param_value:
    for TAB_p%=1 to val(TAB_par$(0,1))
        if TAB_par$(TAB_p%,0)=TAB_p$
            TAB_p% = val(TAB_par$(TAB_p%,1))
            return
        end_if
    next TAB_p%
    TAB_p% = -1
    return
   

appelé comme suit:

Code:

TAB_p$ = "H"
gosub TAB_param_value
if TAB_p%>-1
' ici, traitement spécifique
end_if

Ca marche très bien !
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Nardo26

Nardo26


Nombre de messages : 2294
Age : 56
Localisation : Valence
Date d'inscription : 02/07/2010

Nouveau pseudo-objet TAB utilisable par #INCLUDE Empty
MessageSujet: Re: Nouveau pseudo-objet TAB utilisable par #INCLUDE   Nouveau pseudo-objet TAB utilisable par #INCLUDE EmptyVen 13 Aoû 2010 - 17:03

Au fait c'est un peu bourrin la methode 2 lignes... Smile
car si tu dois rajouter des fonctions, faut tout recalculer....

Code:

label TAB_IdentFct,TAB_IdentFct2,Toto
dim TAB_LstFct$, TAB_params$, TAB_i%,TAB_n%,a$

a$="ceci est une chaine qui pose pas de problème
TAB_LstFct$="CREATE|............MODE|..............TAB_LABEL|.........TAB_INSERT|........TAB_DELETE|........OBJECT_UN_PEU_LONG|"

TAB_params$ = "CREATE|N=t20|O=1|P=101"
gosub TAB_IdentFct2
message TAB_params$ + "==>" + str$(TAB_n%)

TAB_params$ = "MODE|N=t20|O=1|P=101"
gosub TAB_IdentFct2
message TAB_params$ + "==>" + str$(TAB_n%)

TAB_params$ = "OBJECT_UN_PEU_LONG|N=t20|O=1|P=101"
gosub TAB_IdentFct2
message TAB_params$ + "==>" + str$(TAB_n%)
end

TAB_IdentFct2:
TAB_i% = instr(TAB_params$,"|")
TAB_n% = int((instr(TAB_LstFct$,upper$(left$(TAB_params$,TAB_i%)))+18)/19)
return
Revenir en haut Aller en bas
http://nardo26.lescigales.org
Klaus

Klaus


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

Nouveau pseudo-objet TAB utilisable par #INCLUDE Empty
MessageSujet: Re: Nouveau pseudo-objet TAB utilisable par #INCLUDE   Nouveau pseudo-objet TAB utilisable par #INCLUDE EmptyVen 13 Aoû 2010 - 17:09

C'est vrai. Si l'on change la longueur maximale d'un mot-clé, il faut recadrer la liste des fonctions et changer les chiffres dans la ligne avec instr. Un moyen simple de contourner cela, c'est de se donner dès le départ un champ suffisamment large, mettons 30 caractères, et on est libre.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Nardo26

Nardo26


Nombre de messages : 2294
Age : 56
Localisation : Valence
Date d'inscription : 02/07/2010

Nouveau pseudo-objet TAB utilisable par #INCLUDE Empty
MessageSujet: Re: Nouveau pseudo-objet TAB utilisable par #INCLUDE   Nouveau pseudo-objet TAB utilisable par #INCLUDE EmptyVen 13 Aoû 2010 - 17:19

Pourquoi pas,
...faut vraiment chercher ou se trouve le coté ludique de la chose: s'amuser à compter les espaces ou les points parce qu'on a rajouter une petite fct... scratch

Au fait ta fct :
Code:

TAB_param_value:
    for TAB_p%=1 to val(TAB_par$(0,1))
        if TAB_par$(TAB_p%,0)=TAB_p$
            TAB_p% = val(TAB_par$(TAB_p%,1))
            return
        end_if
    next TAB_p%
    TAB_p% = -1
    return
A défaut d'avoir la notion de fonction avec valeur de retour. Pourquoi ne pas avoir une variable de retour qui porte le même nom que la procédure ?

je remplacerai bien TAB_p% par TAB_param_value%
Qu'en pense-tu ? (en delphi on ne se pose pas de question, on a bien la variable 'retour')
Revenir en haut Aller en bas
http://nardo26.lescigales.org
Klaus

Klaus


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

Nouveau pseudo-objet TAB utilisable par #INCLUDE Empty
MessageSujet: Re: Nouveau pseudo-objet TAB utilisable par #INCLUDE   Nouveau pseudo-objet TAB utilisable par #INCLUDE EmptyVen 13 Aoû 2010 - 17:33

C'est une idée. On pourrait aussi convenir, en analogie avec Delphi, aux variables TAB_retour%, TAB_retour$ et éventuellement TAB_retour pour les flottants.
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

Nouveau pseudo-objet TAB utilisable par #INCLUDE Empty
MessageSujet: Re: Nouveau pseudo-objet TAB utilisable par #INCLUDE   Nouveau pseudo-objet TAB utilisable par #INCLUDE EmptyVen 13 Aoû 2010 - 18:54

J'ai remis une version de TAB en ligne avec intégration des routines de scan et interprétation des paramètres. Le code est effectivement plus léger et plus facile à lire.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Nardo26

Nardo26


Nombre de messages : 2294
Age : 56
Localisation : Valence
Date d'inscription : 02/07/2010

Nouveau pseudo-objet TAB utilisable par #INCLUDE Empty
MessageSujet: Re: Nouveau pseudo-objet TAB utilisable par #INCLUDE   Nouveau pseudo-objet TAB utilisable par #INCLUDE EmptyVen 13 Aoû 2010 - 21:43

Cest clair... cest plus lisible maintenant et puis surtout cest plus simple pour les developpements futurs...
Smile
jai une touche du clavier qui marche plus et cest franchement penible...surtout pour les commentaires sous pano.... Mad

lidee du TAB_retour est a retenir : cest peut être moins prise de tête...
je suis pas chez moi, je sais, cest pas bien... mais cette discussion est très interressante dans le sens ou si on pouvait avoir; tout en laissant le choix aux personnes de coder comme elles veulent; davoir un minimum de coherence histoire de cy retrouver et de permettre à tous le monde de bien comprendre...
vraiment penible ce clavier !!!
A+ et bonne soiree!

Revenir en haut Aller en bas
http://nardo26.lescigales.org
Klaus

Klaus


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

Nouveau pseudo-objet TAB utilisable par #INCLUDE Empty
MessageSujet: Re: Nouveau pseudo-objet TAB utilisable par #INCLUDE   Nouveau pseudo-objet TAB utilisable par #INCLUDE EmptyVen 13 Aoû 2010 - 21:56

J'ai mis une nouvelle version de TAB en ligne. Une petite amélioration graphique: les onglets non activés sont grisés, l'onglet actif est blanc. C'est plus joli comme ça.

EDIT

J'ai ajouté une nouvelle fonction:
Tab_color|N=20|R=255|G=255|B=0|
Cette fonction permet de choisir la couleur de fond de la page d'affichage ainsi que de l'onglet actif, les onglets non sélectionnés restent grisés. Par défaut, la couleur de fond est blanc (255,255,255).
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

Nouveau pseudo-objet TAB utilisable par #INCLUDE Empty
MessageSujet: Re: Nouveau pseudo-objet TAB utilisable par #INCLUDE   Nouveau pseudo-objet TAB utilisable par #INCLUDE EmptySam 14 Aoû 2010 - 0:17

J'ai même fait une découverte avec mon propre logiciel ! Idea

Un objet TAB est représenté par deux objets Panoramic; ce sont les deux picture qui le composent. On peut même affecter un objet TAB à un onglet d'un autre objet TAB ! Pour cela, il suffit de faire la fonction "Object_add" pour le numéro d'objet identifiant l'objet TAB à attacher (on attache ainsi la barre des onglets) et de refaire la fonction avec le même numéro d'objet +1 (on attache ainsi la page d'affichage de l'onglet).

Pour voir l'effet, regarder l'onglet 5 du deuxième objet TAB dans le programme de démo ! C'est pas beau, ça ? Laughing
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Nardo26

Nardo26


Nombre de messages : 2294
Age : 56
Localisation : Valence
Date d'inscription : 02/07/2010

Nouveau pseudo-objet TAB utilisable par #INCLUDE Empty
MessageSujet: Re: Nouveau pseudo-objet TAB utilisable par #INCLUDE   Nouveau pseudo-objet TAB utilisable par #INCLUDE EmptySam 14 Aoû 2010 - 15:09

Bonjour !

Avoir plusieurs TAB imbriqués, c'est vraiment une surprise ! Smile
Voila quelque chose de rondement mené....

Juste quelques petites remarques KLAUS :

Dans TAB.BAS:
  • TAB_n% ne fait-il pas double emploi par rapport à TAB_p%?
  • un peu déroutant de réutiliser TAB_par$(a,b) pour récupérer les valeurs RVB Wink mais si cela permet d'économiser des variables...

C'est un peu dommage d'avoir une seule couleur par objet TAB, il aurait été intéressant de pouvoir avoir des onglets de différentes couleurs...mais cela t'obligerai de revoir TAB_change et de créer de nombreuses variables à côté...

Sinon c'est nickel !
Merki KLAUS !

Revenir en haut Aller en bas
http://nardo26.lescigales.org
Klaus

Klaus


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

Nouveau pseudo-objet TAB utilisable par #INCLUDE Empty
MessageSujet: Re: Nouveau pseudo-objet TAB utilisable par #INCLUDE   Nouveau pseudo-objet TAB utilisable par #INCLUDE EmptySam 14 Aoû 2010 - 23:07

Bonsoir,
Je vois que tu épluches mon code, et ça me plaît.

Pour TAB_n% et TAB_p%: il y a évidemment quelque chose de pas élégant, mais c'est le résultat de l'intégration de la routine TAB_param_value qui retourne sa valeur dans TAB_p%, quelque soit le paramètre recherché. Dans certains cas, le programme était conçu pour utiliser cette valeur dans TAB_n%, dans d'autres à partir de TAB_v%, etc. Je n'ai pas changé l'ensemble du code, j'ai juste supprimé les lignes devenues inutiles et rechargé les variables qui étaient utilisées auparavant. C'est clair que pour un prochain module, la routine TAB_param_value sera utilisée systématiquement et ce quiproquo n'existera plus.

Pour TAB_par$ (dans le cas de la fonction TAB_color), j'ai effectivement utilisé un raccourci sachant que ces cellules étaient déjà traitées, et je m'en suis servi de stockage temporaire.

Un peu plus sur le fond: une couleur par onglet, j'y ai pensé et c'est en cours d'écriture. Il y aura un tableau supplémentaire qui mémorise cela. C'est pour bientôt. En attendant, avec une couleur (qui peut d'ailleurs être changée dynamiquement par appel à la fonction TAB_color), et avec le grisage des onglets inactifs par opposition à l'onglet sélectionné, c'est déjà sympa, non ?
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

Nouveau pseudo-objet TAB utilisable par #INCLUDE Empty
MessageSujet: Re: Nouveau pseudo-objet TAB utilisable par #INCLUDE   Nouveau pseudo-objet TAB utilisable par #INCLUDE EmptyDim 15 Aoû 2010 - 1:06

Voilà, c'est prêt:

1. j'ai changé le nom de la fonction TAB_color en Color. Cette fonction détermine la couleur générale d'un objet TAB.

2. j'ai fait une nouvelle fonction TAB_color qui détermine la couleur d'on onglet spécifique d'un objet TAB. Tous les onglets sans couleur spécifique prennent la couleur générale de l'objet TAB.

Dans le programme de démo, voir l'onglet 5 du deuxième objet TAB. C'est celui avec un troisième objet TAB imbriqué. Cet onglet est maintenant bleu, alors que tous les autres restent jaunes !
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Contenu sponsorisé





Nouveau pseudo-objet TAB utilisable par #INCLUDE Empty
MessageSujet: Re: Nouveau pseudo-objet TAB utilisable par #INCLUDE   Nouveau pseudo-objet TAB utilisable par #INCLUDE Empty

Revenir en haut Aller en bas
 
Nouveau pseudo-objet TAB utilisable par #INCLUDE
Revenir en haut 
Page 1 sur 3Aller à la page : 1, 2, 3  Suivant
 Sujets similaires
-
» Nouveau pseudo-objet TAB utilisable par #INCLUDE
» Nouveau pseudo-objet FAM utilisable par #INCLUDE
» Nouveau pseudo-objet GLIST utilisable par #INCLUDE
» Nouveeu pseudo-objet FRAME utilisable par #INCLUDE
» Nouveau objet FRAME utilisable par #INCLUDE

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: