jueves, 28 de febrero de 2013

Configuracion Conexiones Workbench


Para realizar las diferentes configuraciones para el gestor de bases de datos Workbench, realizamos los siguientes pasos dependiendo del motor de bases de datos:

SQL SERVER


  • Para crear una conexión en el Workbench, debemos crear primero una conexión ODBC, donde ingresamos todos los datos correspondientes a la base de datos.
  • Luego en la interface de configuración de las conexiones del Workbench, configuramos la conexión como vemos a continuación:


















Ya con todas estas configuraciones bien realizadas, es muy posible que no existan problemas con la conexión.

ORACLE

[Configuracion]

INFORMIX

[Configuracion]

miércoles, 27 de febrero de 2013

Ventana Popup En Control WPF

Para asignar una ventana popup a un control, se puede realizar la siguiente lógica. En nuestro ejemplo vamos a mostrar una ventana popup para un boton, osea al dar clic en el botón se mostrara  la ventana.
El código para mostrar la ventana se agrega en el evento clic del botón:


private void Boton_Click(object sender, System.Windows.Input.ExecutedRoutedEventArgs e)
        {
            try
            {
                Dictionary<string, string> paramUserControl = new Dictionary<string, string>();
                paramUserControl.Add("unParametro");

                //Instanciamos el control wpf que va a mostrar la información.
                UCExample u = new UCExample ();
                u.SetContext(paramStateTreatment);

                //Instanciamos la ventana contenedora del control
                Popup popup = new Popup()
                {
                    Child = u,
                    AllowsTransparency = true,
                    StaysOpen = true,
                    IsOpen = false,
                    PlacementTarget = ((System.Windows.Controls.Control)(e.OriginalSource)),
                    Placement = PlacementMode.Left
                };

                //Binding para setear la propiedad "Width" del contenedor con la ventana de la información
                Binding widthBinding = new Binding("Width") { Mode = BindingMode.OneWay, Source = popup };
                ((FrameworkElement)u).SetBinding(WidthProperty, widthBinding);

                 //Le damos un tiempo para mostrar la ventana
                DispatcherTimer activeTimer = new DispatcherTimer { Interval = new TimeSpan(0,0,7) };
                activeTimer.Tick += (obj, ea) => ClosePopup(popup);
                activeTimer.Start();

                popup.IsOpen = true;
                return;
            }
            catch (Exception)
            {
                throw;
            }
        }

Dentro de una ventana popup puede ir cualquier template. El código del usercontrol que va a ir dentro de la ventana popup, es el siguiente:

XAML

<UserControl x:Class="Servinte.Clinic.Controls.UCSeeTreatmentStatus"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
             mc:Ignorable="d" Height="Auto" Width="Auto">
    <UserControl.Resources>
        <Style TargetType="Label" x:Key="lblControl">
            <Setter Property="HorizontalContentAlignment" Value="Left"/>
        </Style>
        <Style TargetType="TextBlock" x:Key="txtbControl">
            <Setter Property="HorizontalAlignment" Value="Left"/>
            <Setter Property="VerticalAlignment" Value="Center"/>
        </Style>
    </UserControl.Resources>
    <Border Background="White" BorderBrush="Black" BorderThickness="2">
        <Grid Margin="5">
            <Grid.ColumnDefinitions>
                <ColumnDefinition/>
                <ColumnDefinition Width="Auto"/>
            </Grid.ColumnDefinitions>
            <Grid.RowDefinitions>
                <RowDefinition Height="Auto"/>
                <RowDefinition Height="Auto"/>
                <RowDefinition Height="Auto"/>
                <RowDefinition Height="Auto"/>
            </Grid.RowDefinitions>
            <Label Content="Nombre " Style="{StaticResource lblControl}"/>
            <TextBlock Grid.Column="1" Name="txtbName" Style="{StaticResource txtbControl}"/>
            <Label Grid.Row="1" Content="Apellidos " Style="{StaticResource lblControl}"/>
            <TextBlock Grid.Row="1" Grid.Column="1" Name="txtbLastName" Style="{StaticResource txtbControl}"/>
            <Label Grid.Row="2" Content="Profesión " Style="{StaticResource lblControl}"/>
            <TextBlock Grid.Row="2" Grid.Column="1" Name="txtbProfession" Style="{StaticResource txtbControl}"/>
            <Label Grid.Row="3" Content="Fecha Nacimiento " Style="{StaticResource lblControl}"/>
            <TextBlock Grid.Row="3" Grid.Column="1" Name="txtbDateBorn" Style="{StaticResource txtbControl}"/>
        </Grid>
    </Border>
</UserControl>


C#

using System.Collections.Generic;
using System.Windows.Controls;

namespace MyNamespace.Controls
{
    /// <summary>
    /// Interaction logic for UCExample.xaml
    /// </summary>
    public partial class UCExample : UserControl
    {
        public UCExample()
        {
            InitializeComponent();
        }

        /// <summary>
        /// Seteamos el contexto de la ventana que informa los datos de la persona
        /// </summary>
        public void SetContext(Dictionary<string,string> param)
        {           
            //Nombre
            txtbName.Text = string.Format(": {0}", param["Name"]);
            //Apellidos
            txtbLastName.Text = string.Format(": {0}", param["LastName"]);
            //Profesion
            txtbProfession.Text = string.Format(": {0}", param["Profesion"]);
            //Fecha de nacimiento
            txtbDateBorn.Text = string.Format(": {0}",param["DateBorn"]));           
        }
    }
}



domingo, 24 de febrero de 2013

Mando de un Formula Uno




Si te gustaría conducir un auto de Fórmula Uno, primero tienes que saber cómo funciona el volante, para eso, esta práctica de los controles del nuevo MP4-28 de McLaren es ideal.

Los controles del volante del McLaren MP4-28: izquierda arriba
La cabina del auto de F1 es un lugar frugal: un asiento moldeado, un arnés de cuatro puntos y mucha fibra de carbono a la vista. Todos los controles que hacen andar a esta máquina ultra sofisticada de valor multimillonario están ubicados en el volante, y el conductor tiene que operarlo a casi 320km/h, usando unos guantes grandotes ignífugos.
1. La 'N' verde
Empecemos con algo fácil. El botón N verde grande pone la palanca de cambios en punto muerto. Probablemente, todos hayamos hecho esto en nuestro auto y está perfecto para el as de la F1 que quiere retroceder a los boxes.

2. El '+10' verde
 El botón '+10' verde lo usa el conductor cuando está viendo información del coche, puede adelantar hasta 10 páginas por vez. Debe haber mucha información…

3. El botón alargado rojo
Al costado del volante, este barril rojo giratorio con número es el interruptor diferencial. Le permite al conductor manipular las configuraciones de los diferenciales activos del auto sobre la marcha, ajustando el agarre del auto y el uso de la energía.
4. El lápiz labial rojo
No es un término técnico pero el interruptor rojo que parece un lápiz labial es en verdad el botón de la radio. El conductor lo usa para comunicarse con los expertos de la pit lane.

5. El botón 'OT' amarillo
Ahora se pone más emocionante. El botón amarillo con la 'OT' aumental as revoluciones del motor para ayudar a pasar a otros autos. Suele operarse en conjunto con el DRS y el KERS pero hablaremos de eso más adelante. OT significa 'over take',” tomar el mando” en inglés, lo que podría ser una expresión de deseo... pero nos gusta el optimismo.

6. La 'X' blanca
Parece como que podría bajar el parche del ojo y levantar la bandera negra pero en realidad el botón de la 'X' blanca solamente acepta y activa la página de información que escogió el conductor. Un poco decepcionante.

Los controles del volante del McLaren MP4-28: centro
Ahora estamos en el corazón del volante de F1.

1. Lectura en voz alta digital superior 
No es fácil de ver con el auto apagado pero en la parte superior del volante hay un tablero con pantalla digital que le informa al conductor todo tipo de cosas: tiene un indicador de velocidad, un contador de revoluciones, una pantalla de encendido, un cuentakilómetros, por lo general, con un número aterrador.

2. El cuadrante blanco
El cuadrante blanco a la izquierda controla el balance de los frenos del auto. Los frenos suelen estar a 60:40 hacia el frente pero, al conductor, sus amigos con laptop en la pit lane podrían instruirle que altere esta disposición, posiblemente para proteger las llantas.

3. El cuadrante rojo
El cuadrante rojo ajusta la cantidad de frenado de motor que tiene el auto. Esto es particularmente útil en los circuitos rápidos que el auto recorre con fuerza de agarre baja y que requieren algo de ayuda extra para la detención.

4. El cuadrante amarillo
Éste ajusta la configuración del motor del auto. El conductor puede cambiar la proporción combustible/aire sobre la marcha para influenciar sobre el rendimiento y/o la economía.


Los controles del volante del McLaren MP4-28: derecha arriba

Hay todavía más controles en el lado derecho del volante de F1.

1. El botón '+1' verde
Éste le permite al conductor hojear las páginas de información del tablero de a una a la vez.

2. El botón 'P' amarillo
Éste es el botón limitador de velocidad de la pit lane. Pínchalo y el auto baja de golpe a 80km/h para evitar un ticket por acelerar hacia dentro de los boxes.
3. El interruptor barril verde 
Este interruptor numerado controla el Sistema de Recuperación de Energía Kinética (KERS, por sus siglas en inglés). Almacena energía kinética en forma de electricidad y permite que salga toda junta en un chorro de rendimiento extra. Con este control, el conductor puede determinar cuánta energía almacena el auto.

4. El botón 'solapa' rojo
Controla el Sistema de Reducción de Arrastre. Mueve una solapa en la parte trasera para reducir el arrastre y aumentar la velocidad en el camino. Sólo recuerda volver a poner la solapa hacia atrás en la próxima esquina.

Los controles del volante McLaren MP4-28: derecha abajo
Ahora estamos en la parte derecha inferior del volante de F1 McLaren, esperamos que estés entendiendo todo.

1. El botón 'confirm' azul
Se usa cuando los boxes te están dando un regaño bienintencionado justo cuando estás esquivando una arremetida kamikaze a 250km/h en el interior de Michael Schumacher. Al presionarlo se confirma que el conductor recibió el mensaje sin que haya que hablar. Tal vez el botón podría decir 'ahora no' en lugar de 'confirmar'... o algo por el estilo.

2. El botón 'drinks' (bebidas)
Pedalear un auto de F1 es una tarea sedienta y este botón dispara un poco de ese refresco tan necesitado por la garganta del conductor. En tan sólo unos milisegundos después de presionarlo, desearás haberles pedido a los chicos del garaje que te dieran agua mineral fría y no sopa de minestrone.

3. El cuadrante de las llantas
El cuadrante grande, de aspecto impresionante en la parte inferior de esta foto es el cuadrante de las llantas. El conductor lo ajusta para decirle a la computadora qué llantas están puestas en el auto y así poder cambiar la configuración correspondiente.


Los controles del volante del McLaren MP4-28: izquierda abajo
El botón a la izquierda, minimalista en comparación, del volante del MP4-28 funciona de la siguiente manera.

1. El cuadrante púrpura
El cuadrante púrpura que está abajo a la izquierda del volante parece bastante inofensivo pero es el control multifunción y gobierna más de 50 configuraciones diferentes en todo el auto: desde el tablero que lee en voz alta hasta los parámetros del motor.
2. Distintivo Mercedes-Benz 
Les recuerda a los conductores McLaren quién construyó el motor.

Los controles del volante del McLaren MP4-28: parte posterior
¿Pensaste que ya habíamos visto todo? Piensa de nuevo, hay más en la parte posterior.

Fuera de la vista, en la parte detrás del volante, los conductores tienen palancas de cambio para cambiar la velocidad, el botón que dispara el chorro de energía del KERS y el embriague, aunque ese sólo se usa para encender el auto.



jueves, 21 de febrero de 2013

Desarrollo .NET


A continuacion voy a ir pegando enlaces de los tema sobre desarrollo en .NET: