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


Deklarera och använda objekt globalt.

Postades av 2009-07-22 19:08:26 - Pontus Kjellberg, i forum asp.net generellt, Tråden har 9 Kommentarer och lästs av 1190 personer

Hej!

Försöker att använda objekt men det känns som att mitt sätt är fel.
Även om det fungerar.


I min _Default class så har jag ungefär följande kod
INNAN subrutinerna och funktionerna..

Public ESGL As flygplats = New flygplats
Public ESGG As flygplats = New flygplats
Public ESGR As flygplats = New flygplats
...
...
o.s.v.....



I en annan class:

Public Class flygplats

Dim m_id As String
Dim m_clickonmap As String
Dim m_vaderrad As String
Dim m_metar As String
Dim m_taf As String

Public Property id() As String
Get
Return m_id
End Get
Set(ByVal value As String)
m_id = value
End Set
End Property

o.s.v.
...
...
...

end class


Så småningom tilldelas varje objekt (flygplats) sina olika
värden och egenskaper.


Vad jag inte tycker kan vara rätt är att man i början måste
deklarera alla olika "flygplatser" för att dom skall kunna användas
på lite olika ställen i programmet. Public ESXX.....

Det går ju bra om det bara är några få kända, men om det är 100 st eller 200 st,
då blir det lite småjobbigt.

En lista (array?) skulle fungera ok som man kanske loopar igenom på något sätt.

Sen är det ju inte säkert man inte vet vilka flygplatser man skall skapa.
Det kan ju vara data från en databas, eller en lista av något slag, båda som kanske
ändras lite då och då. Eller kanske användaren skall mata in något i en textruta.

Vad jag undrar är hur man skapar ett nytt objekt ungefär som
Public ESGR As flygplats = New flygplats
och då även göra så man kan använda den på många ställen i programmet/sidan.
Man kan ju inte använda DIM, då blir den ju inte global, ej heller Public i en subrutin
eller funktion.

/Pontus


Svara

Sv: Deklarera och använda objekt globalt.

Postades av 2009-07-22 19:15:32 - Oskar Johansson

Deklarera en lista bara, eller ett dictionary. Titta på System.Collections.Generic.List resp. Dictionary.


Svara

Sv:Deklarera och använda objekt globalt.

Postades av 2009-07-22 20:27:42 - Pontus Kjellberg

Hej Oscar!

Kollade på System.Collections.Generic.List och att göra en lista med text t.ex.
går nog bra. Hur göra en lista med mitt eget "flygplats" och även public, nja
det vet jag inte riktigt.


Svara

Sv: Deklarera och använda objekt globalt.

Postades av 2009-07-22 20:33:31 - Oskar Johansson

Det är iofs ingen skillnad mellan att göra en lista med text mot att göra en lista med någonting annat, bara att deklarera listan för att innehålla någonting annat än text


Svara

Sv:Deklarera och använda objekt globalt.

Postades av 2009-07-22 21:27:05 - Pontus Kjellberg

Ok.

Att göra en publik lista av typen flygplatser.
Public minLista As New List(Of flygplats)

Dim ESXX As flygplats = New flygplats
Dim ESGL As flygplats = New flygplats

minLista.Add(ESXX)
minLista.Add(ESGL)


<%=minLista.Item(0).id%>

Jag förstår dock fortfarande inte riktigt hur detta skall fungera praktiskt.
Att skapa en lista kan vara användbart men hur man skall kunna använda
ett praktiskt namn såsom ESGG.id eller MinBil.färg o.s.v.

Fick ut data med minLista.Item(0).id. Men att använda ett index är ju inte alls praktiskt.
Vem vet vad index 214 är?

------------------------
Jag vill ta en sträng, kanske från en databas eller en lista av något slag.
Vi kan säga "XYZ".
Göra ett object (flygplats)(som kan användas överallt) med samma namn.
Lägga till lite data. XYZ.färg="Röd" XYZ.årtal=99 o.s.v.
Skriva ut detta på ex. en sida <%=XYZ.färg%>, eller använda på annat sätt i vb-koden


Svara

Sv: Deklarera och använda objekt globalt.

Postades av 2009-07-22 23:05:49 - Oskar Johansson

Ta och läs vad jag skriver någon gång ;) Titta på List _och_ Dictionary


Svara

Sv: Deklarera och använda objekt globalt.

Postades av 2009-07-22 23:17:50 - Andreas Hillqvist

Om du vill kunna hämta ett specifikt objekt med hjälp av en identited är ett Dictionary ett alternativ:

    Public ReadOnly flygplatser As New System.Collections.Generic.Dictionary(Of String, flygplats)


När du laddar dina objekt ger du varje elment en nyckel;
    flygplatser.Add("ESGL", New flygplats("ESGL", "A", "AA", "AAA", "..."))
    flygplatser.Add("ESGG", New flygplats("ESGG", "A", "BB", "BBB", "..."))
    flygplatser.Add("ESGR", New flygplats("ESGR", "A", "BB", "CCC", "..."))


Då kan du hämta ute en specifik egenskap utan att loopa igenom om du vet värdet:
    Dim key As String = "ESGG"    
    Console.WriteLine("metar = {0}", flygplatser(key).metar)


Du bör även kanske kika på Linq, litet exempel på enkla frågor:
    Private Sub Test(flygplatser As System.Collections.Generic.Dictionary(Of String, flygplats))
        Console.WriteLine("====================================")
        Console.WriteLine("Query:  1")
        Console.WriteLine("Filter: clickonmap = ""A""")

        Dim Query1 = From f In flygplatser.Values _
                     Where f.clickonmap = "A" _
                     Select f

        ListaFlygplatser(Query1)

        Console.WriteLine("====================================")
        Console.WriteLine("Query:  2")
        Console.WriteLine("Filter: vaderrad = ""BB""")

        Dim Query2 = From f In flygplatser.Values _
                     Where f.vaderrad = "BB" _
                     Select f

        ListaFlygplatser(Query2)

        Console.WriteLine("====================================")
        Console.WriteLine("Query:  3")
        Console.WriteLine("Filter: metar = ""CCC""")

        Dim Query3 = From f In flygplatser.Values _
                     Where f.metar = "CCC" _
                     Select f

        ListaFlygplatser(Query3)

        Console.WriteLine("====================================")


        
        Console.Read()

    End Sub

    Private Sub ListaFlygplatser(ByVal list As IEnumerable(Of flygplats))
        Dim f As flygplats
        For Each f In list
            Console.WriteLine("------------------------------------")
            Console.WriteLine("id         = {0}", f.id)
            Console.WriteLine("clickonmap = {0}", f.clickonmap)
            Console.WriteLine("vaderrad   = {0}", f.vaderrad)
            Console.WriteLine("metar      = {0}", f.metar)
            Console.WriteLine("taf        = {0}", f.taf)
        Next
        Console.WriteLine("------------------------------------")
    End Sub


Svara

Sv:Deklarera och använda objekt globalt.

Postades av 2009-07-23 17:48:55 - Pontus Kjellberg

Tack Oscar och Andreas!

Mycket bra med exemplen Andreas!
Lättare att förstå då.
Har använt flera delar av det.

/Pontus


Svara

Sv: Deklarera och använda objekt globalt.

Postades av 2009-07-23 18:26:02 - Oskar Johansson

En liten fundering bara.. När du säger att det är bra med exempel, har du tittat i dokumentationen? Där finns det gott om exempel nämligen. Ett litet tips bara till nästa gång ;)

http://msdn.microsoft.com/en-us/library/xfhwa508.aspx


Svara

Sv:Deklarera och använda objekt globalt.

Postades av 2009-07-24 13:47:56 - Magnus Karlsson

Hufasiken kan klockan vara 18:26:00 när min tid är 13:48.... BUGG


Svara

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 154
27 952
271 704
537
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