Avatar billede phi-del Nybegynder
02. marts 2006 - 11:20 Der er 8 kommentarer og
3 løsninger

kald til funktion

Hej til alle.

lige et par små spørgesmåle !

hvonår noget kode for
  en funktion eller procedure ?
(hvis den returnere noget så er det en funktion ellers procedure er det sand ?)


hvordan kan kalde man en funktion/procedure som skal retunere 2 værdier ?

enkelt værdi fungere ved
    vaerdi = test(vaerdi)

hvordan kalder jeg den hvis den er erklæret såden
    Public function test(vaerdi1,vaerdi2)
og jeg vil gerne hvad begge værdie tilbage ved et enkelt kald!
  ?? ? ? ?
Avatar billede phi-del Nybegynder
02. marts 2006 - 11:21 #1
rettelse : :)
hvonår kalder man  noget kode for
  en funktion eller procedure ?
(hvis den returnere noget så er det en funktion ellers procedure er det sand ?)
Avatar billede phi-del Nybegynder
02. marts 2006 - 11:22 #2
rettelse : :) (ikke sovet ret meget lol sorry)
hvonår kalder man  noget kode for
  en funktion eller procedure ?
(hvis den returnere noget så er det en funktion ellers procedure er det sand ?)


hvordan kan man kalde en funktion/procedure som skal retunere 2 værdier ?

enkelt værdi fungere ved
    vaerdi = test(vaerdi)

hvordan kalder jeg den hvis den er erklæret såden
    Public function test(vaerdi1,vaerdi2)
og jeg vil gerne hvad begge værdie tilbage ved et enkelt kald!
  ?? ? ? ?
Avatar billede mugs Novice
02. marts 2006 - 11:41 #3
Korrekt:
(hvis den returnere noget så er det en funktion ellers procedure er det sand ?)

Hvis du vil kalde en funktion i et modul der skal beregne på formularens felter, skal du overføre formularens værdier til modulet således:

MODULNAVN.Funktionsnavn FELT1 FELT2

hvor du modulet, herefter vil du efter en punktumnotation få en dropdown med de funktioner, der ligger i det kaldte modul.

Herefter skal du i modulet fortælle funktionen hvilke variabler der skal modtages:

Public Function (FELT1, FELT2)
Avatar billede phi-del Nybegynder
02. marts 2006 - 11:54 #4
det er en beregnin som findes i en modul, den har ikke meget at gøre med forms.

min eks.

Public function Test (vaerdi1 as string ,vaerdi2 as string)

vaerdi1= "hej med dig"
vaerdi2 = hej"
End function


Public Procedure etellerandet
en masse kode.........
...............
................
Vaerdi1 = Test(vaerdi1)

msgbox vaerdi1 
'på denne måde får jeg vaerdi1 sat og hvordan kan jeg gøre det samme ved at hente begge værdier i samme kald.



og det må ikke være sådan :
Vaerdi1 = Test(vaerdi1)
Vaerdi2 = Test(vaerdi2)

det skal kun være et kald
Avatar billede terry Ekspert
02. marts 2006 - 12:11 #5
Function test()
Dim a As Integer
Dim b As Integer

a = 5
b = 10


testByRef a, b


Debug.Print "a = " & a & " b = " & b






End Function


Function testByRef(a As Integer, b As Integer)

a = 10
b = 5

End Function
Avatar billede terry Ekspert
02. marts 2006 - 12:16 #6
When you call a function in VB its is a call by reference (default) which means that you carry the address of a and b over to the function and your allowed to alter it.

You can also make a call by value which measn only the value in memory is carried over to th efunctionand you cant alter it.


Example:

Function testByRef(ByVal a As Integer, ByVal b As Integer)

a = 10
b = 5

End Function

You could also use ByRef, but as this is the deafult it isnt needed


Function testByRef(ByRef a As Integer, ByRef b As Integer)

a = 10
b = 5

End Function
Avatar billede phi-del Nybegynder
02. marts 2006 - 12:17 #7
har ikke forstået : (
Svar: terry
02/03-2006 12:11:29 

men har fået det til at virke ved:
Call Test (vaerdi1, vaerdi3)
Avatar billede terry Ekspert
02. marts 2006 - 12:21 #8
what have you got to work?
Avatar billede phi-del Nybegynder
02. marts 2006 - 12:21 #9
jeg kalder på 2 værdier i funktionen ved et kald
Avatar billede terry Ekspert
02. marts 2006 - 12:26 #10
thanks
Avatar billede terry Ekspert
02. marts 2006 - 12:26 #11
NOTE: Call is NOT necessary :o)
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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