Frågan 9 apr. 2002 14:04 #1 Jag undra om det finns något smidigare sätt att förminska denna kod:
lite info:
Globala filer eller privata filer? jag har gjort så att det ser olika ut på vissa ställen beror på om det e globalt eller privat... måste finnas ett "mindre" sätt att göra detta på...
if fileinfo("global") = true Then
gl = "Yes"
%>
<font class="text2"><%=fileinfo("name")%> (V<%=fileinfo("version")%>)</font><br>
<font class="text1"><%
Response.write "Copyright © "& year(Now) &" <a href=""acrive.asp?member=" & fileinfo("user") & """>"& fileinfo("user") & "</a>"
%><br>
Game:<br><img src="gfx/games/<%=konso%>.gif" height="16" width="16"><br>
<%=game%>
Global: <%=gl%><br>
Download: <a href="download.asp?file=<%=fileinfo("filename")%>">here</a>
<!-- #include virtual="voigtan/config/db/1.voi" -->100%<!-- #include virtual="voigtan/config/db/2.voi" -->
<% if right(fileinfo("filename"),3) = "fcf" then
Set fso = CreateObject("Scripting.FileSystemObject")
Set textStreamObject = fso.OpenTextFile(Server.MapPath("members") &"/"& fileinfo("user") & "/" & fileinfo("filename") ,1,false,0)
cfg = textStreamObject.ReadAll
length = Len(cfg)
For i = 0 to length
strKraft = (Left(cfg,(i)+1))
strKraft = (Right(strKraft, 1))
AllKraft = AllKraft &","& strKraft
Next
arrKraft = Split(AllKraft,",")
if arrKraft(3) = "2" then
Response.Write "DARK FORCE<br>"
else
Response.Write "LIGHT FORCE<br>"
end if
Response.Write arrKraft(6) &" - Jump<br>"
Response.Write arrKraft(8) &" - Push<br>"
Response.Write arrKraft(9) &" - Pull<br>"
Response.Write arrKraft(7) &" - Speed<br>"
if arrKraft(3) = "2" then
Response.Write "<font color=""#FF0000""><b>"
Response.Write arrKraft(11) &" - Grip<br>"
Response.Write arrKraft(18) &" - Drain<br>"
Response.Write arrKraft(12) &" - Lightning<br>"
Response.Write arrKraft(13) &" - Dark Rage<br>"
Response.Write "</font></b>"
else
Response.Write arrKraft(10) &" - En till kraft<br>"
Response.Write arrKraft(10) &" - En till kraft<br>"
Response.Write arrKraft(10) &" - En till kraft<br>"
Response.Write arrKraft(10) &" - En till kraft<br>"
end if
Response.Write arrKraft(20) &" - Saber Attack<br>"
Response.Write arrKraft(21) &" - Saber Defend<br>"
Response.Write arrKraft(22) &" - Saber Throw<br>"
Set textStreamObject = Nothing
Set fso = Nothing
%>
<% else %>
<%=Free(fil.ReadAll)%>
<% end if%>
<br><br><br>
<!-- #include virtual="voigtan/config/db/3.voi" -->
<!-- #include virtual="voigtan/config/db/addcom.voi" -->
<%
else
gl = "No, private"
if lcase(fileinfo("user"))=lcase(session("user")) Then %>
<font class="text2"><%=fileinfo("name")%> (V<%=fileinfo("version")%>)</font><br>
<font class="text1"><%
Response.write "Copyright © "& year(Now) &" <a href=""acrive.asp?member=" & fileinfo("user") & """>"& fileinfo("user") & "</a>"
%><br>
Game:<br><img src="gfx/games/<%=konso%>.gif" height="16" width="16"><br>
<%=game%>
Global: <%=gl%><br>
Download: <a href="download.asp?file=<%=fileinfo("filename")%>">here</a>
<!-- #include virtual="voigtan/config/db/1.voi" -->100%<!-- #include virtual="voigtan/config/db/2.voi" -->
<font face="Lucida Console" size="1px">
<% if right(fileinfo("filename"),3) = "fcf" then
Set fso = CreateObject("Scripting.FileSystemObject")
Set textStreamObject = fso.OpenTextFile(Server.MapPath("members") &"/"& fileinfo("user") & "/" & fileinfo("filename") ,1,false,0)
cfg = textStreamObject.ReadAll
length = Len(cfg)
For i = 0 to length
strKraft = (Left(cfg,(i)+1))
strKraft = (Right(strKraft, 1))
AllKraft = AllKraft &","& strKraft
Next
arrKraft = Split(AllKraft,",")
if arrKraft(3) = "2" then
Response.Write "DARK FORCE<br>"
else
Response.Write "LIGHT FORCE<br>"
end if
Response.Write arrKraft(6) &" - Jump<br>"
Response.Write arrKraft(8) &" - Push<br>"
Response.Write arrKraft(9) &" - Pull<br>"
Response.Write arrKraft(7) &" - Speed<br>"
if arrKraft(3) = "2" then
Response.Write "<font color=""#FF0000""><b>"
Response.Write arrKraft(11) &" - Grip<br>"
Response.Write arrKraft(18) &" - Drain<br>"
Response.Write arrKraft(12) &" - Lightning<br>"
Response.Write arrKraft(13) &" - Dark Rage<br>"
Response.Write "</font></b>"
else
Response.Write arrKraft(10) &" - En till kraft<br>"
Response.Write arrKraft(10) &" - En till kraft<br>"
Response.Write arrKraft(10) &" - En till kraft<br>"
Response.Write arrKraft(10) &" - En till kraft<br>"
end if
Response.Write arrKraft(20) &" - Saber Attack<br>"
Response.Write arrKraft(21) &" - Saber Defend<br>"
Response.Write arrKraft(22) &" - Saber Throw<br>"
Set textStreamObject = Nothing
Set fso = Nothing
%>
<% else %>
<%=Free(fil.ReadAll)%>
<% end if%>
</font>
<!-- #include virtual="voigtan/config/db/3.voi" -->
<% else %>
This file can be private or it have been deleted
<%
End If
End If
end if
%>
C Careca Medlem sedan apr. 2002 36 inlägg Du kan ju börja med att minska följande typ av kodning
Response.Write "<font color=""#FF0000""><b>"
Response.Write arrKraft(11) &" - Grip<br>"
Response.Write arrKraft(18) &" - Drain<br>"
Response.Write arrKraft(12) &" - Lightning<br>"
Response.Write arrKraft(13) &" - Dark Rage<br>"
till...
Response.Write _
"<font color=""#FF0000""><b>" &_
arrKraft(11) &" - Grip<br>" &_
arrKraft(18) &" - Drain<br>" &_
arrKraft(12) &" - Lightning<br>" &_
arrKraft(13) &" - Dark Rage<br>"
ja jag vet.. men det e inte det som stör mej... måste man har typ 30 sidor extra kod för att få en privat Fil????
ska man kanske göra det i en include fil?
S solbulle Medlem sedan mars 2001 5 287 inlägg I mina ögon är de båda styckena i det närmaste identiska!?! Vad är skillnaden?
S solbulle Medlem sedan mars 2001 5 287 inlägg Vad vet jag? Detta kan ju fungera... kanske en början?
if fileinfo("global") = true Then
gl = "Yes"
else
gl = "No, private"
End If
%>
<font class="text2"><%=fileinfo("name")%> (V<%=fileinfo("version")%> )</font><br>
<font class="text1"><%
Response.write "Copyright © "& year(Now) &" <a href=""acrive.asp?member=" & fileinfo("user") & """>"& fileinfo("user") & "</a>"
%>
<br>Game:<br><img src="gfx/games/<%=konso%>.gif" height="16" width="16"><br>
<%=game%>
Global: <%=gl%><br>
Download: <a href="download.asp?file=<%=fileinfo("filename")%>">here</a>
<!-- #include virtual="voigtan/config/db/1.voi" -->
100%
<!-- #include virtual="voigtan/config/db/2.voi" -->
<%
If lcase(fileinfo("user"))=lcase(session("user")) Then
Response.write "<font face='Lucida Console' size='1px'>"
fontend ="</font>"
Else
fontend ="<br><br><br>"
End If
if right(fileinfo("filename"),3) = "fcf" then
Set fso = CreateObject("Scripting.FileSystemObject")
Set textStreamObject = fso.OpenTextFile(Server.MapPath("members") &"/"& fileinfo("user") & "/" & fileinfo("filename") ,1,false,0)
%>
cfg = textStreamObject.ReadAll
length = Len(cfg)
For i = 0 to length
strKraft = (Left(cfg,(i)+1))
strKraft = (Right(strKraft, 1))
AllKraft = AllKraft &","& strKraft
Next
arrKraft = Split(AllKraft,",")
if arrKraft(3) = "2" then
Response.Write "DARK FORCE<br>"
else
Response.Write "LIGHT FORCE<br>"
end if
Response.Write arrKraft(6) &" - Jump<br>"
Response.Write arrKraft(8) &" - Push<br>"
Response.Write arrKraft(9) &" - Pull<br>"
Response.Write arrKraft(7) &" - Speed<br>"
if arrKraft(3) = "2" then
Response.Write "<font color=""#FF0000""><b>"
Response.Write arrKraft(11) &" - Grip<br>"
Response.Write arrKraft(18) &" - Drain<br>"
Response.Write arrKraft(12) &" - Lightning<br>"
Response.Write arrKraft(13) &" - Dark Rage<br>"
Response.Write "</font></b>"
else
Response.Write arrKraft(10) &" - En till kraft<br>"
Response.Write arrKraft(10) &" - En till kraft<br>"
Response.Write arrKraft(10) &" - En till kraft<br>"
Response.Write arrKraft(10) &" - En till kraft<br>"
end if
Response.Write arrKraft(20) &" - Saber Attack<br>"
Response.Write arrKraft(21) &" - Saber Defend<br>"
Response.Write arrKraft(22) &" - Saber Throw<br>"
Set textStreamObject = Nothing
Set fso = Nothing
else %>
<%=Free(fil.ReadAll)%>
<% =fontend %>
<!-- #include virtual="voigtan/config/db/3.voi" -->
<%
If lcase(fileinfo("user"))=lcase(session("user")) Then
%>
<!-- #include virtual="voigtan/config/db/addcom.voi" -->
<% else
Response.write "This file can be private or it have been deleted"
End If
%>
men om den e privat så ska den BARA visas för sej själv.. och om den e global så ska även addcom.voi komma med.. typ...
Pace Medlem sedan juni 2001 9 024 inlägg De sista raderna...
End If
End If
end if
... säger inte lite om strukturen. Du nestlar in dig i IF satser som man inte får överblick över. Se till att strukturera om och använd gärna subbar & funktioner istället så man ser vad det är du håller på med.
Indentera koden också så att man kan skilja på de olika kodbitarna:
Sub Blaha(foo)
yes = foo
If yes = foo Then
foo = no
End If
End Sub
[i][FONT=Verdana]istället för:[/FONT] [/i]
Sub Blaha(foo)
yes = foo
If yes = foo Then
foo = no
End If
End Sub