webForumDet fria alternativet

rad brytning

ASPur ASP

12 svar · 221 visningar · startad av JonasT

JonasTMedlem sedan dec. 2001148 inlägg
#1

Hur gör man för att få:
<%=rs("message")%>
Att efter ett visst antal bokstäver (antalet som jag anger) så ska "message" fortsätta på en ny rad....Tacksam för svar

VideMedlem sedan dec. 19998 577 inlägg
#2

Det besvarades för bara några dagar sedan, ta en sökning i detta forumet så hittar du ditt svar...

------------------
Mostly Harmless

LarsGMedlem sedan dec. 200012 464 inlägg
#3
<% 
antal = 60
message = rs("message")
response.write left(message,antal) & "<br>" & mid(message,antal)
%>

------------------
essentitia preter non sans multiplicandum

JonasTMedlem sedan dec. 2001148 inlägg
#4

Tack så mycket

JonasTMedlem sedan dec. 2001148 inlägg
#5

Humm..nej de blev ngt fel, det fungerar bara på rad 1 om man skriver mer än 1 rad som radbryts det itne....någon som vet varför?

LarsGMedlem sedan dec. 200012 464 inlägg
#6

Om du vill ha ny rad efter exakt vart 60:e tecken.

<%
antal = 60
offset = 1
message = rs("message")
l = len(message)
while l > 0
  response.write mid(message,offset,antal) & "<br>"
  offset = offset + antal
  l = l - antal
wend

Det blir nog inte så snyggt då radbrytningen kan komma var som helst inom ett ord.

Om man vill ha det brytning så att det blir på ett mellanslag så kan man göra så här kanske

antal = 60
message = rs("message")
a = split(message," ")
p = 0
for i = 0 to ubound(a)
  p = p + len(a(i)) 
  response.write a(i) 
  if i < ubound(a) then
     response.write " "
     p = p + 1
  end if
  if p >= antal then 
     response.write "<br>"
     p = 0
  end if
next

------------------
essentitia preter non sans multiplicandum

JonasTMedlem sedan dec. 2001148 inlägg
#7

Men om någon vill spamma eler bobma en gästbok och bara håller in en bokstav..så blir det ju iongen rad bryning..då blir det en jätte lång rad, som då förstör sidan.

aleborgMedlem sedan jan. 20013 341 inlägg
#8

Det här funkar alldeles utmärkt för mig:

<%
Response.Write Strang(rs("message"))

Function Strang(ByVal OriginalString)
		OriginalString = "" & OriginalString

		intMaxLength = 45
		arrString = Split(OriginalString, " ")

		For intIndex = 0 To UBound(arrString)
			If Len(arrString(intIndex)) > intMaxLength Then
				intSIndex = 0
				While intSIndex < (Len(arrString(intIndex)) / intMaxLength)
					splittOrd = splittOrd & Mid(arrString(intIndex), (1 + intSIndex * intMaxLength), intMaxLength) & "<br>"
					intSIndex = intSIndex + 1
				Wend
				arrString(intIndex) = splittOrd
			End If

			strNewString = strNewString & arrString(intIndex) & " "
		Next

		Strang = strNewString
	End Function
%>

------------------
Data-Doktorn
Min egen musik!
Mitt coverband

[Redigerat av aleborg den 09 jan 2002]

JonasTMedlem sedan dec. 2001148 inlägg
#9

Men asså <%=Strang(rs("message"))%>
Function Strang(ByVal OriginalString)
OriginalString = "" & OriginalString

Jag kan itne sätta ind et för det liger redan inom <% %> sånna då kan jag inte ha <%=Strang(rs("message"))%>

aleborgMedlem sedan jan. 20013 341 inlägg
#10

Sorry, fixade koden ovan

------------------
Data-Doktorn
Min egen musik!
Mitt coverband

JonasTMedlem sedan dec. 2001148 inlägg
#11

Tack så mycket för hjälpen

JonasTMedlem sedan dec. 2001148 inlägg
#12

Får fel på rad 69 och där står det:Function Strang(ByVal OriginalString)
vad kan avar fel?

aleborgMedlem sedan jan. 20013 341 inlägg
#13

Du måste lägga själva funktionen utanför alla loopar, t ex i början eller slutet av dokumentet. Sedan är det bara att kalla på funktionen var du vill i dokumentet!

------------------
Data-Doktorn
Min egen musik!
Mitt coverband

130 ms totalt · 3 externa anrop · v20260731065814-full.a2ca460b
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)