/ 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
Hjælp angående Case
Fra : Dennis Olesen


Dato : 23-11-03 21:08

Jeg har skrevet følgende kode:

Sub passwordenter()
Dim adgang

adgang = Text1.Text

Select Case adgang

Case 1234
MsgBox prompt:="Velkommen"

Jeg er næste lige begyndt på VB. Vi har fået til opgave at lave et textfelt
og en knap. Vi skal så indtaste et password., hvis passwordet er det rigtige
skal en msgbox vises. Jeg ved godt at programmet ikke er hel færdig men heg
bliver nødt til at tage en ting afgangen. Når jeg prøve at køre dette
program får jeg en fejl "Compile error Variable not defined". Hvad gør jeg
galt ?

MVH
Dennis



 
 
Tomas Christiansen (23-11-2003)
Kommentar
Fra : Tomas Christiansen


Dato : 23-11-03 22:14

Dennis Olesen skrev:
> Sub passwordenter()
> Dim adgang
>
> adgang = Text1.Text
>
> Select Case adgang
>
> Case 1234
> MsgBox prompt:="Velkommen"
>
> Når jeg prøve at køre dette program får jeg en fejl
> "Compile error Variable not defined".
> Hvad gør jeg galt ?

Ovenstående er ikke et komplet program.

Det er muligvis et uddrag af et program som du har, men den fejl, som du
omtaler, kan alene ikke stamme fra den stump kode, som du her har
præsenteret. Der må være noget mere kode eller noget andet galt.

Uden at vide mere om resten af dit program, er det næsten umuligt at gætte
sig til hvor du har begået en fejl, og hvorfor skulle man dog også det, når
VB jo så pænt sætter markøren og oven-i-købet markerer den variabel som ikke
er defineret?

Der er dog et par småting, som jeg umiddelbart kan kommentere:
- Har du oprettet en tekstboks med navnet Text1?
- Du erklærer variablen adgang med typen Variant (ved ikke at angive en
type), og tildeler en streng til den (indholdet af Text1.Text). Senere
prøver du at sammenligne med tallet 1234 - det er ikke god skik, og kan let
føre til noget snavs. Du bør sammenligne med strengen "1234" i stedet.
- Hvis du ikke allerede bruger Option Explicit som første linie i alle dine
kodemoduler, så prøv det, og du vil få fanget eventuelle fejl på et meget
tidligere tidspunkt.

-------
Tomas


Jan Vinten (24-11-2003)
Kommentar
Fra : Jan Vinten


Dato : 24-11-03 00:08

Hej Dennis,

Når du har læst Tomas' indlæg og er blevet lidt klogere på hvordan et VB
program opbygges - så skal din kode se sådan her ud:

Private Sub PasswordEnter()

Select Case Text1.Text
Case "1234"
.... hvad den nu skal gøre!
End Select

End Sub

Der er såvidt ingen grund til, at erklære nogen variabler i dette tilfælde
.... egentlig spild af kode!

Mvh
Jan

"Dennis Olesen" <olesen@c.dk> wrote in message
news:3fc114e2$0$69960$edfadb0f@dread12.news.tele.dk...
> Jeg har skrevet følgende kode:
>
> Sub passwordenter()
> Dim adgang
>
> adgang = Text1.Text
>
> Select Case adgang
>
> Case 1234
> MsgBox prompt:="Velkommen"
>
> Jeg er næste lige begyndt på VB. Vi har fået til opgave at lave et
textfelt
> og en knap. Vi skal så indtaste et password., hvis passwordet er det
rigtige
> skal en msgbox vises. Jeg ved godt at programmet ikke er hel færdig men
heg
> bliver nødt til at tage en ting afgangen. Når jeg prøve at køre dette
> program får jeg en fejl "Compile error Variable not defined". Hvad gør
jeg
> galt ?
>
> MVH
> Dennis
>
>



Harald Staff (24-11-2003)
Kommentar
Fra : Harald Staff


Dato : 24-11-03 16:20

"Jan Vinten" <REMOVEnewsBIG@LETTERSvinten.orgnetUSE_.NET_ADRESS> skrev i
melding news:3fc13def$0$9742$edfadb0f@dread14.news.tele.dk...

> Select Case Text1.Text
> Case "1234"
> .... hvad den nu skal gøre!
> End Select
(...)
> Der er såvidt ingen grund til, at erklære nogen variabler i dette tilfælde
> ... egentlig spild af kode!

Nå ja, en Case Else ville jeg dog spandert litt kode på allikevel

Beste hilsen Harald
Followup to newsgroup only please



Dennis Olesen (24-11-2003)
Kommentar
Fra : Dennis Olesen


Dato : 24-11-03 06:54

Jeg takker for besvarelsen og er blevet lidt klogere på hvad VB gør. Mit
textbox hedder Text1. Det hele opgave gør ud på er at jeg skal hente et tal
fra textboxen, hvis det er "1234" så skal der vises en msgbox hvor der står
velkommen.

Jeg har fundet ud af det er text1.text som denne fejl kommer af " Compile
error Variable not defined ". Det kan jeg ikke rigitig forstå. Er der nogen
som kan forklare mig det ?

MVH
Dennis



Torben Jepsen (24-11-2003)
Kommentar
Fra : Torben Jepsen


Dato : 24-11-03 18:27

"Dennis Olesen" <olesen@c.dk> wrote in
news:3fc19cdd$0$69975$edfadb0f@dread12.news.tele.dk:

> Jeg takker for besvarelsen og er blevet lidt klogere på hvad VB gør.
> Mit textbox hedder Text1. Det hele opgave gør ud på er at jeg skal
> hente et tal fra textboxen, hvis det er "1234" så skal der vises en
> msgbox hvor der står velkommen.
>
> Jeg har fundet ud af det er text1.text som denne fejl kommer af "
> Compile error Variable not defined ". Det kan jeg ikke rigitig
> forstå. Er der nogen som kan forklare mig det ?
>
> MVH
> Dennis
>
>
>

Hej Dennis
Din text1.text er en variabel, der blot er defineret via den form, du
sikkert er startet med

VH Torben

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408924
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste