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
» Panoramic et ses curiosités
par Jean Claude Aujourd'hui à 8:48 pm

» Synedit Parameters
par Jean Claude Aujourd'hui à 8:15 pm

» Utilitaire de suppression de fichiers
par Jean Claude Aujourd'hui à 8:11 pm

» Code à vérifier SVP (Oups ! résolu)
par Jean Claude Hier à 8:16 pm

» Compilateur FBPano
par jean_debord Hier à 8:56 am

» Bienvenue à Virtualalan !
par UltraVox Hier à 8:18 am

» Concours de Morpions
par jjn4 Mer 21 Juin 2017, 11:04 pm

» ShortName$(F) [Cloturé]
par papydall Mer 21 Juin 2017, 3:19 pm

» Remplacer espace par tiret dans noms des dossiers / fichiers
par papydall Mer 21 Juin 2017, 2:27 pm

» Menu personalisé avec icones et menu contextuel
par Laurent (Minibug) Mer 21 Juin 2017, 11:44 am

» La liste des choses à faire ...
par Jack Mar 20 Juin 2017, 9:49 pm

» Quoi de neuf à propos de Goric 3D ? (@Jack)
par UltraVox Mar 20 Juin 2017, 8:06 pm

» Nom court et anti fenetre dos
par silverman Mar 20 Juin 2017, 5:31 pm

» Ludothèque Panoramic
par jjn4 Mar 20 Juin 2017, 5:09 pm

» Proposition à la communauté
par Yannick Mar 20 Juin 2017, 2:02 pm

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Juin 2017
LunMarMerJeuVenSamDim
   1234
567891011
12131415161718
19202122232425
2627282930  
CalendrierCalendrier

Partagez | 
 

 Une SUB pour ajouter un texte

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Invité
Invité



MessageSujet: Une SUB pour ajouter un texte   Mar 08 Oct 2013, 12:08 am

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 : 4933
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: Une SUB pour ajouter un texte   Mar 08 Oct 2013, 7:24 am

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 En ligne
Invité
Invité



MessageSujet: Re: Une SUB pour ajouter un texte   Mar 08 Oct 2013, 7:31 am

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 : 7824
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Mar 08 Oct 2013, 9:56 am

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 : 4933
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: Une SUB pour ajouter un texte   Mar 08 Oct 2013, 12:56 pm

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 En ligne
Invité
Invité



MessageSujet: Re: Une SUB pour ajouter un texte   Mar 08 Oct 2013, 1:04 pm

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 : 4933
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: Une SUB pour ajouter un texte   Mar 08 Oct 2013, 1:28 pm

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 En ligne
JL35



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

MessageSujet: Re: Une SUB pour ajouter un texte   Mar 08 Oct 2013, 2:12 pm

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 08 Oct 2013, 3:04 pm

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 : 7824
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Mar 08 Oct 2013, 5:19 pm

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
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Ajouter du texte dans un textbox . [ RESOLU ]
» Besoin d'aide pour ajouter un template
» comment faire pour ajouter une image sur le portail
» problème pour ajouter un partenaire
» Ajouter du texte et masquer les informations des membres...

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