Inserer un retour a la ligne dans une chaine

robert -  
 rob -
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

2 réponses

nabzone
 
if vartype (i/20)=2 then ...

@+
1
robert
 
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+
0
blux Messages postés 19334 Date d'inscription   Statut Modérateur Dernière intervention   3 367
 
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+
0
robert
 
Merci,

A+
0
blux Messages postés 19334 Date d'inscription   Statut Modérateur Dernière intervention   3 367 > robert
 
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+
0
robert > blux Messages postés 19334 Date d'inscription   Statut Modérateur Dernière intervention  
 
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+
0
rob > robert
 
<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%>
0