Hem Personliga finanser Förstå omfattning i Visual Basic. NET - dummies

Förstå omfattning i Visual Basic. NET - dummies

Innehållsförteckning:

Video: Biblical Series I: Introduction to the Idea of God 2024

Video: Biblical Series I: Introduction to the Idea of God 2024
Anonim

VB. NET-program är indelade i zoner, precis som Förenta staterna är indelade i stater, län och städer. Precis som brottsbekämpande agenter har olika storlekar av jurisdiktioner (stads poliser, statliga soldater och FBI, som kan gå någonstans), VB. NET-programmeringslinjer har olika inflytande. Denna inflytande, som kallas scope, , gäller mestadels för variabler (men kan också gälla för procedurer - subs och funktioner - samt hela klasser).

Åtkomst till en variabel

Ofta vill du fråga eller ändra värdet i en variabel, men huruvida den variabeln är tillgänglig för dig beror på omfattningen. Till exempel kan du alltid få tillgång till en variabel från samma procedur (funktioner, underrutiner och händelser är alla procedurer).

För att se hur detta fungerar skriver du följande i din kodmodul:

Privat Subform1_Load (ByVal-avsändare Som System. Objekt, ByVal e Som System. EventArgs) Hanterar MyBase. Ladda

Dim N As String = "This"

MsgBox (N)

Slutdel

Tryck på F5 och märk att MsgBox har inga problem med att visa värdet på variabeln N.

Den visar detta. Skriv nu en annan del precis under Form1_Load-delen i kodfönstret:

Public Sub TryIt ()

MsgBox (N)

Slutdel

Observera att det finns en sågtandlinje under variabeln N i TryIt sub. Håll muspekaren ovanpå sågtångslinjen och VB. NET visar ett felmeddelande som säger att namnet 'N' inte anges.

Detta felmeddelande innebär att alla koder i TryIt-suben (mellan Public Sub och End Sub) inte kan läsa (åtkomst) eller skriva (ändra) variabeln N. N deklarerades (med Dim-kommandot) i ett separat förfarande, och så är omfattningen av N (dess tillgänglighetsområde) begränsad till linjer av kod inom samma procedur.

Även om Dim är den vanligaste kan du använda sju ytterligare deklarationskommandon: Statisk, Offentlig, Skyddad, Vän, Delad, Skyddad Vän och Privat. Dessa ytterligare kommandon anger omfattning (från vilka platser i ditt program kan en variabel nås).

Observera att när du förklarar en variabel i ett förfarande, fungerar variabeln endast inom ramen för det här förfarandet. När programmet kör proceduren (eller händelsen), kommer variabeln till liv, gör sin sak och dör sedan (försvinner) så snart slutgränsen utförs.

När variabler är lokala

Variabler som endast lever i ett enda förfarande heter lokala variabler. Lokala variabler har två egenskaper som du behöver memorera:

  • Ingen programmering utanför egen procedur kan interagera med dem, antingen för att läsa deras värde eller för att ändra deras värde. Deras räckvidd är begränsat till sin egen procedur.
  • När VB slutar genomföra proceduren där de bor, förångas deras värde. Om det här förfarandet exekveras en andra gång, det värdet som den lokala variabeln en gång innehöll är inte längre där. Ett utförande av förfarandet är deras livstid.
  • Det finns några situationer där du vill att en lokal variabels värde ska bevaras. I sådana fall använder du kommandot Statisk istället för kommandot Dim:

Privat Subform1_Load (ByVal-avsändare Som System. Objekt, ByVal e Som System. EventArgs) Hanterar MyBase. Load

Dim n som heltal

Statisk x som heltal

Slutdel

I det här exemplet förlorar variabeln sitt värde när slutdelen utförs. Men variabeln x behåller sitt värde tills programmet stängs av. Ett annat sätt att uttrycka det är det här: När du använder det statiska kommandot med en lokal variabel bevaras värdet på den variabeln under hela applikationens livslängd. (Livslängd betyder hur länge något finns i ett program.)

Vad tror du skulle hända om du sätter två kommandoknappar på din blankett, och sedan körde du programmet och klickade på Command1 först och klickade sedan på Command2, i det här nästa programmet?

Privat Sub Button1_Click (ByVal avsändare Som System. Objekt, ByVal e Som System. EventArgs) Hanterar Button1. Klicka på

Dim X som heltal

X = X + 5

Slutdel

Privat subknapp2_Click (ByVal-avsändare Som System. Objekt, ByVal e Som System. EventArgs) Hanterar Button2. Klicka på

Dim X som heltal

MsgBox (X)

Slutdel

Meddelandeboxen visar ingenting. Variabeln X i Command1s Click-händelse är en helt annan variabel från X i Command2s Click-händelse. De är lokala och har helt enkelt inget förhållande till varandra, inte mer än två främlingar som heter Mike som råkar bo i Bronx och aldrig träffas.

Men om du vill att båda dessa förfaranden ska kunna komma åt och manipulera samma variabel? För att göra detta definierar du variabeln utanför dina procedurer. Försök. Klicka precis ovanför din första procedur (precis ovanför linjen Privat Subform1_Load) i kodfönstret för att flytta insättningsmarkören där.

Skriv nu följande:

Dim x As Integer

Det är här du vill lägga till några variabler som du vill ge hela formatet - med andra ord att tillåta alla procedurer i den formuläret (Form1, i det här fallet) för att kunna läsa och ändra variabeln. (Det område där du lägger till formulärformade variabler brukade kallas Allmänna deklarationer-området, före VB. NET.)

Nu, med den X-variabeln Dimmad uppe ovan (utanför) alla delarna och andra procedurer, när Du kör samma program, klickar på Command1 och sedan på Command2, ser du resultatet du vill se: numret 17. När du förklarar X för att vara omfattande, kan de två knapparna nå den variabeln X.Ta bort de två Dim-förklaringarna som tidigare deklarerade X inom de två knapphändelserna. Nu hänvisar X = X + 5 och MsgBox (X) båda till samma variabel som heter X.

När en variabel har ett bredformat, är det tillgängligt för alla procedurer i den formuläret. Det är emellertid inte tillgängligt för förfarandena i andra former i projektet.

Förstå omfattning i Visual Basic. NET - dummies

Redaktörens val

Hur man redigerar bilder i Redigera snabbläge för Photoshop Elements 9 - dummies

Hur man redigerar bilder i Redigera snabbläge för Photoshop Elements 9 - dummies

I Photoshop Element, Redigera Snabbt läge är en uppskattad version av Redigera fullt läge som ger grundläggande fixverktyg tillsammans med några unika funktioner, till exempel en förhandsgranskning av bilden. Här är ett steg för steg arbetsflöde som du kan följa i Redigera snabbläge för att reparera dina foton: Välj ett eller flera foton i ...

Hur man redigerar i Photoshop Elements 10: s Snabb Fotoredigeringsläge - dummies

Hur man redigerar i Photoshop Elements 10: s Snabb Fotoredigeringsläge - dummies

Snabb Fotoredigering är en uppskattad version av Full Photo Edit-läge som bekvämt ger grundläggande fixeringsverktyg och kastar i några unika egenskaper, till exempel en förhandsgranskning av bilden. Här är ett steg för steg arbetsflöde som du kan följa i Quick Photo Edit-läget för att reparera dina foton:

Hur man förbättrar Photoshop Elements-bilder med Photo Effects - dummies

Hur man förbättrar Photoshop Elements-bilder med Photo Effects - dummies

Fotoeffekter i Photoshop Elements 11 fungerar som applicera filter; medan dialogrutan Filtreringsgalleri ger dig många alternativ för att tillämpa ett filter, ger den guidade panelen dig filtereffekter och tar dig genom steg för att justera ljusstyrka, ändra färgton och mättnad och göra andra justeringar för att perfekta resultatet. Du ...

Redaktörens val

Hur man tar bort bilder från din Canon EOS 7D Mark II - dummies

Hur man tar bort bilder från din Canon EOS 7D Mark II - dummies

När du granskar en bild, bestämmer du om det är en målvakt. Om du tittar på en bild på din Canon EOS 7D Mark II, gillar du inte bilden av någon anledning kan du radera det. Men borttagning av bilder måste ske med stor försiktighet eftersom uppgiften inte kan ångras. När du har raderat en ...

Hur man redigerar filmer på en Canon EOS 60D - dummies

Hur man redigerar filmer på en Canon EOS 60D - dummies

60D Edit-funktionen gör det härligt enkelt för att ta bort oönskade delar från början eller slutet av en film direkt på din kamera. Denna ombordredigering är praktisk men grundläggande, så förvänta dig inte mirakel. Här är de enkla stegen för att trimma början eller slutet på en film: Klicka på ikonen Redigera (det ser ut ...

Redaktörens val

Hur man arbetar med text i ett Word 2010-tabell - dummies

Hur man arbetar med text i ett Word 2010-tabell - dummies

Text hinner i ett bord i Word 2010 på en cell-vid-cell basis. Varje cell i ett Word-bord kan ha ett eget styckeformat och en egen uppsättning flikar. Grupper av celler, rader och kolumner och hela tabellen kan väljas och formateras samtidigt, om du vill. All standardtext ...

Hur man arbetar med Word 2010: s decimala flik - dummies

Hur man arbetar med Word 2010: s decimala flik - dummies

Du kan använda decimalfliken i Word 2010 till rad upp kolumner av siffror. Även om du kan använda en rätt flik för att göra detta jobb är decimalfliken ett bättre val. I stället för högerjusterad text, som den högra fliken gör, justerar decimalfliken siffror efter deras decimaldel - perioden i ...

Hur man arbetar med flera Word 2010-dokument på samma gång - dummies

Hur man arbetar med flera Word 2010-dokument på samma gång - dummies

O saker Word 2010 kan göra med dokument! Du kan öppna flera Word-dokument samtidigt och arbeta på mycket av dem, växla mellan de olika öppna dokumenten. Öppnar flera Word-dokument samtidigt Det är inte en fråga om hur Word kan fungera på mer än ett dokument åt gången. Nej, ...