webForumDet fria alternativet

Classer

6 svar · 308 visningar · startad av pirro

pirroMedlem sedan aug. 2001226 inlägg
#1

Hallo!
Leker lite med classer.
Men när ja har gjort :

Public Function Fixxa(strKey,strVar, bolBrFix)
		if strFile then
			if bolBrFix = true then
				strFile = Replace(Replace(strFile,"{" & strKey & "}",strVar),vbcrlf,"<br>" & vbcrlf)
			else
				strFile = Replace(strFile,"{" & strKey & "}",strVar)
			end if
		end if
	end function

och sedan försökt med
objHej.Fixxa("hej","då",false)
men de fungerar inte...

felmeddelande:
Det går inte att använda parenteser när en Sub anropas.
/per/testa/Default.asp, line 5, column 37

jojo visst... men ja anser de inte vara en sub ;P
sen så undrar jag då.. Hur lyckats man med detta?
/Pirro

UlfTMedlem sedan maj 20018 027 inlägg
#2

Sub eller ej, du använder den i vart fall som en sub eftersom du inte returnerar något. Du hade alltså lika gärna kunnat deklarera den som en sub.

Hur som helst, prova att anropa på följande vis:

objHej.Fixxa "hej", "då", false

OveRRidEMedlem sedan feb. 200112 078 inlägg
#3

Om man skall anropa sub:ar med paranteser, måste du ha Call framför anropet, annars får du göra som UlfT skrev, alltså anropa utan paranteser.

Föredraget är väl att inte använda paranteser, då man slipper Call.

PatrikBMedlem sedan mars 20002 836 inlägg
#4

Pirro!

om du nu ska jobba med klasser tycker jag att man ska arbeta med dem på "rätt" sätt.
Som du nu har metoden Fixxa() i din klass så är den inte speciellt dynamisk då den alltid ändrar en fast variabel som finns utanför klassen (strFile). Om du istället lägger till strFile som ett argument och sedan returnerar det "fixxade" värdet så blir denna metod klart mer skalbar.

Public Function Fixxa(strKey,strVar, bolBrFix, strFile)
	if strFile then
		if bolBrFix = true then
			strFile = Replace(Replace(strFile,"{" & strKey & "}",strVar),vbcrlf,"<br>" & vbcrlf)
		else
			strFile = Replace(strFile,"{" & strKey & "}",strVar)
		end if
	end if
	Fixxa = strFile
end function

'## -- används så här --
minTempVariabel = objObject.Fixxa("en sträng", "en", True, "En Sträng Till")

cya,
PatrikB

pirroMedlem sedan aug. 2001226 inlägg
#5

Tjenare mrWize!

Jo men alltså... den lagras i en annan procedur.
/Pirro

PatrikBMedlem sedan mars 20002 836 inlägg
#6

OK,
Men .... om du nu skulle vilja "fixxa" till en annan variabel då? ska du då skriva en ny metod för det? Låter krångligt. Återanvändning är alltid bra .... dvs, försök att skriva metoderna så generella som möjligt så kan denna metod användas för alla variabler som behöver "fixxas" till

cya,
PatrikB

pirroMedlem sedan aug. 2001226 inlägg
#7

men alltså... detta är en template class

over and out. Pirro

131 ms totalt · 3 externa anrop · v20260731065814-full.30151723
129 ms — hämta forumlista (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)