08. januar 2001 - 10:30Der er
21 kommentarer og 1 løsning
Forskel på Sub og Function?
Hejsa Hvad er egentlig forskellen på Subs og Functions? Jeg har kun én gang oplevet at man ikke kunne bruge en function i stedet for en Sub, og det var ved initieringen af objekter i VBScript.
Hvornår er det bedst at bruge en Sub i stedet for en Function?
En Function kan returnere en værdi det kan en Sub ikke!! Jeg ved ikke om der er andre forskelle!! Så hvis ikke du skal returnere en værdi fra metoden så benyt en Sub ellers en Func! JEg kunne forestille mig at Compileren bruger flere resourcer når vi taler om Functioner i VB end når vi taler om Sub\'er!!
Ikke nogen hvor du bestemme om det skal være en Function eller en sub! Men i tilfælde hvor vi taler om Event handlere så er det Nødt til at være Subs. Det vil sige i forbindelse med
Private SUb Command1_Click()! Her skal det være en sub! JEg ved ikke hvorfor men det skal det bare!
Tja. Jeg er lige kommet hjem fra skole. Jeg har fået 29 mails.
1 af dem var personlige, resten var små diskutioner om hvorvidt man skal læse hjælpe filer eller ikke. Jeg syntes ikke det er hyggeligt. Eksperten.dk er for dem der ikke kunne finde informationer andre steder. Ellers havde siden nok heddet Begynderen.dk
Nolle_k skriver at en SUB ikke kan returnere en værdi. Det er IKKE sandt. En funktion kan kun returnere 1 værdi. En SUB kan returnere flere værdier når den bliver kaldt fra en anden SUB.
eks.
Call Test(a, b, c, d) 2 eller alle 4 variabler kan overføre værdier til SUB og returnere værdier igen fra SUB.
En lille side note som kan være nyttig! Hvis man overfører parametrer til en sub/function, der bliver ændret i den pågældende sub/function, men man ikke ønsker at de også skal returneres af sub/function\'en så bruger man ByVal (By Value..)
Sub dummy (ByVal a) a=a*3 End Sub
i dette tilfælde vil \"a\" ikke blive returneret da vi faktisk opretter en ny variable istedet for at bruge en reference
Ja, I må undskylde hvis jeg har spildt chris2ks mailserverplads. Det var ikke det der var hensigten med mit spørgsmål. Jeg har selv arbejdet en del med VBScript, og har bare ofte undret mig over hvorfor der både er subs og functions. Den eneste gode grund jeg har fundet frem til er at MS har vedtaget at bruge subs til event håndtering. Og så er der måske et performancespørgsmål. Men hvis man er ude efter performance, så bruger man ikke VBScript ;o)
Jeg har også læst hjælpefilerne. Men som så meget andet fra MS er de ikke meget værd til andet en forklaring af syntaksen. Der står så vidt jeg har kunnet se intet om hvornår man skal bruge subs og hvornår man skal bruge functions. Derfor mener jeg det er et udmærket spørgsmål at stille her.
Vi kan ikke alle være en lige så stor Begavelse som dig, vel chris2k!!!
Og desuden plejer personer, der fører sig frem på den måde ikke at have alt for meget at flytte med! Men nu er det jo ikke et sted, hvor man sviner hinanden til. Dem findes der sgu nok af på nettet i forvejen!
Jeg er bare lidt træt af den indstilning folk har. Jeg får sgu 50 mails hver dag, om folk der ikke gider at læse manualerne. Jeg vil da meget gerne hjælpe folk med seriøse problemer, men jeg er ved at give op pga alle de useriøse.
chris2k:> man skal ikke kaste med sten når man selv bor i glashus!!! Du er sku ikke alt for seriøs selv. Jeg har set spm. hvor du svarer med komplet ondsvage svar da du ved gud ikke kender svaret!
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.