January 15, 2004
Adam wrote: Vad blir resultatet (eller skillnaden) om man dimmar en variabel i en sub eller längst upp?
Disclaimer: Jag har aldrig programmerat Visual Basic
Här är jag inte riktigt säker, men om VB är någorlunda vettigt så är vaiabeln tillgänglig i hela källfilen om du deklarerar den högst upp.
Är den deklarerad i en procedur så är den bara tillgänglig i den proceduren.
Adam wrote:
Vad blir skillnaden mellan dessa två sätt att deklarera;Dim x as integerStatic x as integerMer frågor om någon vänlig själ nappar... 😉
En variabel som är deklarerad med Static behåller sitt värde efter att proceduren avsutas. Den har alltså samma värde som vid avslutningen när proceduren körs igen.
Edit:
Om Dim på MSDN
March 27, 2003
Sitter och testar lite (läs: kör ett program som tillhör en hemuppg) 😉
Tror jag har fått kläm på skillnaden mellan en static och en vanlig, dock har jag problem med en helt vanlig
Private Sub Knapp_Click()
Dim c as integer
c = c + 1
Me.label.Caption = "C= " & c
End Sub
Borde inte den ökas med 1 varje gång man trycker på knappen..? Den har frusit fast på 1....
Pinsamt det här......
November 14, 2003
Adam wrote: Sitter och testar lite (läs: kör ett program som tillhör en hemuppg) 😉
Tror jag har fått kläm på skillnaden mellan en static och en vanlig, dock har jag problem med en helt vanlig
Private Sub Knapp_Click()
Dim c as integer
c = c + 1
Me.label.Caption = "C= " & c
End Sub
Borde inte den ökas med 1 varje gång man trycker på knappen..? Den har frusit fast på 1....
Pinsamt det här......
Nej den ska stå kvar på 1
Du deklarerar den i subfunktionen och den förlorar sitt värde när funktionen avslutas.
Om du vill att den ska ökas med 1 för varje knapptryck måste du antingen deklarera den som static i subfunktioen eller lägga den som global variabel
January 15, 2004
Jag tycker att du ska fortsätta deklarera veriabler i procedurerna. Används variablerna bara i subbarna så ska dom deklareras där.
Om VB har stöd för parametrar till procedurer och returvärden (vilket jag verkligen hoppas att det har) använd dom för att "skicka" data mellan olika delar av programmet. Antalat globala variabler blir annars snabbt stort och väldigt svåröverskådligt.
1 Guest(s)