---
title: "Någon som vet hur dom har gjort?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/124087-någon-som-vet-hur-dom-har-gjort"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "voigtann1"
published: "2005-03-10T08:08:09.000Z"
updated: "2005-03-11T19:18:34.000Z"
replies: 7
views: 430
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/124087-någon-som-vet-hur-dom-har-gjort"
---

# Någon som vet hur dom har gjort?

## #1 — voigtann1, 2005-03-10T08:08Z

hittade en applikation: <http://www.ultraapps.com/freecommunitywebportal.html>

där dom har {variable} och som fungera rätt bra tycker jag.. har provat och försökt hitta just hur man gör det för att få igång en liknande sak själv utan något resultat. Skulle bli hyper glad om någon kunde hjälpa mig. 

lite av koden är:

```
Set DBlocks = Server.CreateObject("Scripting.Dictionary")
Function SetVar(sName, sValue)
  if ParsedBlocks.Exists(sName) then
    ParsedBlocks(sName) = replace(replace(sValue, "{", "&#123;"), "}", "&#125;")
  else
    ParsedBlocks.add sName, replace(replace(sValue, "{", "&#123;"), "}", "&#125;")
  end if
End Function
```

har försökt det mesta att hitta just koden och förstå mig på den... men utan något resultat :(

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

## #2 — Engine^, 2005-03-10T12:19Z

Vad är det du ska förstå?

Och varför i hela friden görs replace-delarna? Det är ju samma som

```
if ParsedBlocks.Exists(sName) then
  ParsedBlocks(sName) = sValue
else
  ParsedBlocks.Add sName, sValue
end if
```

Det funktionen gör är att den lägger till eller uppdaterar data i ett dictionary object.

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

## #3 — Erik Juhlin, 2005-03-10T12:21Z

Eller:

```
ParsedBlocks(sName) = sValue
```

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

## #4 — voigtann1, 2005-03-10T20:27Z

{ är : & #123;
... men dom har men jag får inte om vi säger :
SetVar "datum", date()

så om man skriver {datum} så skrivs date() ut.. problem 2 är att göra så att den läser av filen och gör checks... jag har gjort just nu split på { men om jag kan lista ut hur dom har gjort gör det smidigare.

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

## #5 — Erik Juhlin, 2005-03-11T09:56Z

Något sånt här kan man göra:

```
<%
Option Explicit

Class Template
	
	Dim dicVar
	
	Private Sub Class_Initialize()
		Set dicVar = Server.CreateObject("Scripting.Dictionary")
		dicVar.CompareMode = 1
	End Sub
	
	Private Sub Class_Terminate()
		Set dicVar = Nothing
	End Sub
	
	Public Sub SetTemplateVariable(sName, sValue)
		dicVar(sName) = sValue
	End Sub
	
	Public Function MergeTextWithTemplate(sText)
		Dim k
		
		For Each k In dicVar.Keys
			sText = Replace(sText, "{" & k & "}", dicVar(k), 1, -1, 1)
		Next 'k
		
		MergeTextWithTemplate = sText
	End Function
	
End Class

Dim sTextFromDB
sTextFromDB = "Hej, dagens datum är: {datum}"

Dim objTemplate
Set objTemplate = New Template

objTemplate.SetTemplateVariable "datum", Date

Response.Write objTemplate.MergeTextWithTemplate(sTextFromDB)

Set objTemplate = Nothing
%>
```

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

## #6 — voigtann1, 2005-03-11T17:52Z

hmm.. tror detta kan fugera.. dock har jag templaten i filer (\*.skn) fil... men det bör inte vara några problem.. read.all eller något sånt?

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

## #7 — Erik Juhlin, 2005-03-11T18:55Z

Jo, textfromdb-variablen får hämtas från en fil istället. :)

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

## #8 — Erik Juhlin, 2005-03-11T19:18Z

Ett sätt man skulle kunna integrera filhämtningen...

```
<%
Option Explicit

Class Template
	
	Private sTemplateBasePath
	Private dicVar
	
	Private Sub Class_Initialize()
		sTemplateBasePath = "E:\Projects\wF"
		Set dicVar = Server.CreateObject("Scripting.Dictionary")
		dicVar.CompareMode = 1
	End Sub
	
	Private Sub Class_Terminate()
		Set dicVar = Nothing
	End Sub
	
	Public Sub SetTemplateVariable(sName, sValue)
		dicVar(sName) = sValue
	End Sub
	
	Public Function MergeTextWithTemplate(sTemplateName)
		Dim fso, tso, sText, k
		
		Set fso = Server.CreateObject("Scripting.FileSystemObject")
		Set tso = fso.OpenTextFile(sTemplateBasePath & "\" & sTemplateName & ".skn")
		Set fso = Nothing
		sText = tso.ReadAll
		Set tso = Nothing
		
		For Each k In dicVar.Keys
			sText = Replace(sText, "{" & k & "}", dicVar(k), 1, -1, 1)
		Next 'k
		
		MergeTextWithTemplate = sText
	End Function
	
End Class

Dim objTemplate
Set objTemplate = New Template

objTemplate.SetTemplateVariable "datum", Date

Response.Write objTemplate.MergeTextWithTemplate("template")

Set objTemplate = Nothing
%>
```

template.skn:

```
Hej, dagens datum är: {datum}
```

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/124087-någon-som-vet-hur-dom-har-gjort
