Avatar billede witte Nybegynder
12. januar 2001 - 17:57 Der er 13 kommentarer og
1 løsning

Opdele ord/streng ??

Hvis nu der bliver skrevet et for langt ord, bliver tabellen(html) jo større. Jeg har kigget på:

<%
\' Chopfunktion af Andreas Mailand - andreas@mailand.dk
\' Tak til Claes Andersen - webmaster@infonaut.dk
\' måden at bruge den på: Chop(streng, max tilladte længde inden break)
\' Fx Chop(streng, 10) vil maksimalt give en streng på længden 10 inden et break!

Function Chop(input, value)
Length = Len(input)
If Length > value Then
Break = Int(Length/value)
Rest = Length - Break*value
For a = 0 To Break-1
Chop = Chop & Mid(input, (a*value)+1, value) & \"<br>\"
Next
Chop = Chop & Mid(input, (Break*value)+1, Rest)
Else Chop = input
End If
End Function
%>

Ja, den er okay...men den deler jo selve strengen op... så der f.eks. står:

Dette e
r en te
st på A
SP

Jeg vil gerne have det sådan, at der istedet kom til at stå (hvis vi nu siger max 7 tegn pr. linie)

Dette
er en
test på
ASP

Også selvom nogle af ordnen måske var længere end 7... Så skulle den selv dele ordet og rykke til næste linie.

Håber i forstår... 
Avatar billede witte Nybegynder
12. januar 2001 - 19:02 #1
Det er det samme om Eksperten har i højre side... Altså: \"bla bla....\"
Avatar billede tdaugaard Nybegynder
12. januar 2001 - 19:03 #2
Du skal bruge en wordwrap funktion lyder det som..

    Function Wrap(ByVal Text, ByVal WrapChar, ByVal WrapAt)
        \' *****************************************************************************************************
        \' * WordWrap v1.2 - WordWraps a string off as near as possible to the specified max character amount  *
        \' * By Thomas Daugaard, December 11th, 2000.                                                          *
        \' *                                                                                                      *
        \' * Arguments: Text    : The string to wordwrap                                                      *
        \' *              WrapChar : A string specifying how/with what to wrap the string. Default is <br>          *
        \' *              WrapAt  : Numeric value specifying the maximum amount of characters allowed in a      *
        \' *                          string. Wraps backwards in the string to ensure that the max value is meet. *
        \' *                                                                                                      *
        \' *    Note: Arguments are passed By Value, not reference.                                                  *
        \' *****************************************************************************************************

        Text = Trim(Text)
        If Len(Text) =< WrapAt Or Len(Text) = 0 Or InStr(Text, \" \") = 0 Then Wrap = \"\" & Text: Exit Function
        If Len(WrapChar) = 0 Then WrapChar = \"<br>\"

        Do
            If Len(Text) < WrapAt Then strFinal = strFinal & Text: Exit Do
            strPart = Left(Text, WrapAt): intOff = WrapAt
            If Not Right(strPart, 1) = \" \" Then
                intOff = InStrRev(strPart, \" \")
                If intOff = 0 Then intOff = InStr(Text, WrapAt, \" \")
                If intOff = 0 Then strPart = Text
            End If
            strPart = Left(Text, intOff)
           
            Text = Right(Text, Len(Text) - Len(strPart))
            strFinal = strFinal & strPart & WrapChar
        Loop

        Wrap = strFinal
    End Function
Avatar billede tdaugaard Nybegynder
12. januar 2001 - 19:04 #3
Den her deler dog ikke ordet hvis det er over max antal tegn langt.. men det kan laves..
Avatar billede witte Nybegynder
12. januar 2001 - 19:05 #4
Ja, det er det jeg skal bruge... Hvis ordet altså er for langt...
Avatar billede tdaugaard Nybegynder
12. januar 2001 - 19:06 #5
det laver jeg lige så...
Avatar billede tdaugaard Nybegynder
12. januar 2001 - 19:18 #6
Function Wrap(ByVal Text, ByVal WrapChar, ByVal WrapAt)
    \' *****************************************************************************************************
    \' * WordWrap v1.2 - WordWraps a string off as near as possible to the specified max character amount  *
    \' * By Thomas Daugaard, December 11th, 2000.                                                          *
    \' *                                                                                                      *
    \' * Arguments: Text    : The string to wordwrap                                                      *
    \' *              WrapChar : A string specifying how/with what to wrap the string. Default is <br>          *
    \' *              WrapAt  : Numeric value specifying the maximum amount of characters allowed in a      *
    \' *                          string. Wraps backwards in the string to ensure that the max value is meet. *
    \' *                                                                                                      *
    \' *    Note: Arguments are passed By Value, not reference.                                                  *
    \' *****************************************************************************************************

    Text = Trim(Text)
    If Len(Text) =< WrapAt Or Len(Text) = 0 Or InStr(Text, \" \") = 0 Then Wrap = \"\" & Text: Exit Function
    If Len(WrapChar) = 0 Then WrapChar = \"<br>\"

    Do
        If Len(Text) < WrapAt Then strFinal = strFinal & Text: Exit Do
        strPart = Left(Text, WrapAt): intOff = WrapAt
           
        If Not Right(strPart, 1) = \" \" Then
            intOff = InStrRev(strPart, \" \")
            If intOff = 0 Then intOff = InStr(WrapAt, Text, \" \")
            If intOff = 0 Or intOff > WrapAt Then intOff = WrapAt
        End If
        strPart = Left(Text, intOff)
           
        Text = Right(Text, Len(Text) - Len(strPart))
        strFinal = strFinal & strPart & WrapChar
    Loop

    Wrap = strFinal
End Function
Avatar billede witte Nybegynder
12. januar 2001 - 19:32 #7
Det virker okay, men den kan ikke fange det hvis, det er det første ord i strengen der er for langt!...
Avatar billede tdaugaard Nybegynder
12. januar 2001 - 20:31 #8
hmm .. jow da..
Avatar billede witte Nybegynder
12. januar 2001 - 21:01 #9
Prøv lige at kigge her: \"-<br>\"

http://www.indy.dk/nydf/nyhed1.asp?sort=navn
Avatar billede witte Nybegynder
12. januar 2001 - 21:11 #10
Man kan vel ikke begrænse en tabels bredde? hvis stengen er for lang?
Avatar billede tdaugaard Nybegynder
12. januar 2001 - 22:07 #11
witte:> nej, det kan man nemlig ikke :-(
Avatar billede tdaugaard Nybegynder
12. januar 2001 - 22:10 #12
Det er jo fordi du laver en streng HELT uden mellemrum ... \"DenneStrengErAltForLangHvadKanManGøreVedDet\" det er der jo ingen mennesker der gør !! det vil kræve at jeg lave HELT om på min WordWrap rutine hvis den skal kunne knække en streng uden mellemrum .. tror jeg .. og det gider jeg sku\'t
Avatar billede witte Nybegynder
12. januar 2001 - 22:18 #13
hehe... det er fint... Jeg er mere end tilfreds med det du har lavet... :))) TAK
Avatar billede tdaugaard Nybegynder
12. januar 2001 - 22:23 #14
Det var så lidt så :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester