/ 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
Et ? fra en begynder.
Fra : Dennis Olesen


Dato : 24-11-03 21:23

Hvorfor virker kun min "case else" i dette program stykke ?

Sub passwordenter()
Dim text1 As String

Select Case text1

Case 1234
MsgBox prompt:="Velkommen", Title:="Rigtigt Password"

Case Else
MsgBox prompt:="Forkert, prøv igen", Title:="Forkert password"

End Select

Er der nogen som kan svare mig på det, så ville jeg blive en glad mand.

MVH
Dennis




 
 
Jens Vestergaard (24-11-2003)
Kommentar
Fra : Jens Vestergaard


Dato : 24-11-03 21:50

"Dennis Olesen" <olesen@c.dk> skrev i en meddelelse
news:3fc268ad$0$69917$edfadb0f@dread12.news.tele.dk...
> Hvorfor virker kun min "case else" i dette program stykke ?
>
> Sub passwordenter()
> Dim text1 As String
> Select Case text1
> Case 1234
> MsgBox prompt:="Velkommen", Title:="Rigtigt Password"
> Case Else
> MsgBox prompt:="Forkert, prøv igen", Title:="Forkert password"
> End Select
>

Sandsynligvis fordi du deklarerer text1 som en variabel.

Mon ikke Text1 er et tekstfelt på fin form? Så skal den ikke deklareres -
med din kode er text1 (variablen) sikkert tom, når du valuerer den med
Select Case.

*Hvis* du har en textbox med navnet Text1, så slet altså sætningen [Dim
text1 As String].

Og tænk så i øvrigt over datatyperne. Det betyder ikke alverden i dette
tilfælde, fordi du er så heldig, at VB godt kan 'omsætte' "1234" til 1234.
Reelt er indholdet i en textbox altså af typen string, så du *bør* i din
første Case skrive "1234" - men som sagt i lige netop dette tilfælde betyder
det ikke noget.

Men senere hen i din 'VB-karriere' vil du få problemer, hvis du ikke skelner
mellem numeriske værdier og strings.

--
mvh
Jens Vestergaard (mailadr i dette indlæg er ikke gyldig!)
www.railsoft.dk
Døgnets jernbanenyheder: www.railsoft.dk/medier.asp




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


Dato : 24-11-03 22:26

Jens Vestergaard skrev:
> Og tænk så i øvrigt over datatyperne. Det betyder ikke alverden i dette
> tilfælde, fordi du er så heldig, at VB godt kan 'omsætte' "1234" til 1234.

Jo, måske nok, men det gør VB bare ikke.
Derimod bliver 1234 omsat til "1234", hvilket kan synes ligegyldigt, men man
opdager at det ikke er, hvis man prøver at skrive Case 0123 (og
efterfølgende prøver at tildele "0123" til text1).

> Men senere hen i din 'VB-karriere' vil du få problemer, hvis du ikke
skelner
> mellem numeriske værdier og strings.

Med senere, kan jo nok godt blive enige om, at det måske kun er 5
minutter... (f.eks. kodeord A123).

-------
Tomas


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


Dato : 25-11-03 00:32

"Dennis Olesen" <olesen@c.dk> wrote in message
news:3fc268ad$0$69917$edfadb0f@dread12.news.tele.dk...
> Hvorfor virker kun min "case else" i dette program stykke ?
> Sub passwordenter()
> Dim text1 As String

Nå ser jeg av dine tidligere meldinger at du allerede har en textbox som heter Text1. Og
nå oppretter du en ny sak med identisk navn. I beste fall alltid feil, i verste fall
totalt havari.

> Select Case text1

Her evalueres enten Textbox1.Text eller din nye likenavnede tomme (!) stringariabel. Du
har nemlg ikke sagt
text1 = "1234"

>
> Case 1234

1234 er verken Text eller String, det er et tall. Dermed aldrig Case.

La meg anbefale Option Explicit øverst i alle dine moduler. Så kan editoren i hvert fall
hjelpe deg litt.

--
HTH. Beste hilsen Harald
Followup to newsgroup only please.




Jesper (25-11-2003)
Kommentar
Fra : Jesper


Dato : 25-11-03 01:15



> Sub passwordenter()
> Dim text1 As String
>
> Select Case text1
>
> Case 1234
> MsgBox prompt:="Velkommen", Title:="Rigtigt Password"
>
> Case Else
> MsgBox prompt:="Forkert, prøv igen", Title:="Forkert password"
>
> End Select

Det her virker uden declare af var.... Og husk END SUB.....


Sub passwordenter()
Select Case Text1
Case "1234"
MsgBox "Rigtigt Password", vbOKOnly, "Velkommen"
Case Else
MsgBox "Forkert Password, prøv igen", vbOKOnly, "Velkommen"
End Select
End Sub


Jesper....




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


Dato : 25-11-03 06:11

Jeg takker for svarene. Jeg har noget mere at arbejde med.

MVH
Dennis
"Dennis Olesen" <olesen@c.dk> skrev i en meddelelse
news:3fc268ad$0$69917$edfadb0f@dread12.news.tele.dk...
> Hvorfor virker kun min "case else" i dette program stykke ?
>
> Sub passwordenter()
> Dim text1 As String
>
> Select Case text1
>
> Case 1234
> MsgBox prompt:="Velkommen", Title:="Rigtigt Password"
>
> Case Else
> MsgBox prompt:="Forkert, prøv igen", Title:="Forkert password"
>
> End Select
>
> Er der nogen som kan svare mig på det, så ville jeg blive en glad mand.
>
> MVH
> Dennis
>
>
>



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

Månedens bedste
Årets bedste
Sidste års bedste