Professional Documents
Culture Documents
Prefacio:
El taller de aplicaciones móviles, es naturaleza teó-
móviles.
2
INDICE DE CONTENIDOS
I. PREFACIO
02
40
III. TRABAJO PRÀCTICO
40
IV. FUENTES DE INFORMACIÓN
3
CAPÍTULO I: VISUAL BASIC NET
El mercado de las aplicaciones para móviles ha cambiado de una forma radical en los
últimos años. Al principio, para publicar aplicaciones móviles tenías que disponer del
apoyo de una operadora o de una gran firma de juegos, pero con la aparición de los
markets de aplicaciones, esto ha cambiado y cualquier persona puede publicar su app
y empezar a ganar dinero. Una alternativa que tienes a la hora de acceder a un mercado,
es optar por un sistema de desarrollo multiplataforma. Este tipo de soluciones te van a
permitir acceder a múltiples mercados a la vez, pero posiblemente con un sacrificio en
el rendimiento de las aplicaciones. Todo depende del tipo de aplicaciones que pretendas
desarrollar. Existen algunos frameworks de desarrollo que una vez realizado el código
puedes compilarlo y distribuirlo en múltiples plataformas.
Introducción a .NET
La plataforma NET en realidad no es algo
radicalmente nuevo. Es un conjunto de
tecnologías dispersas, que en muchos casos ya
existían, que Microsoft ha integrado en una
plataforma común con el objetivo de facilitar el
desarrollo de este nuevo tipo de servicios de
tercera generación.e esta nueva plataforma:
• Integración: Proporcionar mecanismos para
que una empresa pueda ofrecer servicios a otras empresas o clientes de una forma
sencilla y rápida. En general, este tipo de servicios se suelen denominar B2B: Business
to Business y B2C: Business to Client.
4
• Nuevos dispositivos: La forma más
común de acceso a Internet h asta ahora
ha sido la pc personal con sus
limitaciones de movilidad. Pero
recientemente han ido apareciendo una
serie de dispositivos que permiten el
acceso a servicios Internet de forma
rápida y directa, como por ejemplo
agendas electrónicas, teléfonos móviles,
WebTV, videoconsolas, etc. Esto supone
un cambio radical en la forma de acceder
a este tipo de servicios.
Con estos objetivos, Microsoft .NET es una plataforma para construir, ejecutar y
experimentar la tercera generación de aplicaciones distribuidas, que consiste en los
siguientes elementos:
Un modelo de programación pasado en XML.
• Un conjunto de servicios Web XML, como Microsoft .NET My Services para facilitar
a los desarrolladores integrar estos servicios.
• Un conjunto de servidores que permiten ejecutar estos servicios (como .NET
Enterprise Servers).
• Software en el cliente para poder utilizar servicios (como Windows, agendas
electrónicas, etc.)
• Herramientas para el desarrollo como Visual Studio.NET.
5
Estos servicios se ofrecerán al cliente a través de distintos canales, lo que Microsoft ha
denominado Experiencias de Usuarios. Así, Microsoft ha pensado que MSN sea el canal
para clientes domésticos y bCentral es el canal de comercio electrónico para empresas.
DESCRIPCIÓN Y UTILIZACIÓN DE
FRAMEWORK.
El concepto framework se emplea en muchos
ámbitos del desarrollo de sistemas software, no
solo en el ámbito de aplicaciones Web. Podemos
encontrar frameworks para el desarrollo de
aplicaciones médicas, de visión por computador,
para el desarrollo de juegos, y para cualquier
ámbito que pueda ocurrírsenos. En general, con el término framework, nos estamos
refiriendo a una estructura software compuesta de componentes personalizables e
intercambiables para el desarrollo de una aplicación. En otras palabras, un framework
se puede considerar como una aplicación genérica incompleta y configurable a la que
podemos añadirle las últimas piezas para construir una aplicación concreta.
6
INFORMACIÓN GENERAL ACERCA DE .NET FRAMEWORK
Proporcionar un entorno coherente de programación orientada a objetos, en el que el
código de los objetos se pueda almacenar y ejecutar de forma local, ejecutar de forma
local pero distribuida en Internet o ejecutar de forma remota. Proporcionar un entorno
de ejecución de código que minimiza los conflictos en el despliegue y versionado de
software. Ofrecer un entorno de ejecución de código que promueva la ejecución segura
del mismo, incluso del creado por terceros desconocidos o que no son de plena
confianza. Proporcionar un entorno de ejecución de código que elimine los problemas
de rendimiento de los entornos en los que se utilizan scripts o intérpretes de comandos.
Ofrecer al programador una experiencia coherente entre tipos de aplicaciones muy
diferentes, como las basadas en Windows o en el Web. Basar toda la comunicación en
estándares del sector para asegurar que el código de .NET Framework se puede
integrar con otros tipos de código.
7
USO DE WINDOWS MOBILE/PHONE
Windows Mobile es un sistema operativo móvil compacto
desarrollado por Microsoft, y diseñado para su uso en
teléfonos inteligentes y otros dispositivos móviles. Se
basa en el núcleo del sistema operativo Windows CE y
cuenta con un conjunto de aplicaciones básicas utilizando
las API de Microsoft Windows. Está diseñado para ser
similar a las versiones de escritorio de Windows
estéticamente. Además, existe una gran oferta de
software de terceros disponible para Windows Mobile, la
cual se podía adquirir a través de Windows Marketplace
for Mobile.
8
Desarrollar en Smart Devices con Visual Basic
Visual Studio, admite Visual Basic para el
desarrollo de aplicaciones de Smart Device.
Proporciona las herramientas y estructura
necesarias para desarrollar aplicaciones de Pocket
PC, Smartphone y otras plataformas basadas en
Windows CE.
Desarrollar para dispositivos
En general, se pueden desarrollar dos tipos de aplicaciones para dispositivos:
Aplicaciones Web móviles que se ejecutan en un servidor Web y se representan en
formatos diferentes en una gama de dispositivos móviles equipados con un
explorador. Para obtener más información, vea Crear páginas Web de ASP.NET
Mobile.
Aplicaciones basadas en Windows CE mejoradas para el cliente que se ejecutan
en el propio dispositivo. Este enfoque generalmente es lo que queremos decir con
el término "aplicación de Smart Devices".
9
Actualmente, el framework .NET soporta los lenguajes de programación C#, Visual
Basic, Object Pascal (Delphi), C++, J# (que se ha discontinuado a partir de la versión
2010 de Visual Studio), Perl, Python, Fortran, Cobol, Power- Builder, Prolog, y el
recientemente incorporado F#, entre otros. Cualquier persona o empresa puede publicar
un lenguaje de programación orientado hacia la plataforma .NET siempre y cuando
respete la convención propuesta por Microsoft, la cual garantiza el correcto
funcionamiento de una solución basada en software dentro de la computadora en que
es ejecutada. Visual Basic .NET (VB.NET) es un lenguaje de programación orientado a
objetos que se puede considerar una evolución de Visual Basic implementada sobre el
framework .NET. Su introducción resultó muy controvertida, ya que debido a cambios
significativos en el lenguaje VB.NET no es retro compatible con Visual Basic, pero el
manejo de las instrucciones es similar a versiones anteriores de Visual Basic, facilitando
así el desarrollo de aplicaciones más avanzadas con herramientas modernas. Para
mantener eficacia en el desarrollo de las aplicaciones. La gran mayoría de
programadores de VB.NET utilizan el entorno de desarrollo integrado Microsoft Visual
Studio en alguna de sus versiones (desde el primer Visual Studio .NET hasta Visual
Studio .NET 2013, que es la última versión de Visual Studio para la plataforma .NET),
aunque existen otras alternativas, como SharpDevelop (que además es libre).
Al igual que con todos los lenguajes de programación basados en .NET, los programas
escritos en VB .NET requieren el Framework .NET o Mono para ejecutarse
Visual Basic
Visual Basic es un lenguaje de tercera generación basada en eventos de programación
y entorno de desarrollo integrado de Microsoft para su modelo de programación COM
lanzado por primera vez en 1991 - Visual Basic está diseñado para ser relativamente
fácil de aprender y usar. Visual Basic se deriva de BASIC y permite el desarrollo rápido
de aplicaciones de aplicaciones de interfaz gráfica de usuario, el acceso a bases de
datos utilizando Data Access Objects, Remote Data Objects, o ActiveX Data Objects, y
la creación de controles ActiveX y objetos. El lenguaje de programación VBScript es un
subconjunto de Visual Basic.
10
Dado que los atributos y acciones predeterminadas se definen para los componentes,
un programa simple se puede crear sin que el programador tener que escribir muchas
líneas de código. Los problemas de rendimiento se experimentaron en las versiones
anteriores, pero con un equipo más rápido y la compilación del código nativo esto se ha
convertido en un problema menor.
Los formularios se crean utilizando técnicas de arrastrar y soltar.
Una herramienta se utiliza para colocar los controles en el formulario. Los controles
tienen atributos y controladores de eventos asociados a ellos. Los valores por defecto
se proporcionan cuando se crea el control, pero pueden ser modificados por el
programador. Muchos valores de los atributos se pueden modificar en tiempo de
ejecución en base a las acciones del usuario o cambios en el medio ambiente,
proporcionando una aplicación dinámica.
Por ejemplo,
Características
Las declaraciones tienden a ser terminada con palabras clave como "End If", en
lugar de utilizar "{}" s a las declaraciones del grupo.
Asignación de variable múltiple no es posible. A = B = C, no implica que los valores
de A, B y C son iguales. El resultado booleano de "es B = C?" se almacena en A.
El resultado se almacena en A por lo tanto, ser falsa o verdadera.
11
Constante booleana verdadera tiene valor numérico -1. Esto se debe a que el tipo
de datos Boolean se almacena como un entero con signo de 16 bits. En esta
construcción -1 evalúa a 16 1 binarios, y 0 como 16 0s. Esto es evidente cuando se
realiza una operación NOT en un entero con signo de 16 bits valor 0 que devolverá
el valor entero -1, en otras palabras Verdadero = no falsas. Esta funcionalidad
inherente es especialmente útil cuando se realizan operaciones lógicas en los bits
individuales de un número entero tal como And, Or, Xor y Not. Esta definición de la
verdadera también es consistente con el BASIC desde principios de los años 1970
Microsoft implementación básica y también está relacionado con las características
de instrucciones de la CPU en el momento.
12
ÁMBITO EN VISUAL BASIC
El ámbito de un elemento declarado es el
conjunto de todo el código que puede
hacer referencia a él sin calificar su
nombre o marcarlo como disponible
mediante Instrucción Imports (Tipo y
espacio de nombres de .NET). Un
elemento puede tener uno de los niveles
de ámbito siguientes:
Ámbito de bloque
Ámbito disponible únicamente en el
bloque de código en el que se ha declarado
Ámbito de procedimiento
Disponible para todo el código dentro del procedimiento en el que se ha declarado
Ámbito de módulo
Disponible para todo el código dentro del módulo, clase o estructura en el que se ha
declarado
Ámbito de espacio de nombres
Disponible para todo el código dentro del espacio de nombres en el que se ha declarado
Especificar ámbito y definir variables
El ámbito de un elemento se especifica al declararlo y puede depender de los
factores siguientes:
La región (bloque, procedimiento, módulo, clase o estructura) donde se declara
el elemento.
El espacio de nombres que contiene la declaración del elemento.
El nivel de acceso que se declara para el elemento.
13
Un elemento declarado en un procedimiento no está disponible fuera de él.
Solamente el procedimiento que contiene su declaración puede utilizarlo. Las
variables en este nivel también se denominan variables locales. Se declaran con
Instrucción Dim (Visual Basic), con o sin la palabra clave Static (Visual Basic).
Los ámbitos de procedimiento y de bloque están estrechamente relacionados. Si
se declara una variable dentro de un procedimiento, pero fuera de un bloque
dentro del procedimiento, puede considerarse que la variable tiene ámbito de
bloque, donde el bloque es el procedimiento completo.
ELECCIÓN DE ÁMBITO
Las variables locales son una buena elección para cualquier tipo de cálculo temporal,
por las razones siguientes:
Evitar conflictos de nombres. Los nombres de variables locales no son
susceptibles de entrar en conflicto. Por ejemplo, es posible crear varios
procedimientos distintos que contengan una variable denominada intTemp. En
tanto que intTemp esté declarado como una variable local, cada procedimiento
reconocerá únicamente su propia versión de intTemp. Cualquier procedimiento
puede cambiar el valor de su variable intTemp local sin que ello afecte a las
variables intTemp del resto de los procedimientos.
Consumo de memoria. Las variables locales sólo utilizan la memoria mientras su
procedimiento está en ejecución. Su memoria se libera cuando el procedimiento
vuelve al código de llamada. Por el contrario, las variables Shared (Visual Basic)
y Static (Visual Basic) consumen recursos de memoria hasta que su aplicación
deja de ejecutarse, por lo que se deben utilizar sólo cuando sea necesario. Las
variables de instancia utilizan la memoria mientras su instancia sigue existiendo,
lo que les resta eficacia frente a las variables locales pero son potencialmente
más eficaces que las variables Shared o Static.
14
En general, cuando se declara una variable o una constante, es un buen hábito de
programación asignar un ámbito lo más restringido posible (el ámbito de un bloque es
el más restringido). Esto permite que no se pierda memoria y reduce al mínimo la
posibilidad de que el código haga referencia por error a una variable incorrecta. Del
mismo modo, sólo debería declararse una variable como Static (Visual Basic) si es
necesario que conserve su valor entre una llamada al procedimiento y otra.ucturas de)
Las estructuras de bucles de Visual Basic permiten ejecutar una o varias líneas de
código de forma repetitiva. Puede repetir las instrucciones de una estructura de bucles
hasta que una condición sea True, una condición sea False, un número de veces
especificado o una vez para cada objeto de una colección.
En el siguiente ejemplo se muestra una estructura de bucle que ejecuta un conjunto de
instrucciones hasta que una condición se convierta en verdadera.
Ejecutar un conjunto
de instrucciones hasta
que una condición se
convierta en verdadera
Gráfico de flujo de un
bucle Do...Until
Bucles While
La construcción While...End While ejecuta un
conjunto de instrucciones mientras la
condición especificada en la instrucción While
sea True
Bucles Do
La construcción Do...Loop le permite probar
una condición al comienzo o al final de una
estructura de bucle. También puede
especificar si repite el bucle mientras la
condición sigue siendo True o hasta que se
convierta en True
Bucles For
La construcción For...Next ejecuta el bucle un número fijo de veces. Utiliza una variable
de control de bucle, también denominada contador para realizar el seguimiento de las
repeticiones. Especifica los valores de inicio y fin de este contador, y puede especificar
opcionalmente la cantidad en la que se incrementa de una repetición a la siguiente
Bucles For Each
La construcción For Each...Next ejecuta un conjunto de instrucciones una vez para cada
elemento de una colección. Especifica la variable de control de bucle pero no tiene que
determinar los valores de inicio y fin para ella. Para obtener más información.
15
USO Y SINTAXIS DE LOS ARRAYS O MATRICES.
Los Arrays o matrices son unas estructuras de datos muy
utilizadas en cualquier lenguaje. Se tratan de variables, pero
que están preparadas para guardar una cantidad mayor de
elementos. Es como una variable que tiene varios
compartimentos para guardar la información y a cada uno
de esos compartimentos hay que acceder con un índice.
Antes de utilizar un array debemos declararlo de manera
obligatoria, para ello utilizamos la palabra clave DIM, de este
modo.
dim miArray(20)
Después de la palabra DIM debemos indicar el nombre del array y a continuación, entre
paréntesis, se coloca el número de posición máxima del array, en este caso 20.
Los arrays en ASP comienzan desde la posición 0, es decir, el primer elemento de un
array está en la posición 0. Por tanto, si el array ha sido definido con 20 casillas, como
en el ejemplo, tendrá 21 elementos, primera posición será la 0 y la última posición sería
la 20.
Para asignar un valor a un array se realiza igual que una variable, pero accediendo con
el índice de la posición que queremos escribir.
miArray(0) = 234
Para utilizar el contenido de un array debemos hacerlo indiando el índice al que se desea
acceder. Por ejemplo, si quisiesemos imprimir en la página la primera posición de
nuestro Array lo haríamos de esta manera.
document.write(miArray(0))
Ejemplos
dim matriz (10)
for i=0 to 10
Matriz (i)=100 * i
next
for i=0 to 10
document.writeln("Posicion " & i & ": " & matriz(i) &
"<br>")
next
16
dim miArray2Dimensiones (7,7)
Como el array es de 8 casillas, utilizamos un 7 y sus
posiciones serán las 8 que van desde el 0 al 7. Para escribir
y leer del Array podemos utilizar la coma de manera similara
a como se declara. Por ejemplo, para meter datos en la
posición 0,2 haríamos lo siguiente:
miArray2Dimensiones (0,2) = "texto posicion 0,2"
Redimensionar arrays
Podemos declarar también arrays que cambien el número de
casillas que tienen según se necesite en tiempo de ejecución.
Este tipo de arrays redimensionables se llama array dinámico. Para crear este tipo de
arrays podemos utilizar la sentencia dim (como creábamos los anteriores) o la sentencia
redim, con la particularidad que no le colocamos ningún valor entre paréntesis donde
antes indicábamos el número de casillas del array.
dim mi_array()
redim mi_otro_array()
Cuando usamos arrays dinámicos podemos utilizar la sentencia redim para indicar el
número de dimensiones y la cantidad de casillas de cada dimensión.
Con esta sentencia estamos indicando que mi_array debe tener el tamaño 10. Casillas
desde la 0 hasta la 10.
redim mi_array(10)
Si indicamos la clave "preserve" estamos asegurándonos que el contenido de las
casillas que había previamente en el array se mantiene.
redim preserve mi_array(20)
Por último, si en cualquier momento reducimos el número de casillas perderemos lo que
pudiera haber guardado en las casillas que se han eliminado.
PROCEDIMIENTOS DE FUNCIÓN
(VISUAL BASIC)
Un procedimiento Function es una serie de
instrucciones de Visual Basic delimitadas por
las instrucciones Function y End Function. El
procedimiento Function realiza una tarea y, a
continuación, devuelve el control al código de
llamada. Cuando devuelve el control, también
devuelve un valor al código de llamada. Puede
definir un procedimiento Function en un
módulo, clase o estructura. Es Public de forma
predeterminada, lo que significa que puede
llamarlo desde cualquier lugar de la aplicación
que tenga acceso al módulo, clase o
estructura en el que se ha definido. Un procedimiento Function puede aceptar
argumentos, como constantes, variables o expresiones, que le pasa el código de
llamada.
17
SINTAXIS DE LA DECLARACIÓN
La sintaxis para declarar un procedimiento Function
es la siguiente:
[Modifiers] Function FunctionName
[(ParameterList)] As ReturnType
[Statements]
End Function
Todos los procedimientos Function tienen un tipo de
datos, al igual que las variables.
18
CAPÍTULO II: EMULADORES EN VISUAL BASIC .NET
CONTROLE DE DISPOSITIVOS.
En Visual C#, puede utilizar el Diseñador de Windows Forms
o el Diseñador de Windows Presentation Foundation (WPF)
para crear interfaces de usuario de forma rápida y cómoda.
Los tres pasos básicos para crear interfaces de usuario son:
Agregar los controles a la superficie de diseño.
Establecer las propiedades iniciales de los controles.
Escribir los controladores para los eventos
especificados.
Aunque también puede escribir su propio código para crear
la interfaz de usuario, los diseñadores permiten hacer este trabajo mucho más
rápidamente. También puede utilizar Visual C# para crear aplicaciones de consola que
tengan una interfaz de usuario basada en texto simple. Para obtener más información,
vea Crear aplicaciones de consola (Visual C#).
Agregar controles
En cualquiera de los diseñadores se utiliza el mouse para arrastrar controles, que son
los componentes con representación visual, como botones y cuadros de texto, hasta
una superficie de diseño. La siguiente ilustración muestra un cuadro combinado que se
ha arrastrado desde la ventana Cuadro de herramientas a un formulario en el Diseñador
de Windows Forms.
19
Cuadro de herramientas y diseñador de Windows
Forms
A medida que se trabaja visualmente, el Diseñador de
Windows Forms traduce las acciones en código fuente
de C# y las escribe en un archivo de proyecto llamado
nombre.designer.cs donde nombre es el nombre
asignado al formulario. De igual forma, WPF Designer
traduce las acciones de la superficie de diseño a
código de lenguaje de marcado de aplicaciones
extensible (XAML) y lo escribe en un archivo de
proyecto que se denomina Window.xaml.
20
Puede utilizar la ventana Propiedades para especificar qué eventos desea tratar en el
código. Seleccione un control en el diseñador y haga clic con el icono Rayo en el botón
Eventos de la barra de herramientas de la ventana Propiedades para ver los eventos
del control. El icono siguiente muestra el botón de eventos.
Botón de eventos de la ventana Propiedades
Al agregar un controlador de evento desde la ventana Propiedades, el diseñador escribe
automáticamente el cuerpo del método vacío. Deberá escribir el código de manera que
el método haga algo útil. La mayoría de los controles generan muchos eventos, pero
normalmente una aplicación sólo tendrá que tratar algunos de ellos o incluso sólo uno.
Por ejemplo, probablemente tenga que controlar el evento Click de un botón, pero no su
evento SizeChanged, a menos que desee realizar una acción cuando cambie el tamaño
del botón.
Funciones de cadena
En la tabla siguiente se enumeran las funciones que Visual Basic proporciona
para buscar y manipular las cadenas.
Método en .NET
Descripción
Framework
Devuelve un valor de tipo Integer que representa el código de carácter que corresponde a
Asc , AscW
un carácter.
Chr , ChrW Devuelve el carácter asociado al código de carácter especificado.
Devuelve una matriz basada en cero que contiene un subconjunto de una matriz String
Filter
basada en criterios de filtro especificados.
Devuelve una cadena con el formato que especifiquen las instrucciones contenidas en una
Format
expresión String de formato.
Devuelve una expresión con formato de moneda en la que se utilizará el símbolo de
FormatCurrency
moneda que se haya definido en el panel de control del sistema.
FormatDateTime Devuelve una expresión de cadena que representa un valor de fecha u hora.
FormatNumber Devuelve una expresión con formato de número.
Devuelve una expresión con formato de porcentaje (multiplicada por 100), acompañada
FormatPercent
del carácter final %.
Devuelve un entero que especifica la posición inicial de la primera aparición de una cadena
InStr
dentro de otra.
Devuelve la posición de la primera aparición de una cadena dentro de otra, comenzando
InStrRev
por el extremo derecho de la cadena.
Devuelve una cadena creada a partir de la combinación de varias subcadenas contenidas
Join
en una matriz.
LCase Devuelve una cadena o un carácter convertidos en minúscula.
Devuelve una cadena que contiene un número especificado de caracteres a partir del lado
Left
izquierdo de una cadena.
Len Devuelve un entero que contiene el número de caracteres de una cadena.
Devuelve una cadena alineada a la izquierda que contiene la cadena especificada ajustada
LSet
a la longitud indicada.
Devuelve una cadena que contiene una copia de una cadena especificada sin espacios
LTrim
iniciales.
Devuelve una cadena que a su vez contiene un número especificado de caracteres de una
Mid
cadena.
Devuelve una cadena en la que la subcadena especificada se reemplaza determinado
Replace
número de veces por otra subcadena.
Devuelve una cadena que contiene un número especificado de caracteres desde el lado
Right
derecho de una cadena.
Devuelve una cadena alineada a la derecha que contiene la cadena especificada y con la
RSet
longitud especificada.
Devuelve una cadena que contiene una copia de una cadena especificada sin espacios
RTrim
finales.
Space Devuelve una cadena que consta del número especificado de espacios.
Devuelve una matriz unidimensional basada en cero que contiene un número especificado
Split
de subcadenas.
StrComp Devuelve un valor, -1, 0 ó 1, que indica el resultado de una comparación de cadena.
StrConv Devuelve una cadena convertida según se ha especificado.
Devuelve una cadena o un objeto que se compone del carácter especificado repetido el
StrDup
número de veces especificado.
Devuelve una cadena en la que se invierte el orden de los caracteres de la cadena
StrReverse
especificada.
Devuelve una cadena que contiene una copia de una cadena especificada sin espacios
Trim
iniciales o finales.
Devuelve una cadena o un carácter que contiene la cadena especificada convertida en
UCase
mayúsculas.
21
Puede usar la instrucción Option Compare para estable-
cer si las cadenas se comparan mediante un criterio de
ordenación de texto sin distinción entre mayúsculas y
minúsculas determinado por la configuración regional
del sistema (Text) o por las representaciones binarias in-
ternas de los caracteres (Binary). El método predetermi-
nado de comparación de texto es Binary.
FUNCIONES FECHAS
Date (Tipo de datos, Visual Basic).- Contiene valores IEEE de 64 bits (8 bytes) que
representan fechas comprendidas entre el 1 de enero del año 0001 y el 31 de diciembre
de 9999, y horas comprendidas entre las 0:00:00 (medianoche) y las 11:59:59. Cada
incremento representa 100 nanosegundos de tiempo transcurrido desde el comienzo
del 1 de enero del año 1 del calendario gregoriano. El valor máximo representa 100
nanosegundos antes del comienzo del 1 de enero del año 10000.
El valor predeterminado de Date es 0:00:00 (medianoche) del 1 de enero de 0001.
Puede obtener la fecha y hora actual de la clase DateAndTime.
REQUISITOS DE FORMATO
Debe incluir un literal Date dentro de los signos de
número (# #). Debe especificar el valor de fecha
en el formato M/d/yyyy, por ejemplo #5/31/1993#.
Este requisito es independiente de la
configuración regional y de la configuración de
formato de fecha y hora del equipo.
El motivo de esta restricción es que el significado
del código nunca debe cambiar en función de la
configuración regional en que se ejecuta la
aplicación. Suponga que codifica un literal Date
de #3/4/1998# y piensa que signifique el 4 de marzo de 1998. En una configuración
regional que use el formato mm/dd/aaaa, 3/4/1998 se compila como desee. Pero
suponga que implementa la aplicación en varios países. En una configuración regional
que use el formato dd/mm/aaaa, el literal incluido en el código se compilará como April
3, 1998. En una configuración local que utilice el formato aaaa/mm/dd, el literal no sería
válido (April 1998, 0003) y generaría un error de compilación.
Formato de hora
22
Puede especificar el valor de hora con un formato de
12 horas o de 24 horas, por ejemplo #1:15:30 PM#
o #13:15:30#. Sin embargo, si no especifica los
minutos ni los segundos, debe especificar a.m. o
p.m.de f y hora
Si no incluye una fecha en un literal de fecha y hora,
Visual Basic establecerá la parte del valor
correspondiente a la fecha en el 1 de enero de 0001.
Si no incluye una hora en un literal de fecha y hora,
Visual Basic establecerá la parte del valor
correspondiente a la hora en el comienzo del día, es
decir, medianoche (0:00:00)
Funciones Números
Los métodos de la clase de System.Math proporcionan funciones
matemáticas trigonométricas, logarítmicas, y otras comunes.
Descripción
Abs Devuelve el valor absoluto de un número.
Acos Devuelve el ángulo cuyo coseno es el número especificado.
Asin Devuelve el ángulo cuyo seno es el número especificado.
Atan Devuelve el ángulo cuya tangente corresponde al número especificado.
Atan2 Devuelve el ángulo cuya tangente es el cociente de dos números especificados.
BigMul Devuelve el producto completo de dos números de 32 bits.
Ceiling Devuelve el valor entero más pequeño que es mayor o igual Decimal especificado
o Double.
Cos Devuelve el coseno del ángulo especificado.
Cosh Devuelve el coseno hiperbólico del ángulo especificado.
DivRem Devuelve el cociente de dos de 32 bits o de enteros con signo de 64 bits, y también
devuelve el resto de un parámetro de salida.
Exp Devuelve e (base de los logaritmos naturales) se produce a la potencia
especificada.
Floor Devuelve el entero más grande que sea menor o igual que Decimal o el número
especificado de Double.
IEEERemainder Devuelve el resto que es el resultado de la división de un número especificado por
otro número especificado.
Log Devuelve el logaritmo natural (de e base) de un número especificado o el logaritmo
de un número especificado en una base especificada.
Log10 Devuelve el logaritmo en base 10 de un número especificado.
Max Devuelve el mayor de dos números.
Min Devuelve el menor de dos números.
Pow Devuelve un número especificado elevado a la potencia especificada.
Round Devuelve un valor de Decimal o de Double redondeado al valor entero más cercano
o a un número especificado de dígitos fraccionarios.
Sign Devuelve un valor Integer que indica el signo de un número.
Sin Devuelve el seno del ángulo especificado.
Sinh Devuelve el seno hiperbólico del ángulo especificado.
Sqrt Devuelve la raíz cuadrada de un número especificado.
Tan Devuelve la tangente del ángulo especificado.
Tanh Devuelve la tangente hiperbólica del ángulo especificado.
Truncate Calcula la parte entera de Decimal o un número especificado de Double.
23
Para utilizar estas funciones sin calificación, importe el espacio de
nombres System.Math en el proyecto agregando el código siguiente en
la parte superior del archivo de código fuente.
24
Poder ejecutar la página en un dispositivo, como un
teléfono móvil. También puede utilizar un emulador
entre varias opciones posibles. Obtenga acceso a
Servicios de Microsoft Internet Information Server (IIS)
y permiso para crear una nueva aplicación en IIS. Es
recomendable utilizar una copia local de IIS para las
páginas de la aplicación, ya que facilita la comprobación
de la aplicación con el emulador. Sin embargo, si no le
es posible crear una aplicación con IIS, quizá pueda
utilizar un emulador en el servidor Web de Microsoft
Visual Web Developer.
25
En NetroMedia, podemos proporcionar la entrega de transmisiones en Vivo y bajo
demanda a dispositivos móviles. Para codificar su
contenido antes de que sea subida su servicio
“streaming on-demand” para su distribución, le
sugerimos las siguientes herramientas:
Transmisión En Vivo – Servicio En Vivo
usando Flash con soporte a móviles
habilitado
Wirecast de Telestream (Windows y
MAC)
Quicktime Broadcaster (Sólo MAC/OSX)
Adobe Flash Media Encoder con el plugin MainConcept AAC (Windows y MAC)
Transmisión Bajo demanda (pregrabado) –Servicio En-Demanda Flash con soporte a
móviles habilitado–puede utilizar las siguientes soluciones para crear contenido bajo
demanda para este servicio:
26
SOPORTE DE WINDOWS PHONE 7
Windows Phone 7 nativamente no admite ningún tipo
de transmisiones. Debe construirse un Silverlight
Player modificado con requisitos particulares para
llegar a teléfonos Windows 7. Esto sólo está disponible
para los usuarios con el programa profesional y,
aunque podemos proporcionar cotizaciones sobre una
base por canal si es necesario. Transmisiones a
aparatos móviles no se configuran automáticamente.
Estos deben estar configurados.
Los sistemas actuales de mensajería multimedia (MMS) utilizan la tecnología SMIL del
W3C para el desarrollo de contenido multimedia. Los servicios futuros de MMS utilizarán
la tecnología SVG del W3C para mostrar gráficos vectoriales y animaciones (SVG Móvil,
SMIL Móvil).
Los estándares del W3C reducen los costes de producción de contenido para
dispositivos móviles al enfatizar principios tales como diseño independiente de
dispositivo. Los estándares del W3C permiten a los autores crear contenido que puede
ser adaptado a dispositivos móviles concretos y a las preferencias de los usuarios (como
CC/PP y DPF).
La navegación desde un teléfono móvil debería ser tan sencilla como lo es desde la
computadora de sobremesa.
27
El W3C está trabajando en especificaciones
que proporcionen al usuario una experiencia
satisfactoria durante la navegación (Formatos
de Documentos Compuestos, XHTML).
El W3C desarrolla estándares compatibles con
múltiples modos de interacción: auditiva, visual
y táctil. El habla proporciona un medio para
interactuar con dispositivos móviles sin necesidad de utilizar las manos (Infraestructura
de Interfaz del Habla, Especificación de Gramática de Reconocimiento del Habla,
Lenguaje de Etiquetado de Síntesis del Habla, EMMA, VoiceXML 2.0 e InkML).
Audio, vídeo, juegos y gráficos (Visual C#)
Puede utilizar Visual C# para crear juegos y aplicaciones multimedia basados en las
tecnologías DirectX y Windows Media. XNA, Microsoft XNA se compone de software,
servicios, recursos y comunidades líderes del mercado centrado en garantizar el éxito
de los desarrolladores de juegos en plataformas de juegos de Microsoft. Para obtener
más información, vea XNA Developer Center.
28
CODIFICADOR DE WINDOWS MEDIA
El SDK del Codificador de Windows Media serie 9 se puede
programar utilizando C# para realizar los siguientes tipos
de tareas:
Difundir contenido activo. Una organización de
noticias puede utilizar la API de automatización para
programar la captura y difusión automáticas de
contenido activo. Por ejemplo, los departamentos
locales de transporte pueden transmitir imágenes en
directo del estado de las carreteras en distintos puntos
conflictivos para avisar a los conductores de la existencia de retenciones y
recomendar rutas alternativas.
Contenido de proceso por lotes. Una organización de producción de medios que
debe procesar numerosos archivos de gran tamaño puede crear un proceso por
lotes que utilice la API de automatización para capturar y codificar secuencias
repetidamente, una detrás de otra. Una corporación puede utilizar la API de
automatización para administrar sus servicios de transmisión multimedia por
secuencias utilizando un lenguaje de scripting de su elección y Windows Script
Host.
29
En la ventana que se abre, puedo escoger entre los diferentes plantillas
predeterminados que me ofrece el IDE. Y entre las cuales
escogeré MVC, añadiéndole el proyecto de pruebas unitarias y
escribiendo el nombre de dicho proyecto de pruebas.
30
Visual Studio te preguntará que con qué tipo de repositorio quieres
trabajar: con TFS o con Git. Aquí que cada uno responda como mejor le
parezca. Construir el esqueleto de la aplicación.
31
Aquí se podría hacer de varias formas, como hacer la propiedad de Saludo como solo
de lectura, y que siempre devolviera “Hola” por medio del Get; pero yo he preferido hacer
un setter abreviado de las propiedades y, en el constructor de la clase, introducir los
valores por defecto.
32
¿Por qué lo hago así y no por medio del ViewBag? Básicamente porque el uso del Bag
es una mala práctica, y el utilizar un modelo me permite trabajar con datos tirados, y con
intellisense. Obteniendo un código más limpio y robusto.
Ahora, seleccionando el div superior de la página, introduzco el siguiente código que
voy a explicar a continuación.
Lo primero es indicar que voy a abrir un formulario para tener interacción con el servidor.
Acuérdate que esto no es webform con sus sistemas automáticos y pesados para
mantener la comunicación bidireccional. A continuación creo dos helper html del tipo
label – uno debajo del otro – y le indico qué campo del modelo se debe ver en cada uno.
Continuo dando de alta un helper del tipo textbox, pero que es capaz de enviar
información al servidor por medio de un mensaje Post (y por eso he adornado el método
oportuno en el Controlador). Aquí la sintaxis es un poco más compleja, al tener que
utilizar una expresión lambda para indicarle cual es la propiedad que debe usar para
almacenar los datos y enviarlos al servidor.
33
WEB MÓVIL.
ASP.NET la plataforma que se usa para crear aplicaciones
Web y servicios Web que corren bajo IIS. Es parte del
Framework de .NET y está compuesta de varias partes:
Herramientas de desarrollo Web de Visual Studio .NET:
Herramientas visuales para diseñar páginas Web y
plantillas de aplicación, genérica de proyecto y
herramientas de distribución.
EL NAMESPACE SYSTEM.WEB
Hace parte del .NET Framework e incluye
las clases de programación que tienen que
ver con los efectos específicos de Web.
Controles Web y controles HTML:
Compones de interfaz de usuario que se
usan para recolectar información de los
usuarios y para dar las respuestas.
Además, ASP.NET utiliza los siguientes
componentes:
Microsoft Information Services (IIS): el cual hospeda las aplicaciones Web en el
servidor Windows
Los lenguajes de programación Microsoft Visual Basic .NET, Microsoft Visual C#,
y JScript
El framework de .NET: Conjunto completo de las clases de programación
Windows
Clases y herramientas de base de datos ADO.NET: Estos componentes proveen
acceso a las bases de datos Microsoft SQL Server y ODBC.
Microsoft Application Center Test (ACT): Manera automática de realizar pruebas
de estrés de las aplicaciones
34
Tiempo de vida. Los formularios Windows son instanciados,
existen durante el tiempo que se necesiten, y luego son
destruidos. Los formularios Web aparentan comportarse así,
pero en realidad son instanciados, enviados al browser, y
destruidos inmediatamente. Esto significa que las variables y
objetos declarados en un formulario Web son destruidos tan
pronto el formulario se despliega. Para que algo interesante
se realice, se necesita guardar la información en objetos de
estado especiales provistos por ASP .NET.
Ejecución. Las partes ejecutables de una aplicación Web se
encuentran en el servidor Web. De esta forma, las
aplicaciones Web son un tipo de aplicación cliente/servidor: el browser es el único
software instalado en el cliente, y toda la interfaz de usuario y la lógica del negocio
corre en el servidor. Toda la comunicación entre el cliente y el servidor ocurre a
través de HTML. Esto significa que inclusive las aplicaciones Web sofisticadas
causan pequeños problemas de seguridad a los clientes y pasan a través de firewalls
sin perturbarse.
35
ADO se diseñó para su uso en arquitecturas cliente/servidor
con bases de datos relacionales (no jerárquicas, como es el
caso de XML). Su diseño no está demasiado bien factorizado
(ya que existen muchas formas de hacer las cosas y algunos
objetos acaparan demasiadas funciones) y ADO no estaba
pensado para arquitecturas multicapa en entornos
distribuidos.
ADO .NET es una colección de clases, interfaces, estructuras y tipos enumerados que
permiten acceder a los datos almacenados en una base de datos desde la plataforma
.NET. Si bien se puede considerar una versión mejorada de ADO, no comparte con éste
su jerarquía de clases (aunque sí su funcionalidad).
ADO .NET combina las capas ADO y OLE DB en una única capa de proveedores
(managed providers). Cada proveedor contiene un conjunto de clases que implementan
interfaces comunes para permitir el acceso uniforme a distintas fuentes de datos.
Ejemplos: ADO Managed Provider (da acceso a cualquier fuente de datos OLE DB),
SQL Server Managed Provider (específico para el DBMS de Microsoft), Exchange
Managed Provider (datos almacenados con Microsoft Exchange)...
CONTROLES DE LISTA.
Para trabajar con ADO.NET en nuestras páginas ASP.NET,
es necesario agregar algunos namespace:
using System.Data: pemite trabajar con ADO.NET.
usign System.SqlClient: permite trabajar con fuentes de
datos SQL Server.
usign Sytem.OleDb: permite trabajar con otras fuentes
de datos OLEDB.
Existen dos componentes muy importantes en ADO.NET
Net Data Providers.-Permite el enlace entre la fuente de
datos y el objeto DataSet.
Objeto DataSet.-Es una representación de memoria, donde se almacenan las
estructuras de tablas con las cuales se trabajara.
36
DataReader.-Objeto que permite ver el resultado mostrado
por una sentencia SQL ejecutada por un objeto Command.
El DataReader mantiene una conexión física a la base de
datos mientras trabaja con ella.
DataAdapter.-Objeto que permite realizar el enlace entre el
objeto DataSet y el data provider.
Propiedades:
SelectCommand: Recupera filas de la fuente de datos.
InsertCommand: Para inserciones desde el DataSet a la fuente de datos.
UpdateCommand: Para modificaciones desde el DataSet a la fuente de datos.
DeleteCommand: Elimina registros en la fuente de datos.
Métodos:
Fill: Carga un DataSet a partir de un SelectCommand, permite agregar un nombre
de referencia al objeto DataTable creado en el DataSet.
DataSet object
Permite almacenar información de manera desconectada. Es una representación
en memoria de los datos totalmente independiente de la fuente de datos.
En este objeto se puede tener la representación de una tabla de SQL Server, otra
de Access, etc. (Uso de objeto DataTable).
Debido a que nuestro entorno Web es y debe ser desconectado, el DataSet es ideal
para este tipo de trabajo.
Es factible generar relaciones (DataRelation) entre las tablas.
Los datos almacenados en el DataSet pueden ser modificados en dicho objeto y
luego actualizados en la base de datos.
37
Con el teléfono o tableta, usted puede:
Se conecta a cualquier base de datos SQL Server,
Guardar un número ilimitado de conexiones con o sin
contraseñas,
Descarga de la tabla y los nombres de las columnas
para simplificar la consulta,
Consulta - select, update, insert, delete, ejecutivo, etc,
Utilizar una interfaz intuitiva "del teclado de SQL",
Guardar un número ilimitado de consultas,
Ver los conjuntos de resultados y exportarlos a CSV, y
Resultado de la copia en el portapapeles las células con un toque.
SQL Server Mobile Manager es lo último en servicios públicos portátiles, bases de datos
móviles. Con el Administrador de SQL Server Mobile, puede conectarse a cualquier
base de datos de SQL Server (base de datos de inicio de sesión y contraseña) en
cualquier red interna (de dentro o por medio de VPN). Las conexiones remotas a través
de TCP / IP son compatibles también
La recuperación de datos mediante DataReader implica crear una instancia del objeto
Command y de un DataReader a continuación, para lo cual se llama a
Command.ExecuteReader a fin de recuperar filas de un origen de datos. En el ejemplo
siguiente se muestra cómo se utiliza un DataReader, donde reader representa un
DataReader válido y command representa un objeto Command válido.
reader = command.ExecuteReader();
Puede utilizar el método Read del objeto DataReader para obtener una fila a partir de
los resultados de una consulta. Para tener acceso a cada columna de la fila devuelta,
puede pasar a DataReader el nombre o referencia numérica de la columna en cuestión.
Sin embargo, el mejor rendimiento se logra con los métodos que ofrezca DataReader y
que permitan tener acceso a los valores de las columnas en sus tipos de datos nativos
(GetDateTime, GetDouble, GetGuid, GetInt32, etc.). Para obtener una lista de métodos
de descriptor de acceso con tipo para DataReaders de proveedores de datos
específicos, vea las secciones OleDbDataReader y SqlDataReader. Si se utilizan los
métodos de descriptor de acceso con tipo, dando por supuesto que se conoce el tipo de
datos subyacentes, se reduce el número de conversiones de tipo necesarias para
recuperar el valor de una columna.
38
Esto se debe a que SqlCeResultSet utiliza un puntero para trabajar directamente con la
base de datos, mientras que DataSet almacena una copia de los datos de la base de
datos en la aplicación para dispositivos.
Describen los orígenes de datos basados en SqlCeResultSet y DataSet
De forma predeterminada, Visual Studio genera código basado en DataSet cuando
utiliza el asistente para orígenes de datos para crear un nuevo origen de datos
El diagrama siguiente muestra la diferencia de arquitectura entre SqlCeResultSets y
DataSets.
DATAADAPTER
Representa un conjunto de comandos SQL y una conexión de base de datos que se
utilizan para rellenar el objeto DataSet y actualizar el origen de datos.
DataAdapter actúa como puente entre DataSet y un origen de datos para la
recuperación y el almacenamiento de datos. Para poder actuar como un puente,
DataAdapter asigna el método Fill, que modifica los datos de DataSet de forma que
coincidan con los del origen de datos, y asigna el método Update, que modifica los datos
del origen de datos para hacerlos coincidir con los de DataSet.
Sincronización de Datos
39
La sincronización de datos garantiza que los datos
de la base de datos de suscripciones de Microsoft
SQL Server Compact coinciden con los datos de la
publicación correspondiente. Al sincronizar la base
de datos de SQL Server Compact, los cambios
realizados se envían a la publicación. SQL Server
combina los cambios con los cambios de la base de
datos de publicación, resuelve los conflictos que
puedan producirse y, a continuación, devuelve los
cambios a la suscripción de SQL Server Compact.
TRABAJO PRÁCTICO:
FUENTES DE INFORMACIÓN
Electrónicas:
http://www.webestilo.com/aspnet/aspnet00.phtml
https://msdn.microsoft.com/es-es/library/z1zx9t92.aspx
http://www.disca.upv.es/enheror/pdf/ActaNET.PDF
http://www.lsi.us.es/~javierj/investigacion_ficheros/Framework.pdf
http://es.wikipedia.org/wiki/Windows_Mobile
https://msdn.microsoft.com/es-es/library/77wek3f7%28v=vs.90%29.aspx
http://www.icesi.edu.co/contenido/pdfs/ljimenez-javaypuntonet.pdf
https://msdn.microsoft.com/es-pe/library/aa903378%28v=vs.71%29.aspx
http://www.elguille.info/net/cursoVB.NET/Default.aspx
40