/ Forside / Teknologi / Udvikling / VB/Basic / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
VB/Basic
#NavnPoint
berpox 2425
pete 1435
CADmageren 1251
gibson 1230
Phylock 887
gandalf 836
AntonV 790
strarup 750
Benjamin... 700
10  tom.kise 610
Bare lidt hjælp - Function
Fra : Ole J. Hansen


Dato : 01-12-01 23:35

Hej alle!
Jeg er ikke god til dette, men derfor er jeg på kursus, jeg håber det
hjælper.

Jeg har lavet et program der tjekker om et givet CPRnr er korrekt eller ikke
korrekt, jeg har
lavet det hele i en SUB, men nuopdager jeg til min skræk, at der SKAL bruges
en Function
til at besvare om det er korrekt eller ej.
Jeg er ikke god til at flytte værdier, men min variabel i SUBen cprnr skal
flyttes til Functionen
og der svare med en MsgBox "Korrekt" eller "Ikke korrekt".
Jeg har ikke rigtigt forstået hvorledes jeg skal navngive de variabler der
skal flyttes, er der en
der kan give mig et ikke for vanskeligt svar.
M.v.h.
Ole J. Hansen



 
 
Jacob Saaby Nielsen (02-12-2001)
Kommentar
Fra : Jacob Saaby Nielsen


Dato : 02-12-01 05:19

In article <3c095c15$0$25382$edfadb0f@dspool01.news.tele.dk>,
ojh@hansen.mail.dk says...
> Hej alle!
> Jeg er ikke god til dette, men derfor er jeg på kursus, jeg håber det
> hjælper.
>
> Jeg har lavet et program der tjekker om et givet CPRnr er korrekt eller ikke
> korrekt, jeg har
> lavet det hele i en SUB, men nuopdager jeg til min skræk, at der SKAL bruges
> en Function
> til at besvare om det er korrekt eller ej.
> Jeg er ikke god til at flytte værdier, men min variabel i SUBen cprnr skal
> flyttes til Functionen
> og der svare med en MsgBox "Korrekt" eller "Ikke korrekt".
> Jeg har ikke rigtigt forstået hvorledes jeg skal navngive de variabler der
> skal flyttes, er der en
> der kan give mig et ikke for vanskeligt svar.

Hej Ole,

i bund og grund skifter du bare sub ud med function, og end sub ud med
end function.

Den variabel du kommer ind i sub'en, lader du bare være.

Hvis nu din sub så sådan her ud:

Public Sub IsCPR (ByRef CPR As String)
kode her
End Sub

Så skal den se sådan her ud når det skal være en funktion der giver en
sand/falsk værdi tilbage:

Public Function IsCPR (ByRef CPR As String) As Boolean
kode her
IsCPR = True/False (Man sætter altid sin function lig resultatet)
End Function

Du kan nu i din kode skrive, i f.eks. en IF løkke:

If IsCPR(indsæt CPR nr. her) Then
MsgBox "Korrekt !"
Else
MsgBox "Forkert !"
End If

Jacob

Tomas Christiansen (03-12-2001)
Kommentar
Fra : Tomas Christiansen


Dato : 03-12-01 00:33

Jacob Saaby Nielsen skrev:
> Public Sub IsCPR (ByRef CPR As String)
> kode her
> End Sub
....
> Public Function IsCPR (ByRef CPR As String) As Boolean
> kode her
> IsCPR = True/False (Man sætter altid sin function lig resultatet)
> End Function

Det er måske en smule upædagogisk at vise et eksempel, hvor
CPR-nummeret overføres ByRef i stedet for ByVal, når det nok ikke lige
er det der er brug for her!

Forklaring til Ole:

Angiver man:
Function IsCPR (ByRef CPR As String) As Boolean
og kalder man denne funktion (det hedder det altså på dansk) med:
IsCPR(MitCPR)
arbejder CPR på den originale værdi i MitCPR, og hvis værdien af CPR
ændres i funktionen, vil værdien af MitCPR ligeledes ændres.

Angiver man i stedet:
Function IsCPR (ByVal CPR As String) As Boolean
og kalder man denne funktion (det hedder det altså på dansk) med:
IsCPR(MitCPR)
arbejdes i CPR på en kopi af værdien i MitCPR, og hvis værdien af CPR
ændres i funktionen, vil værdien af MitCPR dermed ikke blive berørt.

Bemærk at angives hverken ByRef eller ByVal, benyttes automatisk
ByRef - PAS PÅ MED DETTE!

En lille ekstra-bemærkning: Microsoft har valgt at benytte
betegnelserne procedure og function (på dansk: procedure og funktion),
som de f.eks. hedder det i Pascal. Men på forunderlig vis defineres en
procedure ved brug af ordet 'Sub' og en funktion ved brug at ordet
'Function'. En 'Sub' hedder altså en procedure (det kan være temmelig
forvirrende hvis man ikke er klar over dette, hvis man en dag ved en
fejl skulle komme til at læse noget Microsoft dokumentation omkring
VB).

-------
Tomas


Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408527
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste