Accueil > > > DECOUPAGE D'UN TEXTE SUR UNE LONGEUR DE LIGNE PRÉCISE
DECOUPAGE D'UN TEXTE SUR UNE LONGEUR DE LIGNE PRÉCISE
Information sur la source
Description
Découpe une chaine trop longue en une nouvelle chaine, avec à la position "coupe" est inscrit un retour chariot
Source
- Function sDecoupeChaine(ByVal chaine As String, ByVal coupe As Integer, ByVal new_car As String) As String
- Dim pos As Integer, laChaine As String, item As String
- Dim ln As Integer, passage As Integer, decoupe As Integer
-
-
- passage = 0
- laChaine = vbNullString
-
- If Len(Trim(chaine)) > 0 And coupe > 0 And Len(Trim(chaine)) > coupe Then
- Do
- item = sGetLeftChamp(chaine, Chr$(13))
-
- ln = Len(item)
- If ln > coupe Then
- Do
- decoupe = coupe
- pos = 1
-
- ' Recherche d'un caractère blanc avant la séparation par défaut:
- Do
- If StrComp(Left(Right(Left(item, coupe), pos), 1), cESPACE) = 0 Then
- decoupe = coupe - pos
- Exit Do
- End If
-
- pos = pos + 1
- If pos >= coupe Then Exit Do
- Loop
-
- If Len(laChaine) > 0 Then
- If Len(new_car) > 0 Then
- laChaine = laChaine & new_car & vbCrLf & Left(item, decoupe)
- Else
- laChaine = laChaine & vbCrLf & Left(item, decoupe)
- End If
- Else
- laChaine = Left(item, decoupe)
- End If
-
- item = Right(item, Len(item) - decoupe - 1)
-
- If Len(item) = 0 Then
- Exit Do
- ElseIf Len(item) <= coupe Then
- If Len(new_car) > 0 Then
- laChaine = laChaine & new_car & vbCrLf & item
- Else
- laChaine = laChaine & vbCrLf & item
- End If
-
- Exit Do
- End If
- Loop
-
- passage = 0
- Else
- If ln Then
- If Len(laChaine) > 0 Then
- laChaine = laChaine & vbCrLf & item
- Else
- laChaine = item
- End If
-
- passage = 0
- Else
- passage = passage + 1
- ln = 2
-
- If passage = 2 Then
- If Len(laChaine) > 0 Then
- laChaine = laChaine & vbCrLf
- Else
- laChaine = item
- End If
-
- passage = 0
- End If
- End If
- End If
-
- chaine = Right(chaine, Len(chaine) - ln)
-
- If Len(chaine) = 0 Then
- Exit Do
- ElseIf Len(chaine) <= coupe Then
- laChaine = laChaine & vbCrLf & chaine
-
- Exit Do
- End If
- Loop
-
- sDecoupeChaine = laChaine
-
- Exit Function
- End If
-
- sDecoupeChaine = chaine
- End Function
-
Function sDecoupeChaine(ByVal chaine As String, ByVal coupe As Integer, ByVal new_car As String) As String
Dim pos As Integer, laChaine As String, item As String
Dim ln As Integer, passage As Integer, decoupe As Integer
passage = 0
laChaine = vbNullString
If Len(Trim(chaine)) > 0 And coupe > 0 And Len(Trim(chaine)) > coupe Then
Do
item = sGetLeftChamp(chaine, Chr$(13))
ln = Len(item)
If ln > coupe Then
Do
decoupe = coupe
pos = 1
' Recherche d'un caractère blanc avant la séparation par défaut:
Do
If StrComp(Left(Right(Left(item, coupe), pos), 1), cESPACE) = 0 Then
decoupe = coupe - pos
Exit Do
End If
pos = pos + 1
If pos >= coupe Then Exit Do
Loop
If Len(laChaine) > 0 Then
If Len(new_car) > 0 Then
laChaine = laChaine & new_car & vbCrLf & Left(item, decoupe)
Else
laChaine = laChaine & vbCrLf & Left(item, decoupe)
End If
Else
laChaine = Left(item, decoupe)
End If
item = Right(item, Len(item) - decoupe - 1)
If Len(item) = 0 Then
Exit Do
ElseIf Len(item) <= coupe Then
If Len(new_car) > 0 Then
laChaine = laChaine & new_car & vbCrLf & item
Else
laChaine = laChaine & vbCrLf & item
End If
Exit Do
End If
Loop
passage = 0
Else
If ln Then
If Len(laChaine) > 0 Then
laChaine = laChaine & vbCrLf & item
Else
laChaine = item
End If
passage = 0
Else
passage = passage + 1
ln = 2
If passage = 2 Then
If Len(laChaine) > 0 Then
laChaine = laChaine & vbCrLf
Else
laChaine = item
End If
passage = 0
End If
End If
End If
chaine = Right(chaine, Len(chaine) - ln)
If Len(chaine) = 0 Then
Exit Do
ElseIf Len(chaine) <= coupe Then
laChaine = laChaine & vbCrLf & chaine
Exit Do
End If
Loop
sDecoupeChaine = laChaine
Exit Function
End If
sDecoupeChaine = chaine
End Function
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Fichiers texte de longueur Fixe [ par Docck ]
Salut les VBMan,Je cherche à importer dans access un fichier texte ayant ses champs délimités par des longueurs fixes.La contrainte est que je ne dois
Longueur d'un texte dans une richtextbox [ par elaphe ]
Bonjour,Merci de m'indiquer comment déterminer la longueur (en twips par exple) d'une ligne de texte formaté dans une richtextbox. Attention il ne s'
API ET TEXTE [ par stefsoft ]
je dessine par les API un texte avec Drawtext , et je voudrais connaitre la longueur en pixels de ma chaine de caractère pour fixer la longueur de mon
Convertir un fichier texte (avec des ;) en longueur fixe [ par eren ]
J'ai un fichier issu d'Excel au format CSV, c.a.d avec des points virgules entre chaque champEx .Renaud;EricDupond;PaulJ'ai besoin de convertir ce fic
vbCrlf me vire la mise en forme d'un texte [ par michmuch2000 ]
Salut,dès que j'envoi une commande de type RichTextBox1 = RichTextBox1 & vbCrlf en plein millieu d'un RichTexBox contenant du texte mis en forme, c'es
Longueur en pixel d'un Texte [ par comprateur ]
Longueur en pixel d'un Texte:Bonjour, je dois traduire des étiquettes de l'anglais au francais sans dépasser la longueur de l'étiquette d'origine meme
Découpage de texte [ par dam94 ]
Bonjour,J'affiche un text dans une text box, et dans ce texte il y a des valeurs avec lesquels je voudrais faire un graphe.Exemple de texte :" 2min à
Comment connaitre la longueur d'un texte en pixel ? [ par salazar ]
J'affiche du texte dans un ListBox, et je souhaite tronquer le texte dès qu'il a atteind une certaine longueur.Cette longueur est liée à la police, au
gestion champs vide [ par tayfun ]
Salut à tous,Je vous explique mon soucis : J'extrait des données depuis un fichier qui se trouve sur un As400 et je les concatene dans un fichier text
Longueur d'une tabulation dans fichier texte [ par Apolinaire ]
Bonjour,Quand j'écris une tabulation (vbTab) dans un fichier texte à l'aide de WriteLine, cette tabulation fait toujours 8 espaces de longueur.Y'a-t-i
|
Derniers Blogs
PRéSENTATION DES API REST DE WINDOWS AZURE : LISTER LES COMPTES DE STORAGEPRéSENTATION DES API REST DE WINDOWS AZURE : LISTER LES COMPTES DE STORAGE par richardc
http://www.c2idotnet.com/articles/presentation-des-api-rest-de-windows-azure-lister-les-comptes-de-storage
Désolé pour "toto", mais c2i existait avant blogs.developpeur.org et c'est mon site "officiel" ;-) ...
Cliquez pour lire la suite de l'article par richardc [HTML5] SLIDES ET DéMOS : AUTOUR DU W3C , NOUVEAUX STANDARDS ET WEB MOBILE (LILLE)[HTML5] SLIDES ET DéMOS : AUTOUR DU W3C , NOUVEAUX STANDARDS ET WEB MOBILE (LILLE) par Gio
Très bonne après-midi passée lors cette conférence avec le W3C, organisée par L' Inria sur les nouveaux standards, ce Mardi 14 Février, on sent vraiment que çà bosse au W3C, et l'avenir est très très prometteur pour le HTML5, notamment ...
Cliquez pour lire la suite de l'article par Gio GESTION D'EXCEPTION AVEC LES TASKSGESTION D'EXCEPTION AVEC LES TASKS par richardc
Nous avons vu dans un précédent article comment utiliser Task pour effectuer des opérations dans un autre thread.
Malheureusement, comme tout le monde n'est pas parfait, il se peut que cette exécution se passe mal et qu'une exception se produise.
La...
Cliquez pour lire la suite de l'article par richardc DéMARRONS AVEC LES TASKSDéMARRONS AVEC LES TASKS par richardc
Que vous le vouliez ou non, le développement multi-tâche est maintenant une obligation pour toute nouvelle application. Il est donc vital d'en comprendre les mécanismes et de s'y mettre le plus tôt possible.
En attendant le .NET Framework 4.5 avec le...
Cliquez pour lire la suite de l'article par richardc
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|