Hej! Använd Option Explicit! Hej... eller Tackar Använd helst inte 'Dim' på andra ställen än INNE i en procedur för att deklarera en lokal variabel, i modulhuvudet är det bäst att hålla sig till 'Private' eller 'Public' (eller 'Friend') för att visa om man avsåg att deklarera 'A' som en publik eller modulär variabel, det är lättare att felsöka i koden senare då! Eftersom du skriver ut värdet i en textbox skulle jag råda dig att inte Öka värdet på A
Hur ökar jag värdet på A vid knapptryckning?
Jag vill alltså att om man har klickat tre ggr. så ska värdet ökat till 3
funkar ej:
Private Sub Command1_Click()
A = A + 1
Text1.Text = A
End Sub
/TomasSv: Öka värdet på A
Du har inte deklarerat A, därför blir det en lokal variabel
Skriv antingen
Private Sub Command1_Click()
Static A As Integer
A=A+1
Text1.Text = A
End Sub
eller
Dim A As Integer
Private Sub Command1_Click()
A=A+1
Text1.Text = A
End Sub
/Niklas JanssonSv: Öka värdet på A
Fick du inget felmeddelande ???
för koden ser ut till att stämma...
Mvh DennisSv: Öka värdet på A
men då måste textrutan vara tom eller innehålla en siffara ;)
<code>
Private Sub Command1_Click()
Text1.Text = CInt("0" & Text1.Text) + 1
End Sub
</code>
//MSv: Öka värdet på A
Gjorde som Niklas skrev
Dim A As Integer
Private Sub Command1_Click()
A=A+1
Text1.Text = A
End Sub
funkar utmärkt
/TomasSv: Öka värdet på A
Ett till tips: Använd ALLTID 'Option Explicit', det undanröjer källan till en hel del enklare buggar om man tvingas att explicit deklarera samtliga variabler!!!
Alltså:
<code>
Option Explicit
Private miCount As Integer
Private Sub cmdAddCount_Click()
miCount = miCount + 1
txtCount.Text = miCount
End Sub
</code>
I det modifierade exemplet har jag även använt mig av Ungersk Notation (en variant av den i alla fall) för namngivning av variabler samt bättre namn på knappar och textboxar, lite overkill anser säkert en del men det är lika bra att börja lära sig en god programmerinsg-stil/standard tidigt än vara tvungen att lära om sig senare?! :-)
Mvh QezSv: Öka värdet på A
deklararera variabeln utanför proceduren, hämta förra värdet och räkna
upp det och skriv ut det på nytt.
Bra grundregel (som nämnts tidigare): Deklarera inget i ett större scope
än _absolut_ nödvändigt.
/Emma