Halåjs!
Fundering: kan man skicka tillbaka fler än ett värde från en function?
Skulle behöva typ:
Function doStuff(par1, par2, par3)
'Gör lite olika roliga saker
doStuff = true, blabliblobla
End Function
7 svar · 278 visningar · startad av doggelito
Halåjs!
Fundering: kan man skicka tillbaka fler än ett värde från en function?
Skulle behöva typ:
Function doStuff(par1, par2, par3)
'Gör lite olika roliga saker
doStuff = true, blabliblobla
End Function
Du kan använda ByRef-parametrar i interfacet.
Function doStuff(ByVal var1, ByRef var2)
'Gör lite olika roliga saker
var2 = "ettellerannat"
doStuff = true
End Function
Ungefärligen.
Mvh,
aha, behöver man inte använda funktionsnamnet för att skicka tillbaka värden alltså!
kan man skriva:
Function doStuff(ByVal var1, ByRef var2)
'Gör lite olika roliga saker
var1 = "hej vare går"
var2 = "ettellerannat"
End Function
fast med byref då så klart och inte byval som jag skrev ovan. :)
En funktion skall inte ha några sidoeffekter.
Om du vill returnera flera värden så
stoppa in dom i en array och returnera den
eller
använd en sub
yes maza!
vid sub, gör man då enligt förslagen ovan, eller hur returnerar man då?
LarsG skrev:
En funktion skall inte ha några sidoeffekter.
Det där gäller ju inte generellt iaf, jag programmerar SML på kursen jag går och där utnyttjar man "side-effects" ibland.
I detta fall har du säkert rätt.
Hur bör jag bygga i detta cenario:
Jag har ett formulär på en asp-sida där man laddar upp en bild samt lägger in text i databas.
Jag vill inte bygga ihop bild och text till en sub utan vill ha dem separerad utifall jag bara vill skicka upp en bild nån gång eller bara vill skriva in text, alltså:
Sub Upload_file()
Filename = Upload.Form(File)
If Not Filename = "" Then
[i]'Uppladdningsscript[/i]
End If
End Sub
Sub Insert_text()
[i]'Lägger in text med bla. filnamnet från sub ovan, men hur?[/i]
End Sub
För att få in filnamnet så lär jag väl skicka in det som en
parameter i Insert_text men eftersom en sub inte returnerar
något så bör väl Upload_file vara en function istället, eller?
Hur åtgärdar jag om Filname är "", då körs inte uploadscriptet och
då ska heller inte inserten köras, min tanke var:
Function Upload_file()
isOk = False
Filename = Upload.Form(File)
If Not Filename = "" Then
isOk = True
[i]'Uppladdningsscript[/i]
End If
Upload_file = isOk, Filename
End Function
If Upload_file Then Call Insert_text(Filename)
Så här får man ju inte skriva, hur borde jag göra???