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

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

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

      A+
      0
      1. blux Messages postés 2051 Date d'inscription   Statut Modérateur Dernière intervention   3 455 > 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
      2. robert > blux Messages postés 2051 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
      3. 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