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
» Reprise du développement et de la documentation
par Jean Claude Aujourd'hui à 11:44

» Une copie de Panoramic Editeur
par Jean Claude Hier à 21:03

» Objet 3D_PLANE, réalisation d'un dé en 3D
par Marc Hier à 0:33

» Cacher la barre des tâches
par Klaus Lun 21 Mai 2018 - 21:27

» Une "base de connaissance" - pour jouer ou plus si affinité
par Minibug Lun 21 Mai 2018 - 10:29

» quel est ce comportement de Panoramic_editor
par Oscaribout Lun 21 Mai 2018 - 0:22

» Des FORM(s) Colorés
par Jean Claude Dim 20 Mai 2018 - 20:58

» Recherches dans un fichier texte
par JL35 Dim 20 Mai 2018 - 20:18

» Problème d'affichage des pages du forum (Résolu)
par Jean Claude Dim 20 Mai 2018 - 20:00

» Créer une application *.exe
par Yannick Ven 18 Mai 2018 - 20:01

» [RÉSOLU] Priorité affichage des objets : comment la définir?
par papydall Ven 18 Mai 2018 - 18:22

» Aucune différence entre ON_CLICK et ON_DOUBLE_CLICK
par Jean Claude Jeu 17 Mai 2018 - 8:37

» [Résolu] Récuperer les fonctions systeme de Panoramic
par Minibug Mar 15 Mai 2018 - 23:21

» Est-ce qu'un fichier est inclus dans l'application ?
par Yannick Mar 15 Mai 2018 - 12:04

» Création d'une application avec Panoramic_Editor
par Klaus Mar 15 Mai 2018 - 0:36

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2018
LunMarMerJeuVenSamDim
 123456
78910111213
14151617181920
21222324252627
28293031   
CalendrierCalendrier

Partagez | 
 

 Une SUB pour ajouter un texte

Aller en bas 
AuteurMessage
Invité
Invité



MessageSujet: Une SUB pour ajouter un texte   Mar 8 Oct 2013 - 0:08

Des fois on est bête. Il faut parfois peu de chose pour faciliter un code
Code:
memo 1 : width 1, 500
item_add 1,"ceci est un essai "
print_(1,1,"pour tester")
print_(1,1," la sub")

end

' ajoute le texte a$, à l'objet n%, et à la ligne l%
sub print_(n%,l%,a$)
   if object_exists(n%) = 1
      if l% <= count(n%)
         a$ = item_read$(n%,l%)+a$
         item_delete n%,l% : item_insert n%,l%,a$
      else
         message "la ligne: " + str$(l%) + " n'existe pas"
      end_if
   end_if
end_sub
J'ai modifié le nom de la sub par PRINT_() au lieu de ajout() , car ajout ceux peut-être comme item_add
Revenir en haut Aller en bas
Jean Claude

avatar

Nombre de messages : 5360
Age : 64
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: Une SUB pour ajouter un texte   Mar 8 Oct 2013 - 7:24

Salut Cosmos,
Je te propose une petite amélioration: J'ai ajouté un test d'existence de l'objet.
Code:
memo 1 : width 1, 500
item_add 1,"ceci est un essai "
print_(1,1,"pour tester")
print_(2,1," la sub"):' L'objet 2 n'existe pas (test)

end

' ajoute le texte a$, à l'objet n%, et à la ligne l%
sub print_(n%,l%,a$)
  if object_exists(n%) = 1
      if l% <= count(n%)
        a$ = item_read$(n%,l%)+a$
        item_delete n%,l% : item_insert n%,l%,a$
      else
        message "la ligne: " + str$(l%) + " n'existe pas"
      end_if
  else
      message "l'objet: " + str$(n%) + " n'existe pas"
  end_if
end_sub
A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Invité
Invité



MessageSujet: Re: Une SUB pour ajouter un texte   Mar 8 Oct 2013 - 7:31

Salut Jean-Claude

Ton intervention me fait rire. Figures-toi que j'y ai pensé, et je ne l'ai pas fait! Very Happy
Au moins cela aura servi à faire réagir quelqu'un.

Bonne journée!
Revenir en haut Aller en bas
Yannick

avatar

Nombre de messages : 8075
Age : 47
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Mar 8 Oct 2013 - 9:56

J' ai ajouté la possibilité d' ajouter une ligne.

Code:
memo 1 : width 1, 500
item_add 1,"ceci est un essai "
print_(1,1,"pour tester")
print_(1,2,"la sub") :' La ligne 2 n' existe pas (test)
print_(2,1," la sub"):' L'objet 2 n'existe pas (test)

end

' ajoute le texte a$, à l'objet n%, et à la ligne l%
sub print_(n%,l%,a$)
  dim_local b$
  if object_exists(n%) = 1
      if l% <= count(n%)
        a$ = item_read$(n%,l%)+a$
        item_delete n%,l% : item_insert n%,l%,a$
      else
        if  message_warning_yes_no("la ligne: " + str$(l%) + " n'existe pas"+chr$(13)+"Voulez vous ajouter une ligne ?")=1
           if count(n%)>1 and right$(item_read$(1,l%-1),1)="."
              b$=upper$(left$(a$,1))
              a$=right$(a$,len(a$)-1)
              a$=b$+a$
           end_if
           item_add n%,a$
        else
           Exit_sub
        end_if
      end_if
  else
      message "l'objet: " + str$(n%) + " n'existe pas"
  end_if
end_sub
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jean Claude

avatar

Nombre de messages : 5360
Age : 64
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: Une SUB pour ajouter un texte   Mar 8 Oct 2013 - 12:56

Content de t'avoir fait rire Cosmos Very Happy 

Le plus apporté par Ygeronimi me fait penser que la SUB pourrait proposer, d'office à l'utilisateur, un choix d'ajouter à la suite ou de créer une nouvelle ligne.
A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Invité
Invité



MessageSujet: Re: Une SUB pour ajouter un texte   Mar 8 Oct 2013 - 13:04

Bonjour Ygeronimi.
Très bien, mais je ne suis pas preneur de cet ajout. Pourquoi?

Normalement ce type d'instruction est à mettre dans un programme pour un affichage pensé. Prends le cas suivant comme exemple:
item_add X,"ligne en cours:" + str$(number_current_line)
L% = count(X)
a% = a%+ 125: print_(X,L%," a%="+ str$(a%)
a% = a% *2 : print_(X,L%," maintenant a%="+str$(a%)

Cette sub comme je l'imagine est pour incorporer dans un programme. Normalement si tu exécutes le programme, et que la ligne n'existe pas, le message d'erreur te demande de réviser ta copie, car normalement il y a erreur de programmation.
Sinon a chaque exécution, tu te retrouves avec la même erreur te demandant de rajouter la ligne, tu le feras en disant oui, mais "item_add X,T$" ne sera pas inclut dans le programme (T$ pour texte)

Mais peut-être ai-je mal réfléchi? affraid

En réalité j'ai proposé cette sub, pour montrer que des fois, on pourrait améliorer les choses. Plutôt que de demandé une commande que Jack ne fera pas, certaines fonctions sont facile à réalisé.

Comme pour les anciens basic, (mais avec une police fixe) on pouurait faire PRINT_TAB() où on incorporerais les espaces manquant, ou PRINT_AT() ou PRINT_USING("***.**",128.156)
J'ai pensé à cela car il me semble qu'on pouvait à partir d'une certaine édition de Panoramic, mettre à la suite un affichage après un point-virgule. Mais cela ne marche plus. Et au dire de Jack en parlant du compilateur, il est revenu sur les rajouts à print, en supprimant les possibilités de coder avec virgule et point-virgule.

On se croise Jean-Claude. Ben oui, sans que cela me gène, je reste sur mon idée, à moins que vous ayez les arguments pour me convaincre.
Revenir en haut Aller en bas
Jean Claude

avatar

Nombre de messages : 5360
Age : 64
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: Une SUB pour ajouter un texte   Mar 8 Oct 2013 - 13:28

Oui c'est vrai c'est une procédure qui au départ est prévu dans un programme, mais que veux-tu, on a pas pu s'empêcher de proposer des améliorations (Certes qui la détourne de sa fonction de départ).
Au moins çà nous fait agiter nos neurones.

A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
JL35



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

MessageSujet: Re: Une SUB pour ajouter un texte   Mar 8 Oct 2013 - 14:12

Oui, ça peut avoir son utilité, à garder sous le coude.

Perso, j'aurais mis la ligne de commentaire à l'intérieur de la sub, juste après sub print_(n%,l%,a$), comme je fais pour toutes mes subs, comme ça dans ma bibliothèque toutes les subs sont intégralement contenues entre SUB et END_SUB, c'est plus facile pour automatiser le transfert, et le commentaire explicatif fait partie intégrante de la Sub.

Et, au lieu de mettre:
' ajoute le texte a$, à l'objet n%, et à la ligne l%
j'aurais mis:
' ajoute le texte a$ à la ligne l% de l'objet n%
ça me semble plus clair...

Excuse-moi cosmos, je pinaille ! Very Happy
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Invité
Invité



MessageSujet: Re: Une SUB pour ajouter un texte   Mar 8 Oct 2013 - 15:04

Salut JL35
Tu n'as surtout pas à t'excuser, car ça fait deux fois que j'avais envie de le proposer ainsi, mais bon. Pourquoi dans l'ordre que tu as donné? Car avec une sub, les deux paramètres qui suivent a$ sont optionnels. J'avais pas envie de rentrer dans les détails, vu le boulot que j'ai à faire, et ce que j'ai sur la planche en ce moment avec mes programmes.

On peut très bien avoir 2 variables globales (c'est aussi pour cela que je me suis abstenu) qui puissent servir à garder le N° du memo et la ligne en mémoire, et ensuite on "PRINT_()" à la queue leu-leu la phrase qu'on a à écrire.

Mais je pense qu'il faudrait revoir complètement cette procédure et la compléter avec les tabulations, la position (print_at) et print_using. Moi j'ai pas le temps, mais peut-être aurais-je le plaisir de voir l'un d'entre-vous le faire.
Revenir en haut Aller en bas
Yannick

avatar

Nombre de messages : 8075
Age : 47
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Mar 8 Oct 2013 - 17:19

Embarassed Désolé...

J' avais cru que l' on parlait d' un texte littéraire.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Une SUB pour ajouter un texte   

Revenir en haut Aller en bas
 
Une SUB pour ajouter un texte
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Ajouter du texte dans un textbox . [ RESOLU ]
» [Léo's tuts] Faire des jolis cadres pour les messages texte
» Comment avoir la main pour modifier le texte
» pb de e-anim à la page html
» gps snooper de ventura

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: