Avatar billede jobb Nybegynder
05. oktober 2004 - 16:37 Der er 9 kommentarer og
1 løsning

ekstra linier

<%
inputStr = Replace(Trim(rs("tekst")) ,"'","")
reDim  arr(0)
str = replace(inputStr,"<br>", vbCrLf)
while (LEN(str)>0)
  splitIndex = InStrRev(str, vbCrLf, 55)
  if splitIndex = 0 then
    splitIndex = InStrRev(str, " ", 55)
    if splitIndex = 0 then splitIndex = LEN(str)
  end if 
  ReDim Preserve arr(UBOUND(arr) + 1)
  arr(UBOUND(arr)) = LEFT(str, splitIndex)
  str = MID(str, splitIndex + 1)
wend
outStr = ""
for i = LBound(arr) to UBound(arr)
  outStr = outStr & arr(i) & vbCrLf
next
outStr = replace (outStr, vbCrLf, "<br>")
%>   

dette script laver nogle ekstra linier og jeg kan ikke dreje det hvordan fjerner jeg de overflødene linier "1 linie i toppen og 2 linie i bunden"
Avatar billede eagleeye Praktikant
05. oktober 2004 - 16:54 #1
Prøv at rette:
  ReDim Preserve arr(UBOUND(arr) + 1)

Til denne:
  ReDim Preserve arr(UBOUND(arr))


Samt disse:
for i = LBound(arr) to UBound(arr)
  outStr = outStr & arr(i) & vbCrLf
next

Til disse:
for i = LBound(arr) to UBound(arr)
  outStr = outStr & arr(i)
  if i<UBound(arr)then outStr = outStr & vbCrLf
next
Avatar billede jobb Nybegynder
05. oktober 2004 - 17:15 #2
desvære det vil den ikke den glemmer en masse tekst og den laver stadig en ekstra linie
Avatar billede eagleeye Praktikant
05. oktober 2004 - 17:23 #3
ok, det med +1 skulle ikke fjernes, så tilføj det igen.

Prøv at lave det sidste:
for i = LBound(arr) to UBound(arr)
  outStr = outStr & arr(i)
  if i<UBound(arr)then outStr = outStr & vbCrLf
next

til til dette:

for i = LBound(arr) to UBound(arr)
  outStr = outStr & arr(i)
  if i>lbound(arr) and i<UBound(arr)then outStr = outStr & vbCrLf
next


hvis der er en ekstra return må det ligge i rs("tekst") som enten et vbCrLF eller som <br>.

Du kan prøve at udskrive:  replace(rs("tekst"),vbCrLf,"<br>")
Er der et mellemrum for meget der?
Avatar billede jobb Nybegynder
05. oktober 2004 - 20:01 #4
ok jeg har fået det til at virke men hvis jeg udskriver med <li> kemmer der en ekstra hvordan fjerner man den sidste af dem jeg har prøvet med
" outStr = replace (Right(outStr),4),"<li>","") " men uden held
Avatar billede eagleeye Praktikant
05. oktober 2004 - 21:55 #5
Så prøv :

outStr = left(outStr,len(outStr)-4)
Avatar billede jobb Nybegynder
05. oktober 2004 - 22:05 #6
det virker som det skal gidder du lægge et svar så du kan få dine velfortjente point.
Takker mange gange for hjælpen.
Avatar billede eagleeye Praktikant
05. oktober 2004 - 22:07 #7
Ok ;)
Avatar billede jobb Nybegynder
06. oktober 2004 - 21:30 #8
scriptet virker som det skal så det skal du have point for men når jeg trykker på side 2 laver den en fejl med
(left)
Error Type:
Sun ONE ASP VBScript runtime (0x800A0005)
Invalid procedure call or argument: 'Left'
/vare.asp, line 159
Avatar billede eagleeye Praktikant
06. oktober 2004 - 21:33 #9
Så det nok fordi len(outStr) er mindre end 4 og det tal i left giver et minus tal så prøv at "pakke" den ind med en if sætning:

if len(outStr) > 4 then outStr = left(outStr,len(outStr)-4)
Avatar billede jobb Nybegynder
07. oktober 2004 - 18:51 #10
Jeg er dig meget taknemlig. tak for hjælpen.
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