---
title: "Hämta variabel från funktion"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/39643-hämta-variabel-från-funktion"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "skyman"
published: "2002-03-14T15:19:01.000Z"
updated: "2002-03-14T21:40:15.000Z"
replies: 7
views: 911
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/39643-hämta-variabel-från-funktion"
---

# Hämta variabel från funktion

## #1 — skyman, 2002-03-14T15:19Z

Hjälp.
Jag har en funktion och i den så laddas en läng sträng med html-kod som jag vill använda mig av i sidan på ett lämpligt ställe.

Ska det räcka med att definiera variabeln som public/global inne i funktionen för att jag ska kunna hämta den utanför? :q

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

## #2 — skyman, 2002-03-14T15:26Z

Smartarse skyman...  :e 

Jag definierade den som en public **utanför** funktionen så funkade det!!! :r

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

## #3 — LarsG, 2002-03-14T15:27Z

Det är ingen bra programmering att använda globala variabler. Låt funktionen returnera strängen

```
function buildHtml(p1,p2,p3)

buidHtml = "<html><body>" & p1 'etc

end function

htmlString = buildHtml("Hej","hopp","ditt")
```

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

## #4 — Pace, 2002-03-14T19:35Z

> *Ursprungligen av LarsG*  **Det är ingen bra programmering att använda globala variabler.**

Intressant det där. Jag har gjort ett forum som nu enbart kräver ett par smärre justeringar innan det är färdigt, och däri använder jag ett antal globala variabler som defineras i en include-fil som körs allra först på sidorna. Bör jag göra på något annat sätt (och finns det något annat sätt)?

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

## #5 — spango, 2002-03-14T21:17Z

Det finns alltid ett annat sätt. Globala variabler är Dåliga Saker och bör undvikas i största möjliga utsträckning, eftersom man i princip alltid kan använda något annat.
Vill man till exempel göra sin databaskoppling globalt åtkomlig utan globala variabler, kan man göra så här:

```
Dim myVerySecretDbConn
set myVerySecretDbConn = Nothing

Function getDbConnection()
    if myVerySecretDbConn = nothing then
        set myVerySecretDbConn = ' öppna databasen...
    end if
    getDbConnection = myVerySecretDbConn
End Function
```

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

## #6 — Pace, 2002-03-14T21:33Z

spango:
Okej. Jag har gjort detsamma med mina databaskopplingar, men det är inte där problemen ligger. Jag har inställningar (ex. namnet på forumet, antal trådar per forum som ska visas, e-mail adresser etc.) som körs i början av filerna. Kanske skulle man kunna göra något i stil med:

```
Function GetConfig(strConfigName)
   Dim strCfg

   Select Case Lcase(strConfigName)
      Case "forumname": strCfg = "Jehovas"
      Case "admin e-mail": strCfg = "god@jehovas.com"
      Case "threads per page": strCfg = 34
   End Select

   GetConfig = strCfg
End Function

strNameOfThisBloodyForum = GetConfig("forumname")
```

Finns det något bättre sätt? För det rör sig om ganska många inställningar.

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

## #7 — SPiN, 2002-03-14T21:36Z

Ännu ett annat sätt är att skicka med variablerna som argument, men som by reference. Då "slipper" funktionerna returnera något, men variabeln ändras ändå.

```
Sub Edit ( ByRef str )
     str = str & " Bajen!"
End Sub

Dim var
var = "Heja"
Edit ( var )
Response.Write var
```

Resulterar i:
Heja Bajen!

Eller SKA i.v.f. göra det.

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

## #8 — spango, 2002-03-14T21:40Z

Config-grejer är lite en annan sak, men det bästa är ju att använda konstanter (konstanter är Rätt Och Bra även om de är globala):

```
Const FORUM_NAME = "Jehovas"
Const ADMIN_EMAIL = "god@jehovas.org"
Const THREADPP = 34
```

Skälet till att man inte ska ha globala variabler är att om man ändrar värdet på den globala variabeln i en massa olika subbar/funktioner så blir det hemskt svårt att hitta felkällor m.m.. Man undviket inte bara globaler för att det är skoj ;)

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/39643-hämta-variabel-från-funktion
