Les Allergies
Alimentaires
Posez votre question Signaler

Inserer un retour a la ligne dans une chaine

robert - Dernière réponse le 10 déc. 2001 à 17:38
HELP
bonjour,

je cherche a insérer un retour a la ligne dans une chaine de caractere tout les 20 caractères;
Peut on determiner en VB si une valeur est un entier,comment fait on pour inserer un caractère
<%
texte=request("texte")%>

For i= 1 to len(texte)
if i\20=<%un entier%>
THEN
<%inserer unchr10%>
Next
end if%>

Merci de votre aide


Then
Lire la suite 

Inserer un retour a la ligne dans une chaine »

7 réponses
Réponse
+1
moins plus
if vartype (i/20)=2 then ...

@+
robert - 9 déc. 2001 à 19:46
Merci de ton aide.Mon objectif est de permettre a un texte provenant d'un formulaire d'etre affiché sur page web en respectant une dimension donné (ça fonctionne) et d'afficher un lien hypertexte lorsque " http://" apparait (ca ne fonctionne pas).

<%request=("texte")%>

<%function texte (texte,nb caractere)
Nb= Int(Len(texte)\nbcaractere)
For compteur=0 to Nb
texteconst=texteconst+mid(texte,nb caractere * compteur+1,nbcaractere)+VbCrLf
texteconst=replace(texteconst,chr(13)&chr(10),"'<br>"
next

'remplacer un texte avec " http://" par un lien hypertexte


texteconst=replace(texteconst," http://","<a href='")
positionhttp=Instr(1,texteconst," http://",0)
If positionhttp>0 THEN
textea=replace(texteconst,chr(13)&chr(10),"'</a>"
positiondelafermeturedulien=Instr(1,textea,"'</a>",0)
position=positiondelafermeturedulien-positionhttp
textelien=left(textea,position)
END IF
textefinal=textelien + texteconstruction

end function%>

<%=textefinal(texte,20)%>

je te remercie encore

A+
Ajouter un commentaire
Réponse
+0
moins plus
Salut,

en VB on ne sait pas insérer (de manière simple) un caractère, mais on sait concaténer des chaines, il faut donc découper ta chaine en paquets de 20 avec la fonction MID(chaine,deb,long) et ajouter un retour chariot.

En VB il existe une constante qui s'appelle VbCrLf

Ca donnera un truc comme ça.

' On compte combien on a de paquets de 20
Nb = Int(Len(texte)/20)
For i = 0 to Nb
' On extrait une chaine tous les 20 car avec une longueur de 20 et on concatène avec le saut de ligne
chaine = chaine + mid(texte,20*i+1,20) + VbCrLf
next i

Je ne suis pas sur que la boucle se finisse avec le bon nombre, mais l'esprit y est...

A+
blux- 6 déc. 2001 à 18:53
Re salut,

pour savoir si un nombre est un multiple d'un autre, il suffit de savoir que la division de l'un par l'autre ne donne pas de reste.
En gros, si on prend la partie entière de la division, elle doit être égale au quotient. Et ça marche quel que soit le langage :-)
En VB, on aura un truc comme ça :

IF INT(Nb/Div) = (Nb/Div) THEN
Msgbox Nb & " est multiple de " & Div
END IF

A+
robert - 9 déc. 2001 à 19:41
Encore merci pour ton aide,le script que tu m'as envoyé fonctionne trés bien.Mon objectif est de permettre a un texte provenant d'un formulaire d'etre affiché sur page web en respectant une dimension donné (ça fonctionne) et d'afficher un lien hypertexte lorsque " http://" apparait (ca ne fonctionne pas).

<%request=("texte")%>

<%function texte (texte,nb caractere)
Nb= Int(Len(texte)\nbcaractere)
For compteur=0 to Nb
texteconst=texteconst+mid(texte,nb caractere * compteur+1,nbcaractere)+VbCrLf
texteconst=replace(texteconst,chr(13)&chr(10),"'<br>"
next

'remplacer un texte avec " http://" par un lien hypertexte


texteconst=replace(texteconst," http://","<a href='")
positionhttp=Instr(1,texteconst," http://",0)
If positionhttp>0 THEN
textea=replace(texteconst,chr(13)&chr(10),"'</a>"
positiondelafermeturedulien=Instr(1,textea,"'</a>",0)
position=positiondelafermeturedulien-positionhttp
textelien=left(textea,position)
END IF
textefinal=textelien + texteconstruction

end function%>

<%=textefinal(texte,20)%>

je te remercie encore

A+
rob - 10 déc. 2001 à 17:38
<HTML>
<BODY>
<%
texte=request("texte")
%>
<%


'------------------- DECOUPAGE DU TEXTE PAR LE NOMBRE DE CARACTERE PAR LIGNE ----------------

' On compte combien on a de paquets de 20
nbcaractere=20
Nb = Int(Len(texte)/nbcaractere)
For compteurnbcaractere = 0 to Nb
' On extrait une chaine tous les "nbcaractere" car avec une longueur de "nbcaractere" et on concatène avec le saut de ligne
texteconstruction = texteconstruction + mid(texte,nbcaractere*compteurnbcaractere+1,nbcaractere) + VbCrLf
'texte1= replace(texteconstruction,chr(13)&chr(10),"<br>")
next

positionhttp=Instr(1,texteconstruction," http://",1)
IF positionhttp>0 THEN
texte1=replace(texteconstruction," http://","<a href='")
textev=replace(texte1,"<a href='",chr(10))

'espacevide=Instr(1,textev,
positiondebut=Instr(1,texte1,"<a href='",1)
textea=mid(texte1,positiondebut)
positionfin=Instr(4,textea,chr(13)&chr(10),1)
textefin=mid(textea,positionfin)
texteb=mid(texte1,positiondebut,positionfin+2)
textec=replace(texteb,"<a href='",chr(10))
textee=mid(texte1,positionfin+1)
textedebut=mid(texte1,1,positiondebut-1)
textelien=replace(textea,"<a href='",chr(10))
finlien=Instr(1,textelien,chr(13)&chr(10),1)
textefinlien=Left(textelien,finlien+4)
texteapreslien=Right(textelien,finlien+4)
texteL= Left(textev,10)
texteR= Right(texte1,positionfin)
texte2= replace(texteL,"<a href='",chr(10))
texte3= replace(texte2,"</a>",chr(10))

texteconstruction= textedebut + textea +"'>" + textefinlien + "</a>" + texteapreslien
END IF

'------- on envoie le texte final a la fonction ---



'texteconstruction= replace(texteconstruction,chr(13)&chr(10),"<br>")
textareaajoutbalise=texteconstruction

%>










<%=texteconstruction%>
Ajouter un commentaire
Ce document intitulé « inserer un retour a la ligne dans une chaine » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?