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
» KGF.dll - demandes ou suggestions de modifications ou ajouts
par Klaus Aujourd'hui à 19:48

» KGF_dll - nouvelles versions
par pascal10000 Aujourd'hui à 17:27

» Mah-Jong européen new-look
par Minibug Hier à 22:31

» track_bar circulaire
par Klaus Hier à 13:54

» API Windows
par Klaus Hier à 3:21

» Cartes de voeux, menus, etc.
par JL35 Lun 11 Déc 2017 - 17:48

» a l'aide klaus
par Minibug Lun 11 Déc 2017 - 11:42

» bug SYNEDIT_TARGET_IS_OBJECT
par Jack Lun 11 Déc 2017 - 0:16

» Jukebox : Serge Reggiani
par papydall Sam 9 Déc 2017 - 5:58

» Ecouter la radio fm sur votre pc
par pascal10000 Sam 9 Déc 2017 - 3:42

» anomalie
par Klaus Sam 9 Déc 2017 - 3:21

» hommage
par Jicehel Ven 8 Déc 2017 - 11:29

» Logiciel de soutien scolaire en langues.
par Pedro Alvarez Ven 8 Déc 2017 - 10:43

» carte son
par Klaus Ven 8 Déc 2017 - 2:37

» mise a jour calculatrice
par joeeee2017 Mer 6 Déc 2017 - 22:19

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Décembre 2017
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
25262728293031
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 8 Oct 2013 - 1: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 : 5086
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: Une SUB pour ajouter un texte   Mar 8 Oct 2013 - 8: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 - 8: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 : 8002
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Mar 8 Oct 2013 - 10: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 : 5086
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: Une SUB pour ajouter un texte   Mar 8 Oct 2013 - 13: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 - 14: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 : 5086
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: Une SUB pour ajouter un texte   Mar 8 Oct 2013 - 14: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 : 6018
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: Une SUB pour ajouter un texte   Mar 8 Oct 2013 - 15: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 - 16: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 : 8002
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Mar 8 Oct 2013 - 18: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
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 ]
» [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: