akke Medlem sedan aug. 2008 27 inlägg Frågan 18 sep. 2008 16:30 #1 hej varje gång man skickar ett tomt inlägg med mellanslag så kmr den här felet
Microsoft VBScript runtime error '800a0005'
Invalid procedure call or argument: 'Mid'
D:\WEBUSERS\32060\TURKWEB.SE\WWW\INSIDE\../includes/andratext.asp, line 200
men om ja tar bort mellanslaget på line 190 så kmr inte automatisk br i inlägget
hur ja kan lösa det här problemet.
Function delaText(strText)
iPos1 = 1
iPos2 = 1
iWordLength = 0
strText = Trim(strText)
Do Until iPos2 = Len(strText)
iPos2 = iPos2 + 1
iWordLength = iWordLength + 1
If Mid(strText,iPos2,1) = " " Then
iWordLength = 0
End if
If iWordLength \> 50 Then
strText = Mid(strText,1,iPos1-1)\_
& Mid(strText,iPos1,iPos2-iPos1)\_
& " " & Mid(strText,iPos2,Len(strText)-iPos2+1) **Line 190...!!!!**
iPos1 = iPos2
iPos2 = iPos2 + 1
iWordLength = 0
End If
Loop
strText = Replace(strText ,vbCrlf,"\<br\>") **Line 200 Här.....!!!!!!!!!!!!!!**
delaText=strText
End Function
P Peter S Medlem sedan dec. 2002 5 483 inlägg Det här:
Do Until iPos2 = Len(strText)
...är ingen höjdare, eftersom det förutsätts att strText innehåller någonting.
Ett enkelt sätt att komma runt problemet är att wrappa loopen i en if-sats som endast äntras om längden på strText är större än iPos2.
akke Medlem sedan aug. 2008 27 inlägg
Peter S skrev:
Det här:
Do Until iPos2 = Len(strText)
...är ingen höjdare, eftersom det förutsätts att strText innehåller någonting.
Ett enkelt sätt att komma runt problemet är att wrappa loopen i en if-sats som endast äntras om längden på strText är större än iPos2.
ja förstår inte vad du menar.
P Peter S Medlem sedan dec. 2002 5 483 inlägg Loopen stannar när villkoret iPos2 = Len(strText) är sant. Men det kommer aldrig att bli sant om strText inte innehåller något. Så en enkel fix är alltså att se till att loopen ej körs om längden på strText är <= iPos2:
if len(strText) > iPos2 then
Do Until iPos2 = Len(strText)
...
Loop
end if
E Eclipse Medlem sedan juli 2000 3 825 inlägg IF strText <> "" THEN strText = Replace(strText ,vbCrlf,"<br>")
P Peter S Medlem sedan dec. 2002 5 483 inlägg
Eclipse skrev:
IF strText <> "" THEN strText = Replace(strText ,vbCrlf,"<br>")
Fast den delen är det ju inga problem med. En Replace() på en tom sträng resulterar inte i något fel :)
akke Medlem sedan aug. 2008 27 inlägg
Peter S skrev:
Fast den delen är det ju inga problem med. En Replace() på en tom sträng resulterar inte i något fel :)
ja tror att problemet här
& " " & Mid(strText,iPos2,Len(strText)-iPos2+1)
E Eclipse Medlem sedan juli 2000 3 825 inlägg
Peter S skrev:
Fast den delen är det ju inga problem med. En Replace() på en tom sträng resulterar inte i något fel :)
Jag brukar få felmeddelanden då, men det kanske är i andra sammanhang.
Zaiman Medlem sedan dec. 2001 4 239 inlägg Kanske markera inlägget som lösningen på ditt problem ;) ?