webForumDet fria alternativet

rad brytning

ASP

12 svar · 223 visningar · startad av JonasT

Medlem sedan dec. 2001148 inlägg
Frågan#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

Medlem 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

Medlem 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

Medlem sedan dec. 2001148 inlägg
#4

Tack så mycket

Medlem 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?

Medlem 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

Medlem 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.

Medlem 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]

Medlem 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"))%>

Medlem sedan jan. 20013 341 inlägg
#10

Sorry, fixade koden ovan

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

Medlem sedan dec. 2001148 inlägg
#11

Tack så mycket för hjälpen

Medlem 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?

Medlem 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

258 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)