Avatar billede jesper27 Nybegynder
15. maj 2001 - 11:23 Der er 5 kommentarer og
2 løsninger

function return value

Hvorledes retunerer jeg en en værdi fra en function i asp?
Avatar billede nute Nybegynder
15. maj 2001 - 11:26 #1
du skal bare legge en verdi i en variabel fom har samme navn som funksjonen:

funktion test( param )
  \'Her gjør do kanskje noe med ditt parameter
  test = param & \" blabla\"
end funktion

/nute
Avatar billede nuno Nybegynder
15. maj 2001 - 11:40 #2
hvis din funktion skal returnere et objekt - fx et recordset eller en db-connection skal du dog bruge \"Set\" når du sætter en returværdi på din funktion. Fx:

Function OpenConnection()
    Set Conn = Server.CreateObject(\"ADODB.Connection\")
   
    With Conn
        .ConnectionString = cnstr
        .Open
    End With
   
    Set OpenConnection = Conn
End Function

....læg mærke til \"Set OpenConnection = Conn\"
Avatar billede jesper27 Nybegynder
15. maj 2001 - 12:08 #3
Hvordan bruger jeg så værdien i den funktion hvortil denne værdi er returneret?

Eksempel:

function ok()
  testok

  dim b
  \' b skal være = 100 (a)
  b = (værdien retuneret fra testok)
End function


function testok()
  dim a
  a = 100
  testok = a
End function
Avatar billede nuno Nybegynder
15. maj 2001 - 12:25 #4
så sætter du
function ok()
dim b
b = testok()
end function

/nuno
Avatar billede jesper27 Nybegynder
15. maj 2001 - 12:58 #5
Stopper functionen testok ved

b = testok()

eller fortsætter den med at udføre den følgende kode?

Og hvornår retunerer den resultatet?
Avatar billede nuno Nybegynder
15. maj 2001 - 13:56 #6
når du kalder funktionen testok inde fra din ok funktion - så stopper testok igen lige så snart du har sat returværdien og den har nået \"end function\" statment. Dvs. den stopper når den har udført følgende kode

testok = a
End Function

Man kan nemlig godt udføre kode EFTER returværdien er sat - fx skrive noget data til en tekstfil el. lign.

Det du så kan bruge til noget er, at når din ok funktion igen overtager processtyringen - dvs. LIGE efter den linie du nævner (b = testok()) - så ER testok funktionen færdig med at køre og eksekveres ikke mere før du kalder den igen.

/nuno
Avatar billede nuno Nybegynder
15. maj 2001 - 13:59 #7
et eksempel på at udføre kode mellem man sætter returværdien og afslutter funktionen er:

testok = a

[kode hvor du fx også skriver funktionens returværdi til en tekstfil eller whatever]

End function

........altså (ikke helt som jeg egentlig antyder ovenfor) en funktion overgiver først igen flowcontrol i programmet til den kaldende enhed, når End Function er nået (eller under andre omstændigheder Exit Function - men det er en anden historie)

/nuno
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester