Vývojářský blog Tomáše Hercega

  Poslední články
  Období

RSS Feed RSS Feed

.NET Tips   2D   3D   Aplikace   ASP.NET   C#   C++   HTML+CSS   Internet   Javascript   Office   Silverlight   SQL   VB.NET   VB6   VbNet.cz   Vista   VS   Život, vesmír a vůbec   Všechny články

Vybrané období: Červenec 2007

Visual Studio 2008 Beta 2 uvolněno

Dnes jsem se podíval na oblíbený blog Scotta Guthrieho, hlavního manažera vývojářské divize Microsoftu (nebo jak by se to dalo jinak přeložit), který stojí prakticky za všemi novými technologiemi, jako třeba ASP.NET, Silverlight, Windows Presentation Foundation atd. A hned první příspěvek byl VS 2008 and .NET 3.5 Beta 2 Released.

Tak konečně. Po dlouhém očekávání je na světě verze Beta 2 další verze bezesporu nejlepšího vývojového prostředí všech dob - Visual Studia .NET. Stávající verze je Visual Studio 2005, které je určeno k vývoji aplikací na .NET Framework 2.0. Pro využití technologií z nové verze 3.0 je nutné nainstalovat do této verze doplňky. Nová verze Visual Studio 2008 bude mít pro tyto technologie podporu vestavěnou.

Co nás tedy čeká nového?

  • Podpora CSS a témat v designeru v aplikacích ASP.NET.
  • Multi-targeting - můžeme si vybrat, pro kterou verzi .NET frameworku náš projekt bude. Podle toho se nám přizpůsobí intellisense, tedy automatické nabízení vlastností a doplňování kódu.
  • Podpora AJAX a Javascriptu ve vývojovém prostředí včetně ladění javascriptů.
  • Technologie LINQ - nový způsob práce s daty pomocí syntaxe podobné SQL přímo v kódu jazyka.
  • Podpora technologie Silverlight, což je framework pro interaktivní aplikace v rámci webové stránky (něco jako flash, ale můžeme programovat v prostředí, které dobře známe, a v jazycích, které již umíme, tzn. Visual Basic .NET, C# atd.)

... a mnoho dalších vylepšení.

[Pokračování článku]

Datum: 27. 7. 2007 9:42
Diskuse: 0
Hodnocení: Hodnocení: 3/5Hodnocení: 3/5Hodnocení: 3/5Hodnocení: 3/5Hodnocení: 3/5     Zobrazeno: 2907x

Kategorie: VB.NET, Internet, C#, Silverlight        

Struktury v Dictionary a For Each cyklus

Dnes jsem narazil na další záludnost .NET Frameworku - ve skutečnosti to není záludnost, je to zcela logické, ale rozhodně ne samozřejmé. Pokud používáte generický objekt Dictionary, což je jakýsi slovník klíč - hodnota, občas potřebujete projít všechny jeho položky a něco s nimi provést (např. uložit je do souboru). Není nic jednoduššího než cyklus For Each:

Structure CustomData       'datová struktura s daty
    Dim Id As Integer, Name As String, Description As String, Verze As Integer
End Structure

Dim dic As New Dictionary(Of String, CustomData)    'silně typovaný slovník

Public Sub ProjitSlovnik()	'vypsat všechny položky ve slovníku
    For Each c As CustomData In dic.Values
        MsgBox(c.Name & " " & c.Description)
    Next
End Sub

Navíc si při deklaraci zvolíte datové typy klíče i dat a už v době psaní kódu vám Visual Studio doplňuje možnosti, protože je datový typ známý v době kompilace. Takovému způsobu říkáme strong-typing (silné typování).

Funguje to naprosto perfektně, je to rychlé a pohodlné. Až do chvíle, kdy potřebujete v cyklu změnit obsah dat - pokud jde o strukturu, máme problém. Tyto typy se totiž nepředávají referencí (adresou), ale hodnotou. Pokud tedy změníme uvnitř cyklu data, změna se neprojeví. Slovník totiž vrátí kopii dat a ne odkaz na původní položku. Je to stejné jako při předávání argumentů procedury přes ByRef a ByVal.

    Public Sub ZmenitData()
        Dim d As New CustomData()       'vytvořit fiktivní položku
        d.Name = "test"
        dic.Add("klic", d)

        For Each c As CustomData In dic.Values   'nastavit všem položkám jméno "nazdar lidi"
            c.Name = "nazdar lidi"
        Next

        MsgBox(dic("klic").Name)        'pokud vypíšeme jméno, vrátí se "test", změna ve For Each cyklu se neprojevila
    End Sub

[Pokračování článku]

Datum: 22. 7. 2007 13:14
Diskuse: 2
Hodnocení: Hodnocení: 5/5Hodnocení: 5/5Hodnocení: 5/5Hodnocení: 5/5Hodnocení: 5/5     Zobrazeno: 3689x

Kategorie: VB.NET        

 Strana 1 z 1 (článků: 2) 1 
 

VBNET.CZ | © 2007 Tomáš Herceg, Tomáš Jecha | Kopírování a přejímání jakéhokoliv obsahu z tohoto webu je bez písemného svolení autorů zakázáno.