Avatar billede bumsenhejhej Nybegynder
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.
Avatar billede softspot Forsker
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?
Avatar billede bumsenhejhej Nybegynder
11. august 2005 - 15:35 #2
ja
Avatar billede softspot Forsker
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.
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