webForumDet fria alternativet

Ett kodexempel sökes!

.NET

6 svar · 262 visningar · startad av Cheezes

Medlem sedan nov. 2002501 inlägg
Frågan#1

Vad menas med att man deklarerar sin konstantdeklaration i huvudet på formuläret (som Private)? Vart ska det placeras exakt någonstans??

Ge mig, snälla, ett längre kodexempel, som inkluderar Private Const i denna kod.

Medlem sedan okt. 20023 030 inlägg
#2

Högst upp i kodfönstret utanför eventuella subs (ex. Private Sub Form_Load()) ska det stå

Private Const konstantens_namn = "konstantens värde"
Medlem sedan nov. 2002501 inlägg
#3

Nexus86 skrev:

Högst upp i kodfönstret utanför eventuella subs (ex. Private Sub Form_Load()) ska det stå

Private Const konstantens_namn = "konstantens värde"

Tillhör alltså kodraden (Private Const), hemma i kodfönstrets listruta, där det står General-Declarations eller ska det stå Form-Load i denna listruta??

:l

Tills dess...

//Cheezes

Medlem sedan nov. 2002501 inlägg
#4

När jag la in min konstantdeklaration, under Option Explicit i kodfönstrets listruta; General-Declarations, så fick jag en felmeddelanderuta.
Det stod si så här:

"Compile error.

Member already exists in a object module from which this object module derives."

Vad vill VB:n tala om för mig? Varför funkar det ej?? :(

//Cheezes

Medlem sedan okt. 20023 030 inlägg
#5

På vilken rad fick du det och vad är koden på den raden?

Medlem sedan nov. 2002501 inlägg
#6

Nexus86 skrev:

På vilken rad fick du det och vad är koden på den raden?

På rad två, så gav det en gul markering över "a As Integer ="

Här är koden:

Option Explicit

Private Const [B]a As Integer =[/B] 13
Private Const b As Integer = 27
Private Const c As Integer = 8
Private Const d AS Integer = 19
Private Const e As Integer = 9

Private Sub pris_Click()
   
   Dim pris As Integer
   If a.Value Then
   pris = a
   Else
   pris = b
   End If
   
   If c.Value = Checked Then
   pris = pris + c
   End If
   
   If d.Value = Checked Then
   pris = pris + d
   End If
   
   If e.Value = Checked Then
   pris = pris + e
   End If
   
   txtSumma.Text = pris
   
End Sub

MVH
/Cheezes

Medlem sedan okt. 20023 030 inlägg
#7

Det som blir fel är att du har döpt dina konstanter till samma som någon kontroll är. T.ex. så har du

Private Const a As Integer = 13

och

a.Value

Ska du ha reda på vad a har för värde tar du bara a helt upp-och-ner.

Sen eftersom du har Private Sub pris_Click() så antar jag att du även har en kontroll som heter pris. Då kan du inte ta

Dim pris As Integer

VB bryr sej inte om stora och små bokstäver som många andra språk. T.ex. Pris = pris = PRiS. Den ser ingen skillnad på detta.

261 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)