IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MXML Discussion :

Récupérer saut de ligne automatique Textarea


Sujet :

MXML

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2007
    Messages : 74
    Points : 43
    Points
    43
    Par défaut Récupérer saut de ligne automatique Textarea
    Bonjour,

    j'ai besoin de récupérer chaque ligne de ma textarea à l'aide de la fonction

    tab = maTextArea.text.split('\r')

    Cela marche parfaitement pour récupérer l'appui sur la touche entrée de l'utilisateur mais pas pour le retour à la ligne automatique.
    Apparement le retour automatique ne génère pas de caractère spécial que l'on peut récupérer pour couper le texte.

    C'est très urgent donc si quelqu'un à une solution ça serait super !

    Merci ...

  2. #2
    Membre expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Points : 3 189
    Points
    3 189
    Par défaut
    et le \n n'y change rien ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2007
    Messages : 74
    Points : 43
    Points
    43
    Par défaut
    Merci pour ta réponse mais j'ai déjà essayer '\r' '\n' '\n\r' '\r\n' sans résultat.
    Lorsque je regarde avec le débugueur j'ai bien mes '\n' de visibles lorsque l'utilisateur appui sur entrée mais mais pour les automatiques.

  4. #4
    Membre expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Points : 3 189
    Points
    3 189
    Par défaut
    oui en fait le retour automatique n'est pas dans la chaine de caractère, c'est juse le comportement du composant TextArea qui gère la largeur du texte comparé à sa largeur.

    Après tout tu n'as pas créer un retour à la ligne si le texte n'en contient pas. Ce retour à la ligne automatiquement n'est en fait qu'un affichage sur le composant et non une indentation/mise en forme particulière du texte.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2007
    Messages : 74
    Points : 43
    Points
    43
    Par défaut
    Oui j'ai compris ça je cherche justement le moyen de récupérer mes lignes tels quelles sont dans la textarea y compris lors d'un saut de ligne automatique.

    ex: Si j'ai 5 lignes je veut avoir un tableau de taille 5 peu importe si la ligne a été sautée à la main ou automatiquement...

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    646
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 646
    Points : 240
    Points
    240
    Par défaut
    Salut,

    Est-ce que tu connais la taille de ton TextArea, taille et font fixe?
    Si tu sais que chaque ligne contient x caractere, tu dois pouvoir splitter a x si la taille de la chaine est superieure a x.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2007
    Messages : 74
    Points : 43
    Points
    43
    Par défaut
    Salut,

    oui je connais la taille mais si je fais ça les mots seront coupés en plein milieu.
    Je cherche à reproduire à l'identique ma textarea dans mon tableau.

  8. #8
    Membre actif
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    646
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 646
    Points : 240
    Points
    240
    Par défaut
    Ben...
    Tu peux décomposer ton texte en mot et ajouter au fur et a mesure, c'est peut-être un peu complexe mais bon tu devrais t'en sortir.

    Mais par curiosité pourquoi tu dois faire ça?

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2007
    Messages : 74
    Points : 43
    Points
    43
    Par défaut
    Ouai c'est ce que j'ai commencé à faire faute de mieux
    Merci quand même !!!

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2007
    Messages : 74
    Points : 43
    Points
    43
    Par défaut
    oups je n'avais pas vu ta question désolé.

    En fait je génère un .pdf avec AlivePDF contenant une zone texte de 10 lignes (d'une taille fixe donc) .
    Etant donné qu'il ne gère pas les zone de texte positionnées, je dois donc positionner ligne par ligne mon texte.
    J'ai donc une largeur maximal à ne pas dépasser et 10 ligne maximum.

    Truc un peu chiant quoi

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Août 2005
    Messages
    483
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 483
    Points : 309
    Points
    309
    Par défaut
    Bonjour,

    Il semble que je rencontre le même soucis que toi MaitreTsiang quand à la possibilité de récupéré le formatage d'un textarea.

    cf mon post :

    http://www.developpez.net/forums/d67...-nombre-ligne/

    Je voulais savoir si tu avais avancé sur ton problème

    cordialement

    ++

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2007
    Messages : 74
    Points : 43
    Points
    43
    Par défaut
    Salut,

    non je n'ai toujours pas trouvé de solution miracle.

    Je suis passé à autre chose en attendant car la deadline du projet approche à grand pas ...

    ++

  13. #13
    Candidat au Club
    Profil pro
    Développeur Java
    Inscrit en
    Mars 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2009
    Messages : 2
    Points : 3
    Points
    3
    Par défaut
    Bonjour,

    Je viens d'être confronté exactement au même problème que toi. Je te joins une solution, un peu usine à gaz mais qui peut toujours servir...
    C'est basé sur une analyse caractère par caractère du texte entré. Pour que cela fonctionne il faut une police de caractère dont la largeur des caractères est fixe (du type courier, courier new,...), ainsi on peut déterminer exactement le nombre de caractères qu'une ligne complète peut contenir.
    A la sortie du textarea, si le texte dépasse le nombre de lignes maximum paramétré une pop-up s'ouvre pour prévenir l'utilisateur que le texte sera tronqué.
    Fichiers attachés Fichiers attachés

  14. #14
    Candidat au Club
    Profil pro
    Développeur Java
    Inscrit en
    Mars 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2009
    Messages : 2
    Points : 3
    Points
    3
    Par défaut
    mieux comme ça :
    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
     
     
    <html>
    <head>
    <meta name="author" content="Aurelie DAVID">
    </meta>
    <script langage="JavaScript">
    //method used in webcor-detail.xhtml
     //it analyses text wrotten in textarea and detect if
     //number max of line is exceeded and return a pop-up which alert user.
     //param text string value of textarea
     //return new string value of textarea
     function formatTextarea(text)
    {	var overLimits=false;				//boolean initialized at false, which fixes if the text wrotten exceeds limits or not 
    	var nbLinesMax=7;					//number max of lines in textarea
    	var widthMax=21;					//width max of textarea
    	var textTemp=text;					//temporary text will be truncated in analyze
    	var tabTextarea=new Array();		//init an array which will be contains the new text truncated
    	var k=0;							//init the index of character of text wrotten which will be analized in loop 
     
    	for(var i=0;i<nbLinesMax;i++){
    		for(var j=0;j<=widthMax;j++){
    			if(textTemp.length==0){		//if there is no text to analyze, stop analyze
    				j=widthMax;
    				i=nbLinesMax;
    			}else if(k==textTemp.length-1){		//if it's the last character of text, register the rest of text and stop analyze
    				tabTextarea[i]=textTemp;
    				textTemp="";
    				j=widthMax;
    				i=nbLinesMax;
    			}else if(textTemp.charAt(k)=='\n'){		//if the character analyzed is a breaking line
    				tabTextarea[i]=textTemp.substring(0,k+1);
    				textTemp=textTemp.substring(k+1);
    				k=0;
    				j=widthMax;
    			}else if(j==widthMax && textTemp.charAt(k)==' '){	//if it's the end of line and the character analyzed is a space
    				tabTextarea[i]=textTemp.substring(0,k+1);
    				textTemp=textTemp.substring(k+1);
    				k=0;
    			}else if(j==widthMax && textTemp.charAt(k+1)==' '){	//if it's the end of line and the character after the character analyzed is a space
    				tabTextarea[i]=textTemp.substring(0,k+1);
    				textTemp=textTemp.substring(k+1);
    				k=0;
    			}
    			else if(j==widthMax && textTemp.charAt(k)!=' ' && textTemp.charAt(k+1)!=' '){	//if it's the end of line and the character analyzed is a character in a middle of a word
    				while(textTemp.charAt(k)!=' '){
    					k--;
    					if(k==0){
    						k=widthMax;
    						textTemp=textTemp.substring(0,k)+"\n"+textTemp.substring(k);
    						overLimits=true;
    						break;
    					}
    				}
    				tabTextarea[i]=textTemp.substring(0,k+1);
    				textTemp=textTemp.substring(k+1);
    				k=0;
    			}else{
    				k++;
    			}
    		}
    	}
     
    	if(textTemp.length>0){		// if the text has other lines, the flag overLimits is fixed at true
    			overLimits=true;
    	}
     
    	textTemp="";
    	for(var l=0;l<tabTextarea.length;l++){
                textTemp=textTemp+tabTextarea[l];
        }
     
    	if(overLimits){
    		text=textTemp;
    		alert("Attention vous avez dépassé le nombre de caractères ou de lignes autorisés, votre texte sera tronqué");
    	}
     
    	return text;
     
    }
     
    </script>
    </head>
    <body>
    <TEXTAREA style="font-family:Courier New; font-size:8pt" rows="7" cols="20" name="commentaires" OnChange="this.value=formatTextarea(this.value);">
    </TEXTAREA>
    </body>
    </html>

Discussions similaires

  1. récupérer saut de ligne d'un texteara
    Par mdr_cedrick dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 21/03/2009, 00h08
  2. saut à la ligne automatique dans un textview
    Par nurenai dans le forum GTK+ avec C & C++
    Réponses: 2
    Dernier message: 09/02/2009, 17h46
  3. Saut de ligne automatique
    Par sbeprod dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 11/12/2008, 21h50
  4. [MySQL] Saut de ligne automatique au bout de x caractères
    Par freija dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 10/11/2008, 12h19
  5. [W3C] Désactiver les sauts à la ligne automatique ?
    Par Ekinoks dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 17/02/2007, 06h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo