salut
svp si jai 4 ligne dans un champ multiligne , comment je peut afficher la ligne numero 3
merci d'avance
salut
svp si jai 4 ligne dans un champ multiligne , comment je peut afficher la ligne numero 3
merci d'avance
Bonjour,
Votre question n'est pas très claire.
Pouvez vous donnez plus d'explications sur ce que vous voulez faire.
Merci aussi de donner votre version de Windev.
la touche est ton amie. l'aide ne mord pas quand on la consulte...
PS : n'oubliez jamais que nous ne sommes pas avec vous sur le projet. Donc plus vous donnez d'informations et d'exemples de codes et plus nous pourrons vous aider. (Un exemple vaut mieux que de longs discours...)
Pensez à utiliser les votes et à cliquer sur , merci
Il existe la fonction ExtraitLigne() qui permet d'extraire la xème ligne d'une chaîne (nouveauté de la version 18)
Cette fonction détermine les lignes en fonction des RC (retour chariots)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 // Extraction de la ligne 5 du champ de saisie multiligne SAI_Info sLigne5 est une chaîne = ExtraitLigne(SAI_Info, 5)
Dans un champ multi-ligne l'affichage peut se faire sur plusieurs lignes sans qu'il y ait de RC. Dans ce cas il n'y a pas de fonction qui permet d'extraire la xème ligne... dommage...
Il existe la fonction TexteHauteur() qui permet de calculer la hauteur (en pixels) d'un texte affiché dans un champ de saisie. Cette fonction a une option tMultiligne qui permet de connaître la hauteur du texte en tenant compte des retours à la ligne (automatiques ou forcés par un "Retour Chariot").
Ci-dessous une procédure qui utilise cette fonction pour déterminer le contenu de la xème ligne d'un champ de saisie multi-ligne en tenant compte des retours à la ligne automatiques ou forcés par un "Retour Chariot".
Utilisation de la procédure
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 PROCEDURE ExtraitLigneChampMultiligne(sChampMultiligne est une chaîne,nNoLigneRecherche est un entier) nNbPixel_Hauteur,nNbPixel_Hauteur_Precedent,nCarDebut,nCarFin,nNoLigne sont des entier sMaChaine_Complete est une chaîne = {sChampMultiligne,indChamp} sMaChaine_partielle est une chaîne sSousChaîne est une chaîne = ExtraitChaîne(sMaChaine_Complete, rangPremier, " ") sMaChaine_partielle = sSousChaîne TANTQUE sSousChaîne <> EOT nNbPixel_Hauteur = TexteHauteur({sChampMultiligne,indChamp},sMaChaine_partielle,tMultiligne) SI nNbPixel_Hauteur > nNbPixel_Hauteur_Precedent ALORS nNbPixel_Hauteur_Precedent = nNbPixel_Hauteur nNoLigne += 1 SELON nNoLigne CAS nNoLigneRecherche nCarDebut = Taille(SansCaractèreDroite(sMaChaine_partielle,sSousChaîne)) + 1 CAS nNoLigneRecherche + 1 nCarFin = Taille(SansCaractèreDroite(sMaChaine_partielle,sSousChaîne)) SORTIR FIN FIN sSousChaîne = ExtraitChaîne(sMaChaine_Complete, rangSuivant, " ") sMaChaine_partielle += " " + sSousChaîne FIN SI nCarFin = 0 ALORS nCarFin = Taille(sMaChaine_Complete) FIN RENVOYER Milieu(sMaChaine_Complete,nCarDebut,nCarFin - nCarDebut)
Code : Sélectionner tout - Visualiser dans une fenêtre à part LIB_Ligne_a_extraire = ExtraitLigneChampMultiligne("SAI_ChampMultiLigne",3)
Bon dev
Laurent
- C’est génial.
- Non c’est bizarre.
- Justement quand c’est simple y’a des milliers de réponses et quand c’est bizarre y’en a aucune.
merci bien mes amis pour votre aide
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager