[WD10] Alignement de chaîne

Le
mat
Bonjour,

D'autres langages ont depuis toujours une fonction de formatage, p.ex.
FORMAT("W20,AR", "A12345.678") afin d'aligner une chaîne sur la droite.
Et ça fonctionnait aussi dans les requêtes.

La seule solution que j'ai trouvé en Windev pour produire cela est
s est chaîne = "A12345.678"
s = Répète(" ", 20 - Taille(s)) + s

Avec tellement de fonctions disponibles en Windev traitant les chaînes,
comme ChaîneFormate et Complete qui pourrait facilement agir dans ce
send, ma solution semble ridicule. Ai-je loupé quelque chose?

A part cela, avec WD10, ma solution Windev ne marche pas dans une
requête. Comment le faire?

Merci
Mat
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Pascal ROY
Le #14656211
mat a écrit :
Bonjour,

D'autres langages ont depuis toujours une fonction de formatage, p.ex.
FORMAT("W20,AR", "A12345.678") afin d'aligner une chaîne sur la droite.
Et ça fonctionnait aussi dans les requêtes.

La seule solution que j'ai trouvé en Windev pour produire cela est
s est chaîne = "A12345.678"
s = Répète(" ", 20 - Taille(s)) + s

Avec tellement de fonctions disponibles en Windev traitant les chaînes,
comme ChaîneFormate et Complete qui pourrait facilement agir dans ce
send, ma solution semble ridicule. Ai-je loupé quelque chose?

A part cela, avec WD10, ma solution Windev ne marche pas dans une
requête. Comment le faire?

Merci
Mat



Aligner ou ? dans quel but ?
--
Pascal ROY
(Service Informatique - SODALEC)
mat
Le #14656161
Pascal ROY wrote:
mat a écrit :
Bonjour,

D'autres langages ont depuis toujours une fonction de formatage, p.ex.
FORMAT("W20,AR", "A12345.678") afin d'aligner une chaîne sur la droite.
Et ça fonctionnait aussi dans les requêtes.

La seule solution que j'ai trouvé en Windev pour produire cela est
s est chaîne = "A12345.678"
s = Répète(" ", 20 - Taille(s)) + s

Avec tellement de fonctions disponibles en Windev traitant les chaînes,
comme ChaîneFormate et Complete qui pourrait facilement agir dans ce
send, ma solution semble ridicule. Ai-je loupé quelque chose?

A part cela, avec WD10, ma solution Windev ne marche pas dans une
requête. Comment le faire?

Merci
Mat



Aligner ou ? dans quel but ?



à droite, p.ex.
A12345.678
B12.001
C123.456
n'est pas très lisible.
mat
Le #14656151
Real Phil wrote:
Bonjour Mat,

C'est vrai que c'est curieux que PC Soft n'ait pas pensé à un outil de base
comme celui-là.
Justement il y a quelques semaines j'ai aussi cherché cette fonction dans
WD8.
J'ai dû me résoudre à faire une petite Procédure globale PadLeft() comme
dans Foxpro et qui ressemble à ta solution.

Réal Phil




Salut Réal,

merci, mais j'espère toujours qu'il y aussi une solution pour les requêtes.

Salutations
Mat
Pascal F
Le #14653871
mat a formulé ce jeudi :
Real Phil wrote:
Bonjour Mat,

C'est vrai que c'est curieux que PC Soft n'ait pas pensé à un outil de base
comme celui-là.
Justement il y a quelques semaines j'ai aussi cherché cette fonction dans
WD8.
J'ai dû me résoudre à faire une petite Procédure globale PadLeft() comme
dans Foxpro et qui ressemble à ta solution.

Réal Phil




Salut Réal,

merci, mais j'espère toujours qu'il y aussi une solution pour les requêtes.

Salutations
Mat



Je comprends pas ce que tu veux cadrer dans les requetes, si c'est la colonne dans laquelle il faut affichier, tu peux modifier
le cadrage de la dite colonne avec
MaColonne..CadrageHorizontal=chDroite

--
Pascal

Ne garder que le prénom pour me joindre
Real Phil
Le #14653861
"mat" news:
Bonjour,

D'autres langages ont depuis toujours une fonction de formatage, p.ex.
FORMAT("W20,AR", "A12345.678") afin d'aligner une chaîne sur la droite.
Et ça fonctionnait aussi dans les requêtes.

La seule solution que j'ai trouvé en Windev pour produire cela est
s est chaîne = "A12345.678"
s = Répète(" ", 20 - Taille(s)) + s

Avec tellement de fonctions disponibles en Windev traitant les chaînes,
comme ChaîneFormate et Complete qui pourrait facilement agir dans ce
send, ma solution semble ridicule. Ai-je loupé quelque chose?

Merci
Mat


--------------------------------------------------
Bonjour Mat,

C'est vrai que c'est curieux que PC Soft n'ait pas pensé à un outil de base
comme celui-là.
Justement il y a quelques semaines j'ai aussi cherché cette fonction dans
WD8.
J'ai dû me résoudre à faire une petite Procédure globale PadLeft() comme
dans Foxpro et qui ressemble à ta solution.

Réal Phil
mat
Le #14653851
Pascal F wrote:
Je comprends pas ce que tu veux cadrer dans les requetes, si c'est la
colonne dans laquelle il faut affichier, tu peux modifier le cadrage de
la dite colonne avec
MaColonne..CadrageHorizontal=chDroite




merci, mais tu as déjà essayé faire ça dans une colonne d'une combo
liste, par exemple? Théoriquement c'est possible avec gCadrage, mais en
pratique je n'ai pas obtenu un résultat utilisable. Alors j'essaye de
préfabriquer la chaîne et utiliser col1 + tab+ col2 + tab + col3...

Je m'imagine je pourrais aussi inclure une routine dans l'initialisation
pour modifier la rubrique du résultat de la colonne, mais j'hésite à
faire tout un bricolage pour obtenir une chose si simple.
Jacques TREPP
Le #14653841
"mat" news:
Pascal F wrote:
Je comprends pas ce que tu veux cadrer dans les requetes, si c'est la
colonne dans laquelle il faut affichier, tu peux modifier le cadrage de
la dite colonne avec
MaColonne..CadrageHorizontal=chDroite




merci, mais tu as déjà essayé faire ça dans une colonne d'une combo liste,
par exemple? Théoriquement c'est possible avec gCadrage, mais en pratique
je n'ai pas obtenu un résultat utilisable. Alors j'essaye de préfabriquer
la chaîne et utiliser col1 + tab+ col2 + tab + col3...

Je m'imagine je pourrais aussi inclure une routine dans l'initialisation
pour modifier la rubrique du résultat de la colonne, mais j'hésite à faire
tout un bricolage pour obtenir une chose si simple.




Bonjour Mat,
as-tu essayé de modifier la police de ta combo pour une police à pas fixe,
style 'Courier' ?
Je sais, ce n'est pas très beau, mais ça fonctionne avec ta méthode.
listeajoute(macombo, complete(40-taille(mavar))+mavar)

--
Jacques TREPP
Albygest
3, rue Jean Mermoz
81160 ST-JUERY
(enlevez 'pasdespam' pour me joindre)
mat
Le #14653811
Jacques TREPP wrote:

Bonjour Mat,
as-tu essayé de modifier la police de ta combo pour une police à pas
fixe, style 'Courier' ?
Je sais, ce n'est pas très beau, mais ça fonctionne avec ta méthode.
listeajoute(macombo, complete(40-taille(mavar))+mavar)




Merci Jacques, tu as raison, je n'ai pas pensé à ça. Je pensais en plus
que tu m'as donné la syntaxe manquante de complete pour faire un
alignement droit mais elle ne fonctionne pas dans mon WD10... :-(
Publicité
Poster une réponse
Anonyme