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.
Liste des objets d'un programme Emptypar Pedro Aujourd'hui à 10:37

» Un autre pense-bête...
Liste des objets d'un programme Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Liste des objets d'un programme Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Liste des objets d'un programme Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Liste des objets d'un programme Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Liste des objets d'un programme Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Liste des objets d'un programme Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Liste des objets d'un programme Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Liste des objets d'un programme Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Liste des objets d'un programme Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Liste des objets d'un programme Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Liste des objets d'un programme Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Liste des objets d'un programme Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Liste des objets d'un programme Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Liste des objets d'un programme 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 :
Smartphone Xiaomi 14 – 512 Go- 6,36″ 5G Double SIM à 599€
599 €
Voir le deal

 

 Liste des objets d'un programme

Aller en bas 
2 participants
AuteurMessage
JL35




Nombre de messages : 7112
Localisation : 77
Date d'inscription : 29/11/2007

Liste des objets d'un programme Empty
MessageSujet: Liste des objets d'un programme   Liste des objets d'un programme EmptyDim 17 Juil 2011 - 20:04

Un premier jet, suite à la nouvelle version Panoramic de ce jour: la liste des objets d'un programme, avec leur numéro.
Bien utile en cours de mise au point, ou pour intervenir dans un programme plus ancien.

à insérer dans le programme juste avant le END:
Code:
LABEL List_Obj: GOSUB List_Obj

Le sous-programme à mettre tout à la fin du programme:
Code:
List_Obj:
DATA "SCENE3D","BUTTON","EDIT","MEMO","COMBO","ALPHA","FORM","LIST","PICTURE"
DATA "CHECK","OPTION","MAIN_MENU","SUB_MENU","SOUND","MOVIE","TRACK_BAR"
DATA "OPEN_DIALOG","SAVE_DIALOG","SCROLL_BAR","PROGRESS_BAR","SPIN","GRID"
DATA "CONTAINER","","","DLIST","SCENE2D","TIMER","","","","CONTAINER_OPTION"
DATA "","","","","","","","","IMAGE", "F"
DIM tobj$(50), ntob, into, tonto, lobj$: ntob = 0
READ a$: WHILE a$ <> "F": ntob = ntob + 1: tobj$(ntob) = a$: READ a$: END_WHILE
lobj$ = "Liste des objets:" + CHR$(10)
FOR into = 1 TO 100
    tonto = OBJECT_TYPE(into)
    IF tonto > 0 THEN lobj$ = lobj$ + STR$(into)+": "+tobj$(tonto) + CHR$(10)
NEXT into
MESSAGE lobj$
RETURN
Dès le lancement du programme, la liste des objets avec leurs numéros s'affiche dans un 'Message'.
Quand on n'en a plus besoin, il suffit de supprimer (ou mettre en commentaire) l'appel avant le END. (et éventuellement de supprimer le sous-programme correspondant).
Il n'y a pas d'autre intervention (DIM ou LABEL) à faire dans le programme testé, le sous-programme n'est appelé qu'une fois.

PS la limitation à 100 est arbitraire (FOR into = 1 TO 100), il peut être nécessaire d'augmenter cette valeur.
Revenir en haut Aller en bas
Invité
Invité




Liste des objets d'un programme Empty
MessageSujet: Re: Liste des objets d'un programme   Liste des objets d'un programme EmptyDim 17 Juil 2011 - 23:00

Bravo, tu n'as pas perdu de temps.
Rajoutes dans les déclarations ceci:

Code:
if variable("a$")=0 then dim a$
Revenir en haut Aller en bas
JL35




Nombre de messages : 7112
Localisation : 77
Date d'inscription : 29/11/2007

Liste des objets d'un programme Empty
MessageSujet: Re: Liste des objets d'un programme   Liste des objets d'un programme EmptyDim 17 Juil 2011 - 23:06

Bien vu cosmos ! elle m'avait échappé celle-là !
mais je remplacerai plutôt les deux lignes par:
Code:
...
DIM obja$, tobj$(50), ntob, into, tonto, lobj$: ntob = 0
READ obja$: WHILE obja$ <> "F": ntob = ntob + 1: tobj$(ntob) = obja$: READ obja$: END_WHILE
...
pour rester dans ma logique, sinon ta solution est très valable.

En plus je n'avais pas percuté sur la fonction VARIABLE(), bien utile, merci à toi.
Et bonne nuit ! Sleep
Revenir en haut Aller en bas
JL35




Nombre de messages : 7112
Localisation : 77
Date d'inscription : 29/11/2007

Liste des objets d'un programme Empty
MessageSujet: Re: Liste des objets d'un programme   Liste des objets d'un programme EmptyLun 26 Sep 2011 - 21:17

Une autre version, très semblable mais plus souple (plus lisible s'il y a plus d'une centaine d'objets), qui donne la liste des objets utilisés avec leur numéro, et la liste des numéros 'libres'.
Utile pour insérer de nouveaux objets dans un programme existant dont la numérotation des objets s'est faite un peu au hasard, comme ça m'arrive parfois (bon, souvent...), un petit programme qui grossit au fur et à mesure des idées qui viennent...

Je suis parti du principe que le dernier numéro d'objet défini dans le programme cible était inférieur à 1000 (nobt = 1000), ce serait éventuellement à ajuster sinon.

A insérer juste avant le END du programme.
Au stop, cliquer 'No', puis 'OK' pour exploiter le résultat.
Et à supprimer après usage.
Code:
' ****** Liste des objets Panoramic du programme et leur numéro d'objet *******
DIM aol$, nol, nobt, objl$(100)
DATA "1","SCENE3D","2","BUTTON","3","EDIT","4","MEMO","5","COMBO","6","ALPHA"
DATA "7","FORM","8","LIST","9","PICTURE","10","CHECK","11","OPTION"
DATA "12","MAIN_MENU","13","SUB_MENU","14","SOUND","15","MOVIE","16","TRACK_BAR"
DATA "17","OPEN_DIALOG","18","SAVE_DIALOG","19","SCROLL_BAR","20","PROGRESS_BAR"
DATA "21","SPIN","22","GRID","23","CONTAINER","26","DLIST","27","SCENE2D"
DATA "28","TIMER","32","CONTAINER_OPTION","41","IMAGE"
DATA "f"
READ aol$: WHILE aol$ <> "f": nol = VAL(aol$): READ objl$(nol): READ aol$: END_WHILE
nobt = 1000: ' à ajuster éventuellement
FORM nobt: HEIGHT nobt, nobt: BORDER_SMALL nobt
LIST nobt+1: PARENT nobt+1,nobt: TOP nobt+1,16: WIDTH nobt+1,190: HEIGHT nobt+1,950
LIST nobt+2: PARENT nobt+2,nobt: TOP nobt+2,16: LEFT nobt+2,190: WIDTH nobt+2,80: HEIGHT nobt+2,950
ALPHA nobt+3: PARENT nobt+3, nobt
CAPTION nobt+3,"OBJETS DEFINIS:                                  Nos LIBRES:"
FOR nol = 1 TO nobt-1
    IF OBJECT_EXISTS(nol) = 1
        aol$ = objl$(OBJECT_TYPE(nol))
        IF aol$ <> "" THEN ITEM_ADD nobt+1, STR$(nol) + ":  "  + aol$
    ELSE
        ITEM_ADD nobt+2, STR$(nol)
    END_IF
NEXT nol
STOP
' *****************************************************************************

J'ai essayé par curiosité de mettre HIDE nobt juste après le STOP, pour pouvoir continuer le programme normalement en rendant la liste invisible, mais ça ne cache rien du tout, je ne vois pas pourquoi.
Revenir en haut Aller en bas
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

Liste des objets d'un programme Empty
MessageSujet: Re: Liste des objets d'un programme   Liste des objets d'un programme EmptyLun 26 Sep 2011 - 22:56

J'aime
Revenir en haut Aller en bas
Invité
Invité




Liste des objets d'un programme Empty
MessageSujet: Re: Liste des objets d'un programme   Liste des objets d'un programme EmptyLun 26 Sep 2011 - 23:26

Bonsoir,
Je suis en train de faire un programme pour faire du courrier de retraité comme moi, et j'ai rajouté le tien avant le end pour faire l'essai. (comme tu vois, je mets parfois du temps pour tester un programme)

C'est pas mal pensé.
A ce propos, est-ce çà vous intéresse ce que je fais.
Avec tout ce qu'on trouve pour faire du texte, cela peut sembler ringard. Le but pour moi qui tape une lettre tout les 36 du mois (il faut chercher longtemps) est de pouvoir faire une lettre sans avoir à rechercher les commandes. Un clic dans une liste pour une formule de politesse, un autre pour faire le choix du type d'interlocuteur, etc...
A voir.
Ton programme c'est tout nouveau: 26 septembre! excuses.
Finalement je suis rapide sur ce coup là!
Revenir en haut Aller en bas
JL35




Nombre de messages : 7112
Localisation : 77
Date d'inscription : 29/11/2007

Liste des objets d'un programme Empty
MessageSujet: Re: Liste des objets d'un programme   Liste des objets d'un programme EmptyLun 26 Sep 2011 - 23:48

Merci pour les réactions.
Cosmos, ce que tu fais peut être intéressant effectivement, c'est à voir.
Mais c'est bien vrai qu'on n'écrit plus beaucoup de lettres de nos jours, avec les téléphones en tous genres et les emails (je ne parle même pas des sms qui sont une abomination pour l'orthographe des jeunes et parfois moins jeunes) ! alors les bonnes formules se perdent.
Revenir en haut Aller en bas
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

Liste des objets d'un programme Empty
MessageSujet: Re: Liste des objets d'un programme   Liste des objets d'un programme EmptyMar 27 Sep 2011 - 7:23

Oui Cosmos, que ce soit pour une lettre ou un document, ça peut être intéressant.
Revenir en haut Aller en bas
Invité
Invité




Liste des objets d'un programme Empty
MessageSujet: Re: Liste des objets d'un programme   Liste des objets d'un programme EmptyMar 27 Sep 2011 - 8:56

Bon! dans ce cas il faut que je fasse le fichier HTML.
Comme la sortie pour imprimer est en HTML, il faut que je donne les indications pour pouvoir modifier quelques paramètres qui ne vous conviendraient pas. De plus, Par simplification, j'ai rempli des mémos par des item_add directement dans le programme. Il faut que je remplace par des fichiers pour le forum. Qu'il n'y est pas à toucher au programme.
Revenir en haut Aller en bas
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

Liste des objets d'un programme Empty
MessageSujet: Re: Liste des objets d'un programme   Liste des objets d'un programme EmptyMar 27 Sep 2011 - 11:44

Exellent Smile En plus il n'y a pas trop de sources sur ce type de sujet selon mes souvenirs (je ne prétends pas me rappeler de tous les exemples, mais bon ...)
Revenir en haut Aller en bas
Invité
Invité




Liste des objets d'un programme Empty
MessageSujet: Re: Liste des objets d'un programme   Liste des objets d'un programme EmptyMar 27 Sep 2011 - 14:11

Oui. Il n'y a pas de sujet de ce type, car Panoramic n'a pas de commande de printer. De plus, si on veut afficher quelque chose en couleur, le seul objet qui le permette est un picture. Difficilement gérable! Je l'ai déjà fait, mais un bug sur une fonction d'alors m'avait arrété, et vu la complexité ensuite du programme où quels mois plus tard, je me mélangeais les pinceaux, j'ai arrêté. Pourtant je pouvais à n'importe quel endroit d'un picture, retrouver la ligne, et changer de couleur, ou autre. Pas évident.

Pour ce programme, je l'ai vu modeste. J'ai quand-même mis la possibilité de mettre quelle couleur, me rappelant qu'une machine à écrire avait un ruban rouge et noir. J'ai simplement dans un memo mis un code de ce type: ¤0 à ¤9. Exemple:
Citation :
ceci montre un texte écrit en rouge sur fond jaune¤2¤5TEXTE EN ROUGE SUR FOND JAUNE¤0¤0. écriture normal.
( ¤2:encre rouge, ¤5: fond jaune, ¤0: annulation du code couleur ).
Je me suis pas cassé la tête, le programme était pour ma pomme comme on dit, et c’est pas vraiment gênant. Il y a de toute façon 2 list pour l'encre et le fond pour le faire.
Liste des objets d'un programme Boutdetexte
Il n'était pas prévu de mettre de la couleur au départ, mais je me connais. Il faut toujours que j'en rajoute!

Oh! excuses-moi JL, j’arrête de parler de ce programme sur ton post. Promis Embarassed
Revenir en haut Aller en bas
JL35




Nombre de messages : 7112
Localisation : 77
Date d'inscription : 29/11/2007

Liste des objets d'un programme Empty
MessageSujet: Re: Liste des objets d'un programme   Liste des objets d'un programme EmptyMar 27 Sep 2011 - 16:38

Mais non cosmos, d'abord je ne suis pas susceptible à ce point, et puis mon post était un peu un gadget, et ta méthode est sera intéressante à étudier, ça peut toujours servir.
Et comme toi je regrette qu'il n'y ait pas de commande d'impression. Certes, on peut toujours appeler un programme externe, mais il faut formater en conséquence, ou bien appeler l'excellente dll de Klaus (quelles nouvelles ?), mais ce n'est pas du pur Panoramic.
Revenir en haut Aller en bas
Invité
Invité




Liste des objets d'un programme Empty
MessageSujet: Re: Liste des objets d'un programme   Liste des objets d'un programme EmptyLun 7 Nov 2011 - 15:06

Ton programme JL35 ne fonctionne plus. Embarassed
Revenir en haut Aller en bas
JL35




Nombre de messages : 7112
Localisation : 77
Date d'inscription : 29/11/2007

Liste des objets d'un programme Empty
MessageSujet: Re: Liste des objets d'un programme   Liste des objets d'un programme EmptyLun 7 Nov 2011 - 17:02

Aïe ! c'est la nouvelle version ? il faut que je voie ça...

Bizarre ce que tu dis... à première vue ça semble toujours marcher chez moi, même avec la nouvelle version...
Revenir en haut Aller en bas
Invité
Invité




Liste des objets d'un programme Empty
MessageSujet: Re: Liste des objets d'un programme   Liste des objets d'un programme EmptyLun 7 Nov 2011 - 17:48

Bonjour,
J'ai fait des essais avec différents programmes, et même relancer le dernier Editeur, Si il y a un trou dans la numérotation, ça bloque à ce niveau là.
En tout cas, je ne peux pas lire le message.

C'est quant même pas possible que je sois le seul à avoir ce problème.
J'ai mis hier le problème concernant object_exists, mais c'est avec ton programme qui était inclus mais mis en commentaire que j'ai vu ceci. Afin de pouvoir mettre le programme ensuite en include, j'avais tout renommer pour que la numérotation puisse être transmise facilement.

Pour l'instant j'ai repris l'ancienne version, mais je me demande si je ne dois pas faire une liste, et tenir à jour selon que les objets soient créés ou détruits, vu que ce sont des balises pour les enrichissements de texte.

Si je suis le seul à avoir ce problème, cela m'étonnerais que Jack se penche sur ce problème. Bizarre quand même! Il faut que je me penche sur les modifs Crying or Very sad
Revenir en haut Aller en bas
JL35




Nombre de messages : 7112
Localisation : 77
Date d'inscription : 29/11/2007

Liste des objets d'un programme Empty
MessageSujet: Re: Liste des objets d'un programme   Liste des objets d'un programme EmptyLun 7 Nov 2011 - 18:42

J'ai essayé rapidement avec quelques sources simples, et ça me donne le résultat attendu, mais ça n'empêche pas qu'il peut y avoir des cas particuliers... c'est à voir de plus près.
Revenir en haut Aller en bas
Invité
Invité




Liste des objets d'un programme Empty
MessageSujet: Re: Liste des objets d'un programme   Liste des objets d'un programme EmptyLun 7 Nov 2011 - 19:15

Je suis un peu surpris.
Je me dis que ayant pris le chargement depuis le forum anglais, je vais refaire de nouveau l'essai depuis les site français. Et rebelote, j'ai encore le même message d'erreur que j'ai posté. Je ne peux pas télécharger cette version.
J'ai réessayé depuis le site anglais, et ça marche.

C'est pas du SEXE, mais les problèmes de BITes informatiques commencent par m'épuiser !

Vu que je me retrouve seul, je suis encore bon à revoir mes codes pour m'adapter et exclure ces deux instructions: objects_exists, et object_type. Cette dernière ne m'est pas indispensable.

Je vais encore passer du temps à revoir cela.
Merci d'avoir regardé. Salutation!
Revenir en haut Aller en bas
JL35




Nombre de messages : 7112
Localisation : 77
Date d'inscription : 29/11/2007

Liste des objets d'un programme Empty
MessageSujet: Re: Liste des objets d'un programme   Liste des objets d'un programme EmptyJeu 10 Nov 2011 - 18:40

Une version un peu modifiée:
Code:

' **************** objets Panoramic et leur numéro de type *********************
' *** include le code ci-dessous juste avant le END, puis lancer l'exécution ***
DIM aol$, nol%, nobt%, objl$(100), n1ob%, n2ob%, nrob%, job%, iob%
DATA "1","SCENE3D","2","BUTTON","3","EDIT","4","MEMO","5","COMBO","6","ALPHA"
DATA "7","FORM","8","LIST","9","PICTURE","10","CHECK","11","OPTION"
DATA "12","MAIN_MENU","13","SUB_MENU","14","SOUND","15","MOVIE","16","TRACK_BAR"
DATA "17","OPEN_DIALOG","18","SAVE_DIALOG","19","SCROLL_BAR","20","PROGRESS_BAR"
DATA "21","SPIN","22","GRID","23","CONTAINER","26","DLIST","27","SCENE2D"
DATA "28","TIMER","32","CONTAINER_OPTION","41","IMAGE"
DATA "f"
READ aol$: WHILE aol$ <> "f": nol% = VAL(aol$): READ objl$(nol%): READ aol$: END_WHILE
nobt% = 1000: ' *** à ajuster (doit être > que le dernier objet du module) ***
FORM nobt%: HEIGHT nobt%, 900: BORDER_SMALL nobt%
LIST nobt%+1: PARENT nobt%+1,nobt%: TOP nobt%+1,16: WIDTH nobt%+1,160: HEIGHT nobt%+1,850
LIST nobt%+2: PARENT nobt%+2,nobt%: TOP nobt%+2,16: LEFT nobt%+2,-200: WIDTH nobt%+2,100: HEIGHT nobt%+2,850
LIST nobt%+4: PARENT nobt%+4,nobt%: TOP nobt%+4,16: LEFT nobt%+4,170: WIDTH nobt%+4,100: HEIGHT nobt%+4,850
ALPHA nobt%+3: PARENT nobt%+3, nobt%
CAPTION nobt%+3,"OBJETS DEFINIS:                            Nos LIBRES:"
FOR nol% = 1 TO nobt%-1
    IF OBJECT_EXISTS(nol%) = 1
        aol$ = objl$(OBJECT_TYPE(nol%))
        IF aol$ <> "" THEN ITEM_ADD nobt%+1, STR$(nol%) + " "  + aol$
    ELSE
        ITEM_ADD nobt%+2, STR$(nol%)
    END_IF
NEXT nol%
FOR job% = 1 TO COUNT(nobt%+2)-1
    n1ob% = VAL(ITEM_READ$(nobt%+2,job%)): nrob% = n1ob%
    FOR iob% = job% TO COUNT(nobt%+2)
        n2ob% = VAL(ITEM_READ$(nobt%+2,iob%))
        IF n2ob% > (nrob%+1) THEN EXIT_FOR
        nrob% = n2ob%
    NEXT iob%
    IF nrob% > n1ob%
        ITEM_ADD nobt%+4, STR$(n1ob%)+" -> "+STR$(nrob%)
    ELSE
        ITEM_ADD nobt%+4, STR$(n1ob%)
    END_IF
    job% = iob%-1
NEXT job%
MESSAGE "Terminé !": TERMINATE
' ******************************************************************************
Enregistrer ce code dans les sources, par exemple sous 'Listobj.bas'.
Ensuite, dans le module à tester, il suffit d'insérer
Code:
 #INCLUDE "Listobj.bas"
juste avant le END, ou mieux juste après le dernier objet déclaré (il peut y avoir du code exécuté entre les deux), puis de lancer le module.
(et ne pas oublier d'enlever le Include avant réécriture éventuelle...).
La principale modif c'est de ne plus donner bêtement la liste des numéros libres, mais les plages de numéros libres, ce qui est beaucoup plus concis.
Revenir en haut Aller en bas
Contenu sponsorisé





Liste des objets d'un programme Empty
MessageSujet: Re: Liste des objets d'un programme   Liste des objets d'un programme Empty

Revenir en haut Aller en bas
 
Liste des objets d'un programme
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Liste des objets d'un programme
» fermer le programme qui lance un autre programme
» ce fut mon 2ème programme en panoramic! (mauvais programme)
» Faire une liste
» Ma liste de souhaits

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: