11. august 2005 - 15:16
Der er
3 kommentarer
ASP: 25 tegn pr linje.
Titlen siger det hele.
-> hvordan laver jeg sådan min variabel "tekst" bliver sådan man ikke bare kan skrive
SDSAD0A9D0A0D9A0SD0ASD0AS90ASD9AD09AS0D90AS9D0AS9D0AS90D9AS0D9AS09D0AD09AS0D9ASD
men istedet fx.
hej med dig kaj, jeg er så
fræk, fordi jeg hedder kaj,
jeg elsker også leverpostej.
11. august 2005 - 15:35
#1
Hvis jeg forstår dig ret (og det er ikke sikkert), så skal du igang med at loope alle mellemrum og checke om længden overskrider 25 tegn og hvis den gør så indføje et linieskift. Desuden skal du knække linien hvis den er længere end 25 tegn (uden brud). Korrekt?
12. august 2005 - 00:27
#3
Har lige fedtet lidt med et script som ikke er særlig kønt, men det ser ud til at løse problematikken, sådan nogenlunde tilfredsstillende (et udsagn som er baseret på en yderst sparsom test :)). Here goes nothing:
function chopWord(theWord, chopLength)
dim idx, resWord
idx = 1
resWord = ""
do while (idx + chopLength) < len(theWord)
if len(resWord) > 0 then
resWord = resWord & vbcrlf & mid(theWord, idx, chopLength)
else
resWord = mid(theWord, idx, chopLength)
end if
idx = idx + chopLength
loop
if len(resWord) > 0 then
chopWord = resWord & vbcrlf & mid(theWord, idx)
else
chopWord = theWord
end if
end function
dim idx, lineLength, strFinalText, strCurrentLine, strOriginalText, arrWords
dim strCurrentLine, strChoppedLine, arrChoppedLines,
lineLength = 25
strFinalText = ""
strCurrentLine = ""
strOriginalText = "jeg hedder lille ole og jeg har en fin rød bil. Den ræser mig til skole ligeså hurtig som en pil! " & _
"Nu kommer andet vers, det har jeg selv fundet på. Det kan risikere at være på tværs, så det kan vi nok ikke nå... " & _
"oooooooooooooooooogetmegetlangtordsomgerneskulleknækkeautomatisk"
arrWords = split(strOriginalText, " ")
for idx = 0 to ubound(arrWords)
if len(strCurrentLine) + len(arrWords(idx)) > lineLength then
' ny linie
strFinalText = strFinalText & strCurrentLine & vbcrlf
strChoppedLine = chopWord(arrWords(idx), lineLength)
arrChoppedLines = Split(strChoppedLine, vbcrlf)
strCurrentLine = arrChoppedLines(ubound(arrChoppedLines)) & " "
redim preserve arrChoppedLines(ubound(arrChoppedLines)-1)
strFinalText = strFinalText & Join(arrChoppedLines, vbcrlf)
if ubound(arrChoppedLines) > 0 then
strFinalText = strFinalText & vbcrlf
end if
else
strCurrentLine = strCurrentLine & arrWords(idx) & " "
end if
next
strFinalText = strFinalText & strCurrentLine
Variablen "strFinalText" indeholder (som du måske har opdaget) den ombrudte tekst.