Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Variabler

Postades av 2002-03-20 20:38:23 - Emil Öhman, i forum visual basic - allmänt, Tråden har 2 Kommentarer och lästs av 410 personer

Hejsan, jag satt och testade lite och upptäckte att om jag skriver så här:

<code>
Private Sub Command1_Click()
Dim tal As Integer
tal = 10
minsub tal
Debug.Print tal
End Sub

Sub minsub(nr As Integer)
nr = 70
End Sub
</code>

Så skrivs det ut 70 som det borde göra enligt vad jag har lärt mig men när jag skriver så här:

<code>
Private Sub Command1_Click()
Dim tal As Integer
tal = 10
minsub(tal)
Debug.Print tal
End Sub

Sub minsub(nr As Integer)
nr = 70
End Sub
</code>

Så skrives det ut 10!

Varför blir inte det också 70?
Eller är det så att om man sätter paranteser runt om så skickas variabeln som ByVal eller hur är det?


Svara

Sv: Variabler

Postades av 2002-03-20 21:23:47 - Andreas Hillqvist

Låt oss ta grunderna i visualbasic. En subrutina och funktion anropas endast med paranteser om det kallas på med call. Även när funktioners returvärde hämtas:

Exempel på när ni inte skall använda Parantes:
<code>
MsgBox "Vill du tabort alla poster", vbYesNo

Connection.Execute "DELETE FROM TabellNamn"
</code>

Exempel när ni skall använda Parantes:
<code>
Call MsgBox("Man kan anropa med Call", vbInformation)

Do
Svar = MsgBox("Är Andreas bäst?",vbYesNo)
Loop Until Svar = vbYes

Select Case MsgBox("Vill du tabort alla poster?",vbYesNo)
Case vbYes
Connection.Execute "DELETE FROM TabellNamn"
End Select

Set rsTemp = Connection.Execute("SELECT * FROM TabellNamn")
</code>

Det du gör är att du tvingar vb att utvärdera vilkoret. Det är därför du bara kan ha ett arbument inom parantesen. Om du skriver:
<code>
MsgBox("Vill du tabort alla poster",vbYesNo)
</code>
Kommer du få ett felmeddelande för om du skall vara kosekvent skall du skriva:
<code>
MsgBox ("Vill du tabort alla poster"),(vbYesNo)
</code>
Alltså paranteserna är inga funktionsparanteser utan programatiska paranteser för att ange i vilken ordning uttrycket skall utvärderas. T.ex:
<code>
Debug.Print ((1+2)*3)-4
</code>



Svara

Sv: Variabler

Postades av 2002-03-20 21:34:59 - Emil Öhman

aha...tack så mycket nu har jag koll på det


Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 644
27 953
271 710
12 322
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies