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 / Artiklar / Titel på artikeln

Intro till ASP - 05. Variabelhantering

Postad 2002-07-19 av Magnus Gladh i sektionen ASP.NET, C#, Okategoriserat med 0 Kommentarer | Läst av: 6668, Betyg: 70%

Förord

Variablen är grundstenen i all programmering, variabler används för att lagra data och objekt samt presentera data i din kod.
Innehåll
  » Hur fungerar variabler
  » Variabler i VB-Script
  » Hur använder jag variabler i min kod
  » Omvandla från en typ till en annan
Relaterade artiklar
  » Intro till ASP - 06. Arrayer
  » Intro till ASP - 07. Villkorssatser


Hur fungerar variabler

I nästan alla programmeringsspråk så har man olika typer av variabler, typ: Tal, Strängar, Tecken och Object. Om vi tar Visual Basic som exempel så skriver man så här när man vill deklarera en variabel:


Dim iAge As Integer


När man deklarera en variabel så berättar man för datorns minne att jag behöver utrymme för att lagra ett tal (Integer) i minnet och datorn reserverar plats för detta tal i minnet.
För att hänvisa till verkligheten så tänk dig att du står framför en stor hylla med massor av fack. Där bestämmer du sedan att du behöver X fack för att lagra ett paket som du döpt till iAge för att du skall hittade det igen. Hur många fack som du behöver använda för att lagra ditt paket bestäms av hur stort ditt paket är, (Typen: Integer). De olika typerna av variabler tar olika stor plats i minnet och det beror på att de behöver lagra olika mycket data.

I VB-Script som man oftas använder till ASP så finns bara en typ av variabel på gott och ont, mest ont. Och det är Variant. Denna typ av variabel kan lagra vad som helst, allt från ett litet tecken till objekt. Detta gör det lätt för dig som programmerar eftersom du slipper tänka på vilken typ dina variabler är, men samtidigt så tar man onödigt med minne i anspråk för att lagra ett litet tecken.


Variabler i VB-Script

Efter som det endast finns en typ i VB-Script så skriver man inte ut vilken typ det är utan man deklarerar endast namnet på den variabel man vill ha:


Dim Age
Dim FirstName
Dim Connection


För att lättare vet vilken typ som man har tänkt sig med de olika variablerna så brukar man lägga till ett litet prefix och det kan se ut olika från olika programmerarer och är mest till för att du själv skall veta vilken typ det är 6 månader senare när du tittar på din kod.


Dim iAge
Dim sFirstName
Dim oConnection


Här har jag nu lagt till prefixet i till Age och där med sagt att jag tänker använda Integer. Till variablen FirstName lade jag till prefixet s vilket skall hjälpa mig att veta att det är en String. Och det sista då, kan du gissa? Visst är det o för ett Object.

Nu är VB-Script så förlåtande att du inte ens behöver deklarera dina variabler utan bara kan slänga in de hur som helst i din kod när du vill, detta är dock inget som jag rekommenderar dig att göra eftersom det försvårar för dig att veta vilka variabler som du använder samt om du går över till något annat programmeringspråk så som C++, C#, Java mm så måste du deklarera dina variabler innan de används, så det är lika bra att du gör rätt från början. Nu finns det ett sätt att tvinga dig till att deklarera din variabler innan de används och det är genom att man i sin kod skriver högst upp:


Option Explicit





Hur använder jag variabler i min kod

Variabler använder du hela tiden i din kod, bland annat till att lagra data i dem:


'-- deklarera variabler --
Dim iAge
Dim sFirstName
Dim oConnection

'-- lagra data i mina variabler --
iAge = 30
sFirstName = "Magnus"
set oConnection = server.createObject("ADODB.Connection")


Här har vi nu skapat 3 olika variabler av typen Variant som vi dock tänker använda som Integer, String och Objekt. Som vi ser så för att skapa en sträng har vi "" runt om texten medans när vi skapar tal inte har "" runt om.
Vad är set för något då? Jo Set använder man när man vill skapa en variabel som innehåller ett objekt,(egentligen så sparas inte objektet i variablen utan endast en referens till objektet men det spelar ingen roll för dig) så fort du har med objekt att göra så måste du sätta ordet set framför annars kommer du att få ett felmeddeland.

Om vi i vår kod vill skriva ut namnet och åldern så ser det ut så här:


'-- skriv ut namnet och åldern --
response.write "Namn:" & sFirstName & ", " & iAge & " år."


Det vi har gjort här är att vi har "byggt" ihop en ny sträng av lite text och våra variabler som vi sedan skriver ut på skärmen. Strängen bygger vi hop med & tecknet som lägger ihop olika sträng till en. Det som händer är att när kompilatorn kommer till din variabel så går den in i sitt minne och hämtar ut innehållet i minnet och skriver ut det. Hur vet då kompilatorn vad som är text och vad som är variabel? Jo som jag sa innan att när du skriver en text så sätter man "" runt om texten, det betyder att från det du satt första " och all text fram till nästa " för text och det som sedan kommer är en variabel.

Alltså kommer resultatet se ut så här:


Namn: Magnus, 30 år.



Omvandla från en typ till en annan

När man skall jämföra olika variabler med varandra så måste da vara av samma typ för att de skall match, ett klasiskt misstag som många gör är att man jämför ett tal med en sträng och blir förvånad när det inte fungerar.


'-- deklarera variabler --
Dim iAge

'-- ta emot ett värde från en annan sida --
iAge = request.form("Age")

'-- kolla om åldern är 30 --
if iAge = 30 then
'-- Åldern är 30
end if


Även om vi har matat in 30 som ålder på föregående sida så kommer vårt vilkor aldrig uppfyllas eftersom iAge inte är 30 utan "30". För att gör om en String till en Integer så använder vi CInt().


' -- ta emot ett värde från en annan sida --
iAge = CInt(request.form("Age"))


Nu kommer vårt vilkor att bli sant efter som vi nu jämför 30 med 30. Det finns många olika omvandlingsfunktioner och de kan man läsa mer om på: MSDN:s hemsida

Tänkte till sist berätta om en lite funktion som man kan använda för att kolla om variabelen är ett tal/kan omvandlas till ett tal eller är en sträng och den heter IsNumeric() och fungera på följande sätt:


'-- deklarerar variabler --
Dim MyVar, MyCheck

'-- kollar om värdet är endast innehåller siffror eller om det även innehåller bokstäver --
MyVar = 53
MyCheck = IsNumeric(MyVar) ' Returnerar True.

MyVar = "459.95"
MyCheck = IsNumeric(MyVar) ' Returnerar True.

MyVar = "45 Help" .
MyCheck = IsNumeric(MyVar) ' Returnerar False.
Upp

0 Kommentarer

Skriv en kommentar på artikeln

Ditt betyg på artikeln



Kommentar:





Nyligen

  • 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
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

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 158
27 952
271 704
800
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