dim ?

Tags:    vb.net

Simpelt problem:
Fold kodeboks ind/udKode 


hvordan kan det være man ikke kan "dimme"/oprette variabler i en if ?

edit:
har fundet en løsning på problemet, men vil gerne vide hvorfor man ikke kan oprette en variable sådan ?




Indlæg senest redigeret d. 12.07.2008 23:35 af Bruger #3427
9 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 2 karma
Sorter efter stemmer Sorter efter dato
Det som der menes er at fordi du erklærer din variabel inde i din IF sætning, kan du kun bruge den inden for den If sætning.

Hvis du erkærer den før if sætningen, og blot giver den en værdi i if sætningen kan du bruge den i hele funktionen.

Har lavet et lille eksempel her:


Fold kodeboks ind/udKode 


Nu er jeg ikke VB mand, men dette burde vist virke :)





Hej Kenneth,

Sikke dog noget SJUSK som du skriver i den sidste kode box...
Fold kodeboks ind/udKode 


dim b, skal erklæres i funktionen, med mindre du skal bruge den i andre funktioner.

Dim a As String/Integer - Det er SJUSK at bruge det sammen variabelnavn til forskellige typer.

Der er ingen grund til at erklære a.

Tag Sunes kode istedet.

Med venlig hilsen
Ieet





Almindeligvis ville du godt kunne oprette variablen, men i et hvert sane programmeringssprog er variabler kun tilstede i det scope de bliver erklæret i, samt alle scopes derunder. Da indholdet af If sætningen er et nyt scope, vil "a" variablen ikke være til stede i funktionens scope, kun i If sætningens.



Almindeligvis ville du godt kunne oprette variablen, men i et hvert sane programmeringssprog er variabler kun tilstede i det scope de bliver erklæret i, samt alle scopes derunder. Da indholdet af If sætningen er et nyt scope, vil "a" variablen ikke være til stede i funktionens scope, kun i If sætningens.


ja, jeg lavet det sådan her:
Fold kodeboks ind/udKode 


syndes bare det er lidt fusk.. =/



Såvidt jeg ved kan du godt sætte din "dim b" ind i funktionen, så den er i starten af funktionen. Det sagt har jeg ikke programmet i VB, så jeg ved det ikke med sikkerhed.



Fold kodeboks ind/udKode 


ect, her kan jeg ikke sætte dim pop3Stream uden for ifen da den skal være Stream eller SslStream, og når den er sat inde i ifen, kan den ikke bruges uden for ifen så..

og den skal jo self kunne bruges uden for ifen



Indlæg senest redigeret d. 14.07.2008 21:31 af Bruger #3427
Nu kender jeg ikke meget til VB, men i de fleste OOP sprog jeg har arbejdet med ville man sætte "Dim pop3Stream As Stream" uden for ifen, og så ville man kunne tildele en SslStream til denne pop3Stream, forudsat at SslStream nedarver fra pop3Stream.



Synes I gør det mere indviklet end det er.

Her er mit foreslag:
Fold kodeboks ind/udKode 




Ups.. dobbeltpost :roll:



Indlæg senest redigeret d. 11.11.2008 22:25 af Bruger #10584
t