Afficher chaine de caracter ou valeur

La question :

Bonjour,

(J'ai posté ma question sur le forum langage C mais je crois que c'est mieux
ici)

J'ai un afficheur à 4 lignes.

je definis les lignes de cette facon
*lign1
*lign2
*lign3
*lign4

Seulement voilà suivant le menu où je me trouve *lignx="chaine" ou
*lignx=EntierEnChaine(var)
C'est à dire que pour afficher ma ligne soit je peux l'afficher directement
car j'ai directement la chaine de caractere ou alors j'affiche une variable
de type entier et là bien sur faut que je la convertisse.
Mon pb c'est que l'emplacement sur l'afficheur de "chaine " et var n'est pas
fixe suivant le menu sélectionné.
Comment rendre cela "dynamique" sans avoir une panoplie de if et else?

En vous remerciant )

Poser votre question sur le forum Programmation

Les 3 réponses :

"Pascal" a écrit :


Bonjour,

(J'ai posté ma question sur le forum langage C mais je crois que c'est mieux
ici)

J'ai un afficheur à 4 lignes.

je definis les lignes de cette facon
*lign1
*lign2
*lign3
*lign4

Seulement voilà suivant le menu où je me trouve *lignx="chaine" ou
*lignx=EntierEnChaine(var)
C'est à dire que pour afficher ma ligne soit je peux l'afficher directement
car j'ai directement la chaine de caractere ou alors j'affiche une variable
de type entier et là bien sur faut que je la convertisse.
Mon pb c'est que l'emplacement sur l'afficheur de "chaine " et var n'est pas
fixe suivant le menu sélectionné.
Comment rendre cela "dynamique" sans avoir une panoplie de if et else?

En vous remerciant )


(defun afficher (objet justification)
(let ((texte (etypecase objet
(string objet)
(number (format nil "~A" objet))))
(position (case justification
(:right (- *screen-width* (length texte)))
(:left 0))))
(when (< *screen-width* (length texte))
(error "Texte trop grand"))
(clear-screen)
(move-cursor-to position)
(draw-text texte)))



--
__Pascal Bourguignon__ http://www.informatimago.com/
-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GCS d? s++:++ a+ C+++ UL++++ P--- L+++ E+++ W++ N+++ o-- K- w---
O- M++ V PS PE++ Y++ PGP t+ 5+ X++ R !tv b+++ DI++++ D++
G e+++ h+ r-- z?
------END GEEK CODE BLOCK------

Je me souviens d'avoir râlé une fois pour ce genre de réponse.
Dommage de l'avoir fait pour rien.
(ceci dit, j'ai encore honte de l'autre partie de ma réponse, en m'étant
relu pour comprendre enfin la question ! )


(defun afficher (objet justification)
(let ((texte (etypecase objet
(string objet)
(number (format nil "~A" objet))))
(position (case justification
(:right (- *screen-width* (length texte)))
(:left 0))))
(when (< *screen-width* (length texte))
(error "Texte trop grand"))
(clear-screen)
(move-cursor-to position)
(draw-text texte)))



--
__Pascal Bourguignon__ http://www.informatimago.com/
-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GCS d? s++:++ a+ C+++ UL++++ P--- L+++ E+++ W++ N+++ o-- K- w---
O- M++ V PS PE++ Y++ PGP t+ 5+ X++ R !tv b+++ DI++++ D++
G e+++ h+ r-- z?
------END GEEK CODE BLOCK------

"aqualonne" a écrit dans le message de news:
42e2943e$0$6424$...


Je me souviens d'avoir râlé une fois pour ce genre de réponse.
Dommage de l'avoir fait pour rien.
(ceci dit, j'ai encore honte de l'autre partie de ma réponse, en m'étant
relu pour comprendre enfin la question ! )


(defun afficher (objet justification)
(let ((texte (etypecase objet
(string objet)
(number (format nil "~A" objet))))
(position (case justification
(:right (- *screen-width* (length texte)))
(:left 0))))
(when (< *screen-width* (length texte))
(error "Texte trop grand"))
(clear-screen)
(move-cursor-to position)
(draw-text texte)))



--
__Pascal Bourguignon__ http://www.informatimago.com/
-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GCS d? s++:++ a+ C+++ UL++++ P--- L+++ E+++ W++ N+++ o-- K- w---
O- M++ V PS PE++ Y++ PGP t+ 5+ X++ R !tv b+++ DI++++ D++
G e+++ h+ r-- z?
------END GEEK CODE BLOCK------



Peut-être par une gestion d'erreur

Lire Chaine
TransformerChaineEnNumérique (Chaine,Nombre,Erreur)
Si Erreur TraiterChaine(Chaine) sinon TraiterNombre(Nombre)

Après il faut voir comment cela peut s'implanter.

Autre solution faire débuter les nombres par un caractère spécial.

Poser votre question sur le forum Programmation

Questions similaires :

Recherche de sous chaîne

Bonjour à tous, voilà je vais devoir réaliser un moteur de recherche pour mon stage, cette application devra chercher dans le contenu de fichiers excel une certaine chaine. Mais là je me pose des questions sur l'algorithme de recherche que je vais utiliser, j'ai déja vu qu'il existait KMP ou...

Valeur Moyenne d'une surface

Bonjour, Je dispose d'une surface en dimension n : y = f(x1, x2, ..., xn) ( au besoin je connais les dérivés partielles de cette surface ) Je cherche une manière intelligente de calculer la valeur moyenne de y Par echantillonnage, le temps de calcul quand n est grand...

faire "tourner" la valeur d'une variable

Bonjour, Soit une variable toto codée sur 8 bits Je voudrais que cette variable s'incremente ou se decremente de 1 sans dépasser VALEURMAX(<255) Par ex en incrementant ca me donne toto=(toto+1)%7 donc des que toto arrive à 6 je passe à 0. C'est parfait Maintenant je voudrais aussi decrementer...

Algorythme de recherche de chaîne de caractères

Bonjour, Je fais (mal) de l'algorythmique "à la M. Jourdain". J'avais un jour (pour le fun) réfléchi à un algo de recherche de chaîne dans un docu texte en langue française. Soit à rechercher "frunabulax". Je commence à la dixième position, et je recherche les 'x'. Quand j'en trouve un, je regarde...

Afficher de "manière agréable" un automate en treillis

Bonjour, J'ai actuellement un automate donné sous une représentation matricielle. Les états sont placés un peu aléatoirement et j'aimerais savoir s'il existe un algorithme qui permettrait d'afficher de manière agréable cet automate, sachant qu'il a une propriété spéciale : il n'y a jamais...