webForumDet fria alternativet

Problem med Replace

6 svar · 242 visningar · startad av Mika3l

Mika3lMedlem sedan nov. 20013 776 inlägg
#1

Hejsan!

Jag har fått problem med en Replace funktion!
Någon som kan hjälpa?

Felmeddelande:

Körningsfel i Microsoft VBScript (0x800A005E)
Ogiltig användning av Null: 'Replace'
minsida.asp, line 4

minsida.asp(rad 4 är blå)

<%
Function fixa(str)
fixa = Replace(str,"[1]","<font size=1>")
[blue]fixa = Replace(str,"[/1]","</font>")[/blue]
fixa = Replace(str,"[2]","<font size=2>")
fixa = Replace(str,"[/2]","</font>")
fixa = Replace(str,"[3]","<font size=3>")
fixa = Replace(str,"[/3]","</font>")
fixa = Replace(str,"[4]","<font size=4>")
fixa = Replace(str,"[/4]","</font>")
fixa = Replace(str,"[5]","<font size=5>")
fixa = Replace(str,"[/5]","</font>")
fixa = Replace(str,"[6]","<font size=6>")
fixa = Replace(str,"[/6]","</font>")
fixa = Replace(str,"[verdana]","<font face=Verdana>")
fixa = Replace(str,"[/verdana]","</font>")
fixa = Replace(str,"[arial]","<font face=Arial>")
fixa = Replace(str,"[/arial]","</font>")
fixa = Replace(str,"[seriff]","<font face=MS Sans Seriff>")
fixa = Replace(str,"[/seriff]","</font>")
fixa = Replace(str,"[halvetica]","<font face=Halvetica>")
fixa = Replace(str,"[/halvetica]","</font>")
End Function

user = Trim(Request.QueryString("user"))
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "Driver={Microsoft Access Driver (*.mdb)}; dbq=" & Server.MapPath("sida.mdb")
Set kolla1 = Connection.Execute("SELECT user FROM mall1 WHERE user = '" & user & "'")
If NOT kolla1.EOF Then
Set rs = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT * FROM mall1 WHERE user = '" & user & "'"
rs.Open SQL, Connection
%>
<html>
<head>
<title><%=user%>´s sida</title>
</head>
<body bgcolor="<%=rs("bgcolor")%>">

<center><font face="<%=rs("rubfont")%>" size="<%=rs("rubstorlek")%>" color="<%=rs("rubfarg")%>"><%=rs("rubrik")%></font></center>
<table align="center" cellpadding="2">
 <tr valign="top">
  <td width="300" bgcolor="<%=rs("bildtdfarg")%>">
<img src="<%=rs("bildurl")%>">
  </td>
   <td width="480" bgcolor="<%=rs("vtexttdfarg")%>">
<font color="<%=rs("vtexttextfarg")%>">
<%=fixa(rs("vtext"))%>
</font>
  </td>
 </tr>
 <tr valign="top">
  <td width="300" bgcolor="<%=rs("lanktdfarg")%>">
<center><h3>Länkar</h3></center>
<br>
<font size="<%=rs("lankstorlek")%>">
<%
If NOT rs("adress1") = "" OR rs("adress1") = "http://" Then %>
<a href="<%=rs("adress1")%>" target="_blank" style="color: <%=rs("lankfarg")%>;"><% If rs("lanktext1") <> "" Then %><%=rs("lanktext1")%><% Else %><%=rs("adress1")%><% End If %></a><br>
<%
End If
If NOT rs("adress2") = "" OR rs("adress2") = "http://" Then %>
<a href="<%=rs("adress2")%>" target="_blank" style="color: <%=rs("lankfarg")%>;"><% If rs("lanktext2") <> "" Then %><%=rs("lanktext2")%><% Else %><%=rs("adress2")%><% End If %></a><br>
<%
End If
If NOT rs("adress3") = "" OR rs("adress3") = "http://" Then %>
<a href="<%=rs("adress3")%>" target="_blank" style="color: <%=rs("lankfarg")%>;"><% If rs("lanktext3") <> "" Then %><%=rs("lanktext3")%><% Else %><%=rs("adress3")%><% End If %></a><br>
<%
End If
If NOT rs("adress4") = "" OR rs("adress4") = "http://" Then %>
<a href="<%=rs("adress4")%>" target="_blank" style="color: <%=rs("lankfarg")%>;"><% If rs("lanktext4") <> "" Then %><%=rs("lanktext4")%><% Else %><%=rs("adress4")%><% End If %></a><br>
<%
End If
If NOT rs("adress5") = "" OR rs("adress5") = "http://" Then %>
<a href="<%=rs("adress5")%>" target="_blank" style="color: <%=rs("lankfarg")%>;"><% If rs("lanktext5") <> "" Then %><%=rs("lanktext5")%><% Else %><%=rs("adress5")%><% End If %></a><br>
<% End If %>
  </td>
  <td width="480" bgcolor="<%=rs("frittfalttdfarg")%>">
<%=fixa(rs("frittfalt"))%>
  </td>
 </tr>
</table>

</body>
</html>

<%
kolla1.Close
Set kolla1 = Nothing
End If
%>

Om ni undrar över kolla1 och ifsatsen så kommer jag lägga till flera senare...

Tacksam för svar!

/Mika3l

PaceMedlem sedan juni 20015 947 inlägg
#2

Kontrollera om "str" är null innan du gör en replace på den.

Function fixa(str)
[red]If isNull(str) Or isEmpty(str) Or str = "" Then
Exit Function
End If[/red]

str = Replace(str,"[1]","<font size=1>")
str = Replace(str,"[/1]","</font>")
str = Replace(str,"[2]","<font size=2>")
str = Replace(str,"[/2]","</font>")
str = Replace(str,"[3]","<font size=3>")
str = Replace(str,"[/3]","</font>")
str = Replace(str,"[4]","<font size=4>")
str = Replace(str,"[/4]","</font>")
str = Replace(str,"[5]","<font size=5>")
str = Replace(str,"[/5]","</font>")
str = Replace(str,"[6]","<font size=6>")
str = Replace(str,"[/6]","</font>")
str = Replace(str,"[verdana]","<font face=Verdana>")
str = Replace(str,"[/verdana]","</font>")
srt = Replace(str,"[arial]","<font face=Arial>")
str = Replace(str,"[/arial]","</font>")
str = Replace(str,"[seriff]","<font face=MS Sans Seriff>")
str = Replace(str,"[/seriff]","</font>")
str = Replace(str,"[halvetica]","<font face=Halvetica>")
fixa = Replace(str,"[/halvetica]","</font>")
End Function
Mika3lMedlem sedan nov. 20013 776 inlägg
#3

Det fungerade inte heller...
Får samma felmeddelande fast nu är det fixa = Replace(str,"","<font size=1>") som spökar.

Function fixa(str)
If isNull(str) Or isEmpty(str) Or str = "" Then
Exit Function
End If

fixa = Replace(str,"[1]","<font size=1>")
fixa = Replace(str,"[/1]","</font>")
fixa = Replace(str,"[2]","<font size=2>")
fixa = Replace(str,"[/2]","</font>")
fixa = Replace(str,"[3]","<font size=3>")
fixa = Replace(str,"[/3]","</font>")
fixa = Replace(str,"[4]","<font size=4>")
fixa = Replace(str,"[/4]","</font>")
fixa = Replace(str,"[5]","<font size=5>")
fixa = Replace(str,"[/5]","</font>")
fixa = Replace(str,"[6]","<font size=6>")
fixa = Replace(str,"[/6]","</font>")
fixa = Replace(str,"[verdana]","<font face=Verdana>")
fixa = Replace(str,"[/verdana]","</font>")
fixa = Replace(str,"[arial]","<font face=Arial>")
fixa = Replace(str,"[/arial]","</font>")
fixa = Replace(str,"[seriff]","<font face=MS Sans Seriff>")
fixa = Replace(str,"[/seriff]","</font>")
fixa = Replace(str,"[halvetica]","<font face=Halvetica>")
fixa = Replace(str,"[/halvetica]","</font>")
End Function

/Mika3l

PaceMedlem sedan juni 20015 947 inlägg
#4

Du kan inte spara resultatet till funktionen innan du är klar.

fixa = Replace(str,"[1]","<font size=1>")
bör vara --->
str = Replace(str,"[1]","<font size=1>")
på alla utom den sista.

Mika3lMedlem sedan nov. 20013 776 inlägg
#5

Fungerade inte nu heller! :( x( :l

Skickar väl koden igen...

Function fixa(str)
If isNull(str) Or isEmpty(str) Or str = "" Then
Exit Function
End If

str = Replace(str,"[1]","<font size=1>")
str = Replace(str,"[/1]","</font>")
str = Replace(str,"[2]","<font size=2>")
str = Replace(str,"[/2]","</font>")
str = Replace(str,"[3]","<font size=3>")
str = Replace(str,"[/3]","</font>")
str = Replace(str,"[4]","<font size=4>")
str = Replace(str,"[/4]","</font>")
str = Replace(str,"[5]","<font size=5>")
str = Replace(str,"[/5]","</font>")
str = Replace(str,"[6]","<font size=6>")
str = Replace(str,"[/6]","</font>")
str = Replace(str,"[verdana]","<font face=Verdana>")
str = Replace(str,"[/verdana]","</font>")
srt = Replace(str,"[arial]","<font face=Arial>")
str = Replace(str,"[/arial]","</font>")
str = Replace(str,"[seriff]","<font face=MS Sans Seriff>")
str = Replace(str,"[/seriff]","</font>")
str = Replace(str,"[halvetica]","<font face=Halvetica>")
fixa = Replace(str,"[/halvetica]","</font>")
End Function

Felet ligger på samma rad som förut.

/Mika3l

@ndersMedlem sedan juni 200026 914 inlägg
#6

Ok, jag gör väl ett försök då. ;)

Jag förstår inte varför felet inträffar, dock.

Function fixa(str)
str = "" & str
str = Replace(str,"[1]","<font size=1>")
str = Replace(str,"[/1]","</font>")
str = Replace(str,"[2]","<font size=2>")
str = Replace(str,"[/2]","</font>")
str = Replace(str,"[3]","<font size=3>")
str = Replace(str,"[/3]","</font>")
str = Replace(str,"[4]","<font size=4>")
str = Replace(str,"[/4]","</font>")
str = Replace(str,"[5]","<font size=5>")
str = Replace(str,"[/5]","</font>")
str = Replace(str,"[6]","<font size=6>")
str = Replace(str,"[/6]","</font>")
str = Replace(str,"[verdana]","<font face=Verdana>")
str = Replace(str,"[/verdana]","</font>")
srt = Replace(str,"[arial]","<font face=Arial>")
str = Replace(str,"[/arial]","</font>")
str = Replace(str,"[seriff]","<font face=MS Sans Seriff>")
str = Replace(str,"[/seriff]","</font>")
str = Replace(str,"[halvetica]","<font face=Halvetica>")
fixa = Replace(str,"[/halvetica]","</font>")
End Function

Jag noterade också att du stavat fel på Helvetica, men det har nog knappast med felmeddelandet att göra. ;)

Mvh,

Mika3lMedlem sedan nov. 20013 776 inlägg
#7

Tack @nders!
Nu fungerade det äntligen! :)

Jag noterade också att du stavat fel på Helvetica, men det har nog knappast med felmeddelandet att göra.

Ojsan, det blir och ändra!
Hal vet ica ;)

/Mika3l

Genererad på 375 ms · cache AV · v20260730165559-full.f96bc7eb