---
title: "Göra om kod till sub?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/56683-göra-om-kod-till-sub"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "trexter.com"
published: "2002-10-21T14:21:41.000Z"
updated: "2002-10-21T16:37:43.000Z"
replies: 4
views: 208
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/56683-göra-om-kod-till-sub"
---

# Göra om kod till sub?

## #1 — trexter.com, 2002-10-21T14:21Z

Jag har aldrig använt det förrut men tänkte att det är på tiden att börja "kapsla in" koden lite...
Jag har gjort början på ett enkelt omröstningsscript (fritt fram att ta om ni vill) och vill nu göra en subrutin av det.
Hur gör jag? Hur kallar jag den? Var hamnar det genererade reslutatet? Där jag kallat den eller där den ligger?

 

```
<%
' Plockar ut frågan till omröstningen
strSQL = "SELECT TOP 1 * From Poll_questions ORDER BY id DESC"			
Set RecSet = Connect.Execute(strSQL)
' Om det finns frågor i databasen	
IF NOT RecSet.EOF THEN
	' Tanka över posterna i RecordSetet till en array
	arrRecords = RecSet.GetRows
	' Stänger RecordSetet eftersom det inte behövs (infon finns i arrayen).
	RecSet.Close
	Set RecSet = Nothing
	'IF ISArray(arrRecords) THEN <-- kan man dubbelkolla med men behövs ej...
		' Plockar ut svaren som hör till frågan (genom arrayen)
		strSQL = "SELECT * From Poll_answers WHERE attachment = " & arrRecords(0,0) & " ORDER BY name"
		Set RecSet = Connect.Execute(strSQL)
		If NOT RecSet.EOF Then
		arrRecords2 = RecSet.GetRows
		RecSet.Close
		Set RecSet = Nothing
		' Skriver ut frågan.
		Response.Write arrRecords(1,0) & "<br>"
		' Summerar summan av hur många gggr. folk röstat på de olika svaren.
		summan = arrRecords2(2,0) + arrRecords2(2,1)
		' Loopar igenom arrayen med info, 2 i slutet står för att den är tvådimensionell.
		For I=0 to UBound(arrRecords2,2)
		%>
			<a href="rosta.asp?question=<%=ID%>&answer=<%=arrRecords2(0,I)%>"><%=arrRecords2(1,I)%></a>
			<br />
			<img src="grafik/design_ritat/stapel1.gif" border="0" width="<%=Round(300*(arrRecords2(2,I) / summan), 0)%>" height="2" />
			<br />
			<%=Round(100*(arrRecords2(2,I) / summan), 0)%>%
			<br />
			<%
		Next
		Response.Write "Antal svar:" & summan	
		Else
		Response.Write "Fel uppstod"
		End IF		
Else
	Response.Write "Finns inga poster i databasen."
	RecSet.Close
	Set RecSet = Nothing
End If
		%>
```

Ser koden för övrigt bra ut?

 :)

Permalänk: https://www.webforum.nu/p/56683

## #2 — Denniz PoP, 2002-10-21T15:10Z

Du använder en funktion genom att först skriva koden du vill använda i funktionen:

```
Function MyFunction
  response.write("Detta är min funktion!")
  ' Övrig kod!
End Function
```

Sedan anropar du koden på ett helt annat ställe genom att skriva:

```
Call MyFunction
```

På så sätt kan man "återanvända" kod och skapa renare strukturer.

Permalänk: https://www.webforum.nu/p/829320

## #3 — trexter.com, 2002-10-21T15:16Z

Ok.. men jag vill inte göra en funktion. En subrutin. Gör jag på samma sätt? \*testar\*

 :)

Permalänk: https://www.webforum.nu/p/829326

## #4 — trexter.com, 2002-10-21T15:22Z

.

Permalänk: https://www.webforum.nu/p/829333

## #5 — solbulle, 2002-10-21T16:37Z

> **Denniz PoP skrev:**
>
> Du använder en funktion genom att först skriva koden du vill använda i funktionen:
> 
>
>
> ```
> Function MyFunction
>   response.write("Detta är min funktion!")
>   ' Övrig kod!
> End Function
> ```
>
> 
> 
> Sedan anropar du koden på ett helt annat ställe genom att skriva:
> 
>
>
> ```
> Call MyFunction
> ```
>
> 
> 
> På så sätt kan man "återanvända" kod och skapa renare strukturer.

Skulle vilja säga att det där var ett utmärkt exempel på just en sub.
Ändra till:

```
Sub MySub(namn)
  response.write "Detta är min funktion!" & namn
  ' Övrig kod!
End Sub
```

```
Call MySub("Nisse")
```

Om det ska vara en funktion så skall den returnera något, typ:

```
Function MyFunction(namn)
  MyFunction= "Detta är min funktion!" & namn
  ' Övrig kod!
End Function
```

response.write MyFunction("Nisse")

Permalänk: https://www.webforum.nu/p/829411

---

Tråden på webben: https://www.webforum.nu/amne/asp/56683-göra-om-kod-till-sub
