Avatar billede dakar2004 Nybegynder
18. januar 2009 - 18:35 Der er 11 kommentarer og
1 løsning

hjælp til tekst wrap

Hej eksperter, jeg har lidt problemer med min site, jeg vil prøve at stille problemet op for jer så godt som jeg overhoved kan:

Jeg har en shoutbox hvor folk kan skrive en besked, det sendes via en formular med to felter:

første felt er et almindelig tekstfelt hvor de skriver deres navn.
andet felt er en tekstbox hvor de skriver beskeden:

men lad os så sige at Julie skriver følgende besked:

Weeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee

problemet i det er ikke at hun skriver wee og med så mange e'er bagefter, problemet kommer først når det bliver indsat på siten, da der ikke er lavet mellemrum eller noget så forsætter teksten ud til siden istedet for at skifte linie.

selve den måde shoutboxen bliver vist på er at den er indsat på hovedsiden igennem en IFrame hvor scroll er sat til yes, og i den iframe loades shout.asp siden så hvor teksten vises, i shout.asp er det hele sat op således at det er indsat i tabeller og tabellen er sat til 100% sådan at den passer ind i størrelsen på iframen, men problemer er som sagt at når der bliver skrevet et ord eller andet ud i et uden mellemrum så forsætter det ud til højre side uendeligt istedet for automatisk at skifte linie når grænsen er nået, det vil sige at iframen får en scrollbar i bunden og siden og det ser jo rigtig dumt ud, er der ikke et script eller måde der gør at selvom folk skriver et ord eller en sætning ud i et uden mellemrum at den så skifter linie alligevel når den har nået iframens grænse altså sådan at tabellen vises 100% uden at den flytter sig ud til højre, men teksten istedet for automatisk placeres neden under hinanden når det når til enden af tabellen...

håber virkelig jeg har gjort det meget klart for alle, ellers må i sige til så skal jeg prøve at lave en flash video med et eksempel på hvordan det kommer til at se ud...
Avatar billede mortvader Nybegynder
18. januar 2009 - 19:04 #1
Her er en hurtig lille løsning:

<%
friteksten="Hej her er Morten som siger AAAAAAAAAAAAAAAAAAAH!! seshej!"

dim maxlen ' knæk ord der er over X tegn lange

maxlen=10

ary=split(friteksten," ")
if ubound(ary)>lbound(ary) then
  for i=lbound(ary) to ubound(ary)
    tmp=""
    while len(ary(i))>maxlen
      tmp=" "&right(ary(i),maxlen)&tmp
      ary(i)=left(ary(i),len(ary(i))-maxlen)
    wend
    if tmp<>"" then ary(i)=ary(i)&tmp
  next
end if

result=join(ary," ")

response.write result
%>
Avatar billede dakar2004 Nybegynder
18. januar 2009 - 19:16 #2
hej morten, det virker desværrer ikke rigtig,

nu prøvede jeg at sætte scriptet ind og med den tekst du har skrevet, der virker det fint nok,

men vis jeg nu sætter følgende ind kun:

Weeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee

Det knækker den ikke, det forsætter bare ud til højre, altså der står ikke andet end Weeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee i teksten, vis jeg nu skriver:

Hejsa med dig Weeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee

så knækker den det, tror det har noget at gøre med at der bliver skrevet et mellemrum i teksten et sted så knækker den ordet korrekt...
Avatar billede mortvader Nybegynder
18. januar 2009 - 19:34 #3
så prøv:

<%

friteksten="Weeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"

dim maxlen ' knæk ord der er over X tegn lange

maxlen=10

ary=split(friteksten," ")
if ubound(ary)>lbound(ary) then
  for i=lbound(ary) to ubound(ary)
    tmp=""
    while len(ary(i))>maxlen
      tmp=" "&right(ary(i),maxlen)&tmp
      ary(i)=left(ary(i),len(ary(i))-maxlen)
    wend
    if tmp<>"" then ary(i)=ary(i)&tmp
  next

  result=join(ary," ")
else
  result=friteksten
  tmp=""
  while len(friteksten)>maxlen
    tmp=" "&right(friteksten,maxlen)&tmp
    friteksten=left(friteksten,len(friteksten)-maxlen)
  wend
  if tmp<>"" then friteksten=friteksten&tmp

  result=friteksten
end if


response.write result
%>
Avatar billede dakar2004 Nybegynder
18. januar 2009 - 19:37 #4
så fungere det sku morten, tak for det, kan det kombineres med følgende script:

<%
Dim lol
lol = nyheder("nyhed")
lol = Replace(lol, ":confused:", "<img src=""files/gfx/smiles/icon_confused.gif"">")
lol = Replace(lol, ":cool:", "<img src=""files/gfx/smiles/icon_cool.gif"">")
lol = Replace(lol, ":crying:", "<img src=""files/gfx/smiles/icon_crying.gif"">")
lol = Replace(lol, ":eek:", "<img src=""files/gfx/smiles/icon_eek.gif"">")
lol = Replace(lol, ":evil:", "<img src=""files/gfx/smiles/icon_evil.gif"">")
lol = Replace(lol, ":lol:", "<img src=""files/gfx/smiles/icon_lol.gif"">")
lol = Replace(lol, ":mad:", "<img src=""files/gfx/smiles/icon_mad.gif"">")
lol = Replace(lol, ":razz:", "<img src=""files/gfx/smiles/icon_razz.gif"">")
lol = Replace(lol, ":rolleyes:", "<img src=""files/gfx/smiles/icon_rolleyes.gif"">")
lol = Replace(lol, ":sad:", "<img src=""files/gfx/smiles/icon_sad.gif"">")
lol = Replace(lol, ":)", "<img src=""files/gfx/smiles/icon_smile.gif"">")
lol = Replace(lol, ":surprised:", "<img src=""files/gfx/smiles/icon_surprised.gif"">")
lol = Replace(lol, ":happy:", "<img src=""files/gfx/smiles/icon_very_happy.gif"">")
lol = Replace(lol, ":wink:", "<img src=""files/gfx/smiles/icon_wink.gif"">")
lol = Replace(lol, vbCrLf, "<br>")
Response.Write lol
%>
Avatar billede mortvader Nybegynder
18. januar 2009 - 19:47 #5
jaja, så laver du det til en function:


<%
dim maxlen ' knæk ord der er over X tegn lange
maxlen=10

function knaek(par)
friteksten=par
ary=split(friteksten," ")
if ubound(ary)>lbound(ary) then
  for i=lbound(ary) to ubound(ary)
    tmp=""
    while len(ary(i))>maxlen
      tmp=" "&right(ary(i),maxlen)&tmp
      ary(i)=left(ary(i),len(ary(i))-maxlen)
    wend
    if tmp<>"" then ary(i)=ary(i)&tmp
  next

  knaek=join(ary," ")
else
  tmp=""
  while len(friteksten)>maxlen
    tmp=" "&right(friteksten,maxlen)&tmp
    friteksten=left(friteksten,len(friteksten)-maxlen)
  wend
  if tmp<>"" then friteksten=friteksten&tmp

  knaek=friteksten
end if
response.write result
end function

%>

i dit script:
den sidste response.write laves om til:
response.write knaek(lol)
Avatar billede mortvader Nybegynder
18. januar 2009 - 19:48 #6
hov du skal lige fjerne min "response.write result" til sidst i functionen.
Avatar billede dakar2004 Nybegynder
18. januar 2009 - 19:50 #7
øhhh nu skal jeg lige være med morten, skal jeg så indsætte begge script eller bare den sidste her du lige gav mig, er lidt forvirret lige nu hehe...
Avatar billede mortvader Nybegynder
18. januar 2009 - 19:53 #8
Du kan smide det hele ind i bunden af din asp fil.
.. noget a la ...

<%
Dim lol
lol = nyheder("nyhed")
lol = Replace(lol, ":confused:", "<img src=""files/gfx/smiles/icon_confused.gif"">")
lol = Replace(lol, ":cool:", "<img src=""files/gfx/smiles/icon_cool.gif"">")
lol = Replace(lol, ":crying:", "<img src=""files/gfx/smiles/icon_crying.gif"">")
lol = Replace(lol, ":eek:", "<img src=""files/gfx/smiles/icon_eek.gif"">")
lol = Replace(lol, ":evil:", "<img src=""files/gfx/smiles/icon_evil.gif"">")
lol = Replace(lol, ":lol:", "<img src=""files/gfx/smiles/icon_lol.gif"">")
lol = Replace(lol, ":mad:", "<img src=""files/gfx/smiles/icon_mad.gif"">")
lol = Replace(lol, ":razz:", "<img src=""files/gfx/smiles/icon_razz.gif"">")
lol = Replace(lol, ":rolleyes:", "<img src=""files/gfx/smiles/icon_rolleyes.gif"">")
lol = Replace(lol, ":sad:", "<img src=""files/gfx/smiles/icon_sad.gif"">")
lol = Replace(lol, ":)", "<img src=""files/gfx/smiles/icon_smile.gif"">")
lol = Replace(lol, ":surprised:", "<img src=""files/gfx/smiles/icon_surprised.gif"">")
lol = Replace(lol, ":happy:", "<img src=""files/gfx/smiles/icon_very_happy.gif"">")
lol = Replace(lol, ":wink:", "<img src=""files/gfx/smiles/icon_wink.gif"">")
lol = Replace(lol, vbCrLf, "<br>")
Response.Write lol



dim maxlen ' knæk ord der er over X tegn lange
maxlen=10

function knaek(par)
friteksten=par
ary=split(friteksten," ")
if ubound(ary)>lbound(ary) then
  for i=lbound(ary) to ubound(ary)
    tmp=""
    while len(ary(i))>maxlen
      tmp=" "&right(ary(i),maxlen)&tmp
      ary(i)=left(ary(i),len(ary(i))-maxlen)
    wend
    if tmp<>"" then ary(i)=ary(i)&tmp
  next

  knaek=join(ary," ")
else
  tmp=""
  while len(friteksten)>maxlen
    tmp=" "&right(friteksten,maxlen)&tmp
    friteksten=left(friteksten,len(friteksten)-maxlen)
  wend
  if tmp<>"" then friteksten=friteksten&tmp

  knaek=friteksten
end if
end function

%>
Avatar billede mortvader Nybegynder
18. januar 2009 - 19:54 #9
nå.. og altså

Response.Write knaek(lol)

nederst i din del af scriptet..
Avatar billede dakar2004 Nybegynder
18. januar 2009 - 19:56 #10
jeg skal vel fjerne Response.Write lol
Avatar billede mortvader Nybegynder
18. januar 2009 - 19:58 #11
ja jeg ved jo ikke i hvilken nøjagtig sammenhæng du bruger det, men prøv dig frem!
Avatar billede dakar2004 Nybegynder
18. januar 2009 - 21:00 #12
Får fejl:
Der er en syntaksfejl
/eventz/shout01.asp, line 73
function knaek(par)
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