webForumDet fria alternativet

Mycket kod för lite

ASP

6 svar · 322 visningar · startad av voigtann1

Medlem sedan juni 20019 519 inlägg
Frågan#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
%>
Medlem sedan apr. 200236 inlägg
#2

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>"
Medlem sedan juni 20019 519 inlägg
#3

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?

Medlem sedan mars 20015 287 inlägg
#4

I mina ögon är de båda styckena i det närmaste identiska!?! Vad är skillnaden?

Medlem sedan mars 20015 287 inlägg
#5

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 
%>
Medlem sedan juni 20019 519 inlägg
#6

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

Medlem sedan juni 20019 024 inlägg
#7

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
263 ms totalt · 4 externa anrop · v20260731065814-full.2f471f9e
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)