Just nu i M3-nätverket
Jump to content

Underlättning vid formelhantering


Sasja

Recommended Posts

Har knepat ett tag på koden nedan som jag förenklat avsevärt bara för att få ut den grejen jag vill komma åt.

 

Det är alltså en formel som jag matar in i en variabel och sedan ska utföra hundratals gånger senare. Om jag vill ändra i formeln så ska jag istället för att ändra i en och samma formel 100 ggr bara behöva redigera i en formel. Jag visar nedan vad jag menar på ett förenklat sätt. Koden nedan fungerar naturligtvis inte som jag vill ha det...

 

Berakning = SiffraA * SiffraB / 3 * 16.56889

SiffraA = 3
SiffraB = 4

Resultat = Berakning

Hur gör man för att få till det jag är ute efter?

Link to comment
Share on other sites

Du gör en funktion.

 

function kalle(siffraA,siffraB)

kalle = SiffraA * SiffraB / 3 * 16.56889

end function

 

Sedan anropar du funktionen:

 

nisse = kalle(3,4)

 

Var det ungefär så du menade...?

 

 

 

 

Link to comment
Share on other sites

Jimmie Pettersson

Enda problemet blir ju att om han har olika namn på variablarna han vill sätta namn på så måste han göra en funktion för varje.

 

Finns det inget i ASP som returnerar ett värde? Typ som i C++ då man skriver return(1) så returneras en etta...Jag skulle själv behöva detta.

 

MVH Jimmie Pettersson

 

Link to comment
Share on other sites

Enda problemet blir ju att om han har olika namn på variablarna han vill sätta namn på så måste han göra en funktion för varje.

 

Jag tappade nog bort dig här.... vad menar du?

 

Link to comment
Share on other sites

Jimmie Pettersson

Jag kom på hur man skulle göra....Såhär på ett ungefär

 

resultat = rakna()

Function rakna()
rakna = SiffraA * SiffraB / 3 * 16.56889
End Function

 

Då spelar det ingen roll vad den ursprungliga variabeln heter.

 

MVH Jimmie Pettersson

 

[inlägget ändrat 2002-12-08 17:09:59 av Jimmie Pettersson]

Link to comment
Share on other sites

Mr Anderssons funktion returnerar ett värde.

Värdet läggs i valfri variabel, i det här fallet nisse.

 

Inga bekymmer eller?

 

\\Anp

 

 

[inlägget ändrat 2002-12-08 17:10:04 av Anp]

Link to comment
Share on other sites

Jimmie Pettersson

Öhh jag som sitter och sover här. Ber om ursäkt om jag verkade oförskämd men jag har pluggat engelska hela dagen. Svenskan blir lite svårtförståd...

 

Du hade helt rätt från början, var bara jag som inte kopplade det i min hjärna sorry!

 

MVH Jimmie Pettersson

 

Link to comment
Share on other sites

Då spelar det ingen roll vad den ursprungliga variabeln heter.

 

Det gör det inte i mitt exempel heller...

 

Din funktion är aningen värdelös, eftersom den inte accepterar input....

Den kommer alltid att returnera samma värde, nämligen noll.

 

 

 

Link to comment
Share on other sites

Jimmie Pettersson

Inte om värderna deklareras innan funktionen körs då får man ett värde...Men du har helt rätt som jag skrev nedan, jag som inte kopplade riktigt...

 

Ber hemsk mycket om ursäkt. Du har fått en poäng för ditt bra svar.

 

MVH Jimmie Pettersson

 

Link to comment
Share on other sites

Nu kanske jag är dåligt påläst, men de variabler som finns inuti en funktion delar inte värde med de som finns utanför, även om de har samma namn? Eller är jag yr?

 

 

Link to comment
Share on other sites

Jimmie Pettersson

Om variabeln är global så borde det funka?

(Funkade när jag provkörde)

 

MVH Jimmie Pettersson

 

Link to comment
Share on other sites

Jo då det gör de!

 

VBScript är lite speciellet i många avseende,alla varialer blir gobala om det deklareras utan för en funktion/method och kan då användas inom alla funktioner och metoder.

 

- Magnus

-----------------------------------------------------

ju mer jag lär mig ju mer inser jag så lite jag kan

 

Link to comment
Share on other sites

Det kan jag hålla med om.

 

- Magnus

-----------------------------------------------------

ju mer jag lär mig ju mer inser jag så lite jag kan

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...