/ 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
VBA Programmering
Fra : old


Dato : 23-08-01 13:22

Kære Harald,Ove,Peter!
I Grundlæggende Programmering af Michell Cronberg
Option Explicit
Public Function BeregningAfRente(Saldo,NomRente,Dage As Integer)
BeregningAfRente=Saldo*NomRente*Dage/36000
End Function

Dim Resultat
Resultat=BeregningAfRente(50000,12,50)

Det er bogens ord og ikke mere.Selv prøver jeg så med i
immediat(brugervinduet)
Print BeregningAfRente(50000,12,50) og får ja jeg husker det ikke 833,33

--
Leveret af:
http://www.kandu.dk/
"Vejen til en hurtig løsning"


 
 
Peter Lykkegaard (23-08-2001)
Kommentar
Fra : Peter Lykkegaard


Dato : 23-08-01 14:55


"old" <old.news@kandu.dk> wrote in message
news:gx6h7.10509$3q.354323@news010.worldonline.dk...
> Kære Harald,Ove,Peter!
> I Grundlæggende Programmering af Michell Cronberg
> Option Explicit
> Public Function BeregningAfRente(Saldo,NomRente,Dage As Integer)
> BeregningAfRente=Saldo*NomRente*Dage/36000
> End Function
>
> Dim Resultat
> Resultat=BeregningAfRente(50000,12,50)
>
> Det er bogens ord og ikke mere.Selv prøver jeg så med i
> immediat(brugervinduet)
> Print BeregningAfRente(50000,12,50) og får ja jeg husker det ikke 833,33
>

Ok så langt så godt
Det ser mere fornuftigt ud end det første

Anyways nu ved jeg ikke hvor du vil have resultatet hen, men du kan fx lave
en lille ekstra sub ala denne i samme modul

Public Sub VisRente()
ActiveDocument.Range.Text = BeregningAfRente(50000, 12, 50)
End Sub

Start macro vinduet fra Tools -> Macro -> Macros
Vælg "VisRente" og klik på [Run]

Resulatet af din beregning vil blive placeret øverst i dit dokument

mvh/Peter Lykkegaard



Harald Staff (23-08-2001)
Kommentar
Fra : Harald Staff


Dato : 23-08-01 17:03

Ja, det ser bedre ut.
En funksjon er en "sort boks" man sender deklarerede verdier inn i, og så
returnereer den en verdi tilbage av en type som også er defineret:

Function FortelMigHalvdelen(Hvilkettal As Long) As String
FortelMigHalvdelen = "Halvdelen er " & _
Hvilkettal / 2
End Function

mens en Sub utfører noget:

Sub Test()
MsgBox FortelMigHalvdelen(813)
End Sub

Hva hr Cronberg gør feil er å ikke deklarere -eller rettere, å deklarere
uten å spesifisere datatype. Dette er ret vanlig å lese i VB / VBA:

Dim a, b, c As Integer

så også i hans funktion. Men her er bare c "integer", a og b er "varianter".
Variant er meget store tunge datatyper som kan rumme alt fra et form eller
et computerprogram ned til et enkelt 0 eller1. Den korrekte og hurtige måte
er denne:

Dim a As Integer, b As Integer, c As Integer

eller overført til funksjonen:

Public Function BeregningAfRente(Saldo as Double, NomRente as Single, Dage
As Integer)

Dim Resultat er det samme som Dim Resultat As Variant -men forfatteren vet
godt at resultatet av hans egen funksjon er et tall, så Double bør være den
største type han tilordner: Dim Resultat As Double

Du tester funksjoner i immediate-vinduet sådan:
? FortelMigHalvdelen(300)
etterfulgt av Enter

HTH. Beste hilsen Harald


old <old.news@kandu.dk> skrev i
news:gx6h7.10509$3q.354323@news010.worldonline.dk...
> Kære Harald,Ove,Peter!
> I Grundlæggende Programmering af Michell Cronberg
> Option Explicit
> Public Function BeregningAfRente(Saldo,NomRente,Dage As Integer)
> BeregningAfRente=Saldo*NomRente*Dage/36000
> End Function
>
> Dim Resultat
> Resultat=BeregningAfRente(50000,12,50)
>
> Det er bogens ord og ikke mere.Selv prøver jeg så med i
> immediat(brugervinduet)
> Print BeregningAfRente(50000,12,50) og får ja jeg husker det ikke 833,33
>
> --
> Leveret af:
> http://www.kandu.dk/
> "Vejen til en hurtig løsning"
>



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