Jag glömde självklart att bifoga zip-filen. :OO
Hej!
Har fått frågor om en komponent och klass som jag gjorde för länge, länge sedan. Komponenten kallade jag då för Command, och klassen som efterfrågades var en template-klass. I komponenten ligger lite fler klasser, en kalender-klass, en logg-klass samt en databas-klass. Jag har ingen aning om ifall de fungerar eller inte, men jag har för mig att de fungerade för en sisådär 2-3 år sedan. :)
I Zip-filen ligger det 9 filer, där alla utom en hör till ActiveX-dll-projektet. Den nionde filen är en färdigkompilerad dll-fil, där alla klassern till komponenten finns med ( Tror jag... ). Känner du att det är säkrare att kompilera källkoden själv, vilket jag skulle ha tyckt ;), men inte vet hur man gör - sök i ASP/VBScript-forumet där det har disskuterats en del om komponenter.
Command.Template
Exempel på användning:
MyTemplate.tpl
<html>
<head>
<title>{PAGE_TITLE}</title>
</head>
<body>
<h1>{PAGE_HEADER}</h1><br /><br />
Välkommen!<br />
<i>{PAGE_CONTENT}</i><br /><br />
<small>{PAGE_FOOTER}</small>
</body>
</html>
MyASP.asp
<%
Dim objTpl
Dim strTitle, strHeader, strContent
strTitle = "Min sida"
strHeader = "Min sidas rubrik"
strContent = "Här är min sidas innehåll! Håll till godo!"
set objTpl = Server.CreateObject( "Command.Template" )
objTpl.OpenTpl "MyTemplate.tpl"
objTpl.setValue "PAGE_TITLE", strTitle
objTpl.setValue "PAGE_HEADER", strHeader
objTpl.setValue "PAGE_CONTENT", strContent
objTpl.noValue "PAGE_FOOTER"
objTpl.Present
set objTpl = Nothing
%>
Den parsade sidan som skickas till klienten:
<html>
<head>
<title>Min sida</title>
</head>
<body>
<h1>Min sidas rubrik</h1><br /><br />
Välkommen!<br />
<i>Här är min sidas innehåll! Håll till godo!</i><br /><br />
<small></small>
</body>
</html>
Metoder & funktioner i klassen Template
OpenTpl( String ) - Öppnar den angivna filen som template-fil. Filnamnet och sökväg skickas som parameter.
setValue( String, String ) - Byter ut en nyckel i template-filen mot valfritt värde. Nyckelnamnet är första parametern och värdet som ska ersätta nyckeln är andra parametern.
noValue( String ) - Om en nyckel inte ska sättas, utan tas bort, anges nyckeln som parameter till metoden.
Present( void ) - Skriver ut template-filen till klienten. Notera att du inte ska använda dig av Response.Write i ditt ASP-dokument.
De övriga klasserna ger jag inga exempel till, de får ni gissa er till. ;)
Frågor och dylikt. kan ställas i tråden: http://www.webforum.nu/showthread.php?s=&postid=71409