-> 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.
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?
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.
Synes godt om
Ny brugerNybegynder
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.