Número 52octubre 2008

Visual Basic•C#•ASP.NET•ADO.NET•AJAXSilverlight.NET Framework

dotNetManía

Revista dedicada a los profesionales de la plataforma .NET

Menú

Inicio

Números publicados

Libros

Próximo número (nº53)

Autores

¿Qué es dotNetManía?

Garantía de satisfacción

Contactar

Pedidos

Suscripciones

Renovaciones

Libros

Publicidad

ALM '08


SP1 de Visual Studio 2008

Patrocinadores

Patrocinador Oro
Microsoft

Patrocinador Plata
Alhambra-Eidos

Patrocinadores Bronce
ABOX
Krasis
Plain Concepts
Raona
Solid Quality Mentors

 

 

 

Nº 1 Febrero 2004 Longhorn y el desarrollo Material de apoyo

Por Marino Posadas

Es costumbre cada 2 años que Microsoft aporte una nueva versión de sus sistemas operativos. No obstante, esta vez el período de tiempo será mayor, y según parece los cambios internos en el sistema, también. Es la herencia de algo que comenzó con la revolución .NET, de la cual esta edición de Windows es su exponente más completo. Vamos a analizar algunas de las características de sus 3 APIs principales.


Lo cierto es que Longhorn va a ser una revolución. Será el primer sistema operativo construido sobre código gestionado por el CLR de .NET

Más información
http://msdn.microsoft.com/Longhorn/
 


Código fuente

<Canvas

    xmlns="http://schemas.microsoft.com/2003/xaml"

    Background="LightCyan"

    Width="100%" Height="100%">

 

  <Text Canvas.Left="20" Canvas.Top="20" FontSize="18"> Saludos desde Longhorn!!!

  </Text> 

  <Image Source="4.bmp" Canvas.Left="50" Canvas.Top="70" />

 

</Canvas>

 

<!-- XAML file -->

 

<Window 

    xmlns="http://schemas.microsoft.com/2003/xaml"

    xmlns:def="Definition"

    def:Class="Application1.Window1"

    def:CodeBehind="Window1.xaml.cs"

    Text="Application1" Visible="True"

    >

   

    <DockPanel xmlns="http://schemas.microsoft.com/2003/xaml"

        xmlns:def="Definition" def:Language="C#" Background="White">

        <FlowPanel ID="sourceFlowPanel"

            MouseLeftButtonDown="OnLeftMouseDown"

            Margin="10,10,0,0" Background="cyan" Width="150px"

            Height="150px">

            <Text ID="caption" Margin="10,10,20,20" FontSize="16">Click on

                Me</Text>

        </FlowPanel>

    </DockPanel>

</Window>

 

// C# Codebehind class

 

using System;

using MSAvalon.Windows;

using MSAvalon.Windows.Input;

using MSAvalon.Windows.Controls;

using MSAvalon.Windows.Documents;

using MSAvalon.Windows.Navigation;

using MSAvalon.Windows.Shapes;

using MSAvalon.Windows.Data;

 

namespace Application1

{

    public partial class Window1 : Window

    {

        private bool expanded = false;

 

        private void OnLeftMouseDown(object sender, MouseButtonEventArgs e)

        {

            if (expanded)

            {

                sourceFlowPanel.Width = new

                    Length(sourceFlowPanel.Width.Value/2);

                sourceFlowPanel.Height = new

                    Length(sourceFlowPanel.Height.Value/2);

                caption.TextRange.Text = "Pulsa";

                expanded = false;

            }

            else

            {

                sourceFlowPanel.Width = new Length(2 *

                    sourceFlowPanel.Width.Value);

                sourceFlowPanel.Height = new Length(2 *

                    sourceFlowPanel.Height.Value);

                caption.TextRange.Text = "Gracias por pulsar";

                expanded = true;

            }

        }

    }

}

Fuente 1. Ejemplo de mezcla del código declarativo y el funcional.

 

//Acceso a ficheros de texto plano utilizando las API's de WinFs.

 

using System;

using System.Storage;

using System.Storage.Files;

 

class PruebaFicheros {

 

static void Main() {

 

  //Crea el fichero "Test.txt"

  str = "Lorem ipsum ...";

  file = new File (folder, "Test.txt");

  file.DisplayName = "Test.txt";

  file.Stream = System.Text.Encoding.ASCII.GetBytes (str);

  file.Save ();

      

  //Acceso al fichero

  string str = null;

  ItemContext ctx = ItemContext.Open();

  Folder folder = Folder.GetRootFolder(ctx);

  file = folder.GetOneMemberWithName ("Test.txt") as File;

  if (file != null)

  {

    str = System.Text.Encoding.ASCII.GetString(file.Stream);

  }

 

  // Borrado del fichero

  File file = folder.GetOneMemberWithName ("text.txt") as File;

  if (file != null)

    {

       file.Delete ();

    }

 

  }

}

Fuente 2. Ejemplo de acceso al sistema de fichero a través de código.

 

using System;

using System.MessageBus;

 

class app {

  static void Main() {

    // Crea un Puerto con nombre y lo abre

    Port port = new Port(new Uri("soap://localhost/ejemploPuerto"));

    port.Open();

   // espera indefinidamente…

    Console.ReadLine();

  }

}

Fuente 3. Crear y abrir un puerto.

 

Volver
 


dotNetManía es una revista editada por Netalia. Más información.