Você está na página 1de 30

TEMAS SELECTOR DE SOFTWARE

EN T.I.

“REFLEXIONES C#”
Contenido
PRACTICA C1 OPERACIONES Y CONTROL BÁSIC ............................................ 3
App Config ........................................................................................................... 3
AppSettings ...................................................................................................... 3
ConnectionStrings ............................................................................................ 4
Properties / References ....................................................................................... 4
Properties ......................................................................................................... 4
References ....................................................................................................... 4
Palabras Reservadas .......................................................................................... 5
USING .............................................................................................................. 5
NAMESPACE................................................................................................... 5
Ejecución / “metodo main” ................................................................................... 6
C3 HERENCIA ........................................................................................................ 7
REFLEXIONES PRÁCTICA G1 – FORMULARIOS SIMPLES ................................ 9
REFLEXIONES PRÁCTICA G2 FORMULARIOS MÚLTIPLES ............................ 11
PRÁCTICA G3 – PERSISTENCIA (ARCHIVO DE TEXTO) .................................. 13
¿Windows Forms vs WPF? ............................................................................... 13
¿Flujos I/O (InputStream / OutputStream)? ....................................................... 14
¿Reader/Writer? ................................................................................................ 15
¿Create / Open / Overwrite / Append? .............................................................. 15
Bibliografía ............................................................................................................ 17
PRACTICA G4 PERSISTENCIA BASE DE DATOS ............................................. 18
REFLEXIONES PRÁCTICA W1 – PÁGINAS ESTÁTICAS ................................... 19
REFLEXIONES PRÁCTICA W2 –WEB RESPONSIVA ........................................ 20
Sintaxis .............................................................................................................. 23
REFLEXIONES PRÁCTICA W3 – DB WEB .......................................................... 24
Imperativo y estructurado ........................................................................... 27
Dinámico ....................................................................................................... 27
Funcional ...................................................................................................... 28
Navegadores que permiten AJAX .................................................................. 29
Navegadores que no permiten AJAX ............................................................. 29
PRACTICA C1 OPERACIONES Y CONTROL BÁSIC
App Config
Cuando crea una aplicación .NET Framework (no web) en Visual Studio, se agrega
un archivo app.config a su proyecto. Cuando creas una biblioteca de clases o un
proyecto .NET Core, tal archivo no está incluido, aunque se puede hacer después.
¿Qué es?
El archivo app.config es un archivo XML cuyo objetivo es contener cualquier
configuración variable de su aplicación. Es un lugar central para poner:
• Cadenas de conexión a bases de datos
• Detalles de conexión a servicios externos.
• Configuraciones de la aplicación
• Otros detalles sobre cómo se debe ejecutar y / o alojar la aplicación
¿Cómo se ve?
Un archivo app.config se agrega automáticamente a su proyecto cuando crea una
nueva aplicación bajo el encabezado de Windows Classic Desktop en Visual Studio.

Ilustración 1 Archivo app.config

Se puede empezar a escribir en la sección de configuración y mostrara posibles


opciones, entre las más conocidas están “appSettings” y “connectionStrings”:
AppSettings
Proporciona una manera fácil de acceder a los valores de cadena, en base a una
clave determinada. Por ejemplo:

Ilustración 2 Ejemplo appSettings

Ilustración 3 Ejemplo AppSettings : Acceso a un valor


ConnectionStrings
La sección connectionStrings es el lugar donde colocar las cadenas de conexión de
las bases de datos a las que desea acceder.

Ilustración 5 Ejemplo ConnectionsStrings

Ilustración 4 Ejemplo ConnectionsStrings Acceso cadena conexión

Cuando compilas tu aplicación, el compilador en realidad copia el archivo app.config


a la carpeta de salida, pero le da otro nombre:

Cuando inicie su aplicación (MiAplicacion.exe), también se cargará el archivo de


configuración correspondiente.
Properties / References
Properties
Las properties de C # son miembros de una clase de C # que proporcionan un
mecanismo flexible para leer, escribir o calcular los valores de los campos privados,
en otras palabras, al usar las propiedades, podemos acceder a los campos privados
y establecer sus valores.
Las propiedades en C # son siempre miembros de datos públicos. Las propiedades
de C # usan métodos get y set, también conocidos como accessor para acceder y
asignar valores a campos privados.
References
Existen dos tipos de tipos en C #: tipos de references y tipos de valor. Las variables
de los tipos de references almacenan referencias a sus datos (objetos), mientras
que las variables de los tipos de valor contienen directamente sus datos. Con los
tipos de references, dos variables pueden hacer references al mismo objeto; por lo
tanto, las operaciones en una variable pueden afectar el objeto referenciado por la
otra variable.
Las variables tipo referencia almacenan referencias a los datos reales. Las
instancias de tipos de referencia también se conocen como objetos.
Palabras Reservadas
USING
La palabra clave using tiene dos usos principales:
 Como directiva, cuando se usa para crear un alias para un espacio de
nombres o para importar tipos definidos en otros espacios de nombres.
 Como instrucción, cuando define un ámbito al final del cual se eliminará
un objeto.
Además, la directiva using static permite definir un tipo a cuyos miembros estáticos
se puede acceder sin especificar un nombre de tipo.
Puede tener diversos usos en C#, el más comun es para la importación de espacios
de nombre:
 Using System;
 Using System.IO;
Podemos usarlo también para definir alias de espacios de nombres:
Using Excel = Microsoft.Office.Interop.Excel;

NAMESPACE
La namespace palabra clave se utiliza para declarar un ámbito que contiene un
conjunto de objetos relacionados. Puede usar un namespace para organizar los
elementos de código y crear tipos únicos a nivel mundial.
Dentro de un namespace, puede declarar cero o más de los siguientes tipos:
• otro espacio de nombres
• clase
• interfaz
• estructura
• enumerar
• delegar
Independientemente de si declara o no explícitamente un namespace en un archivo
fuente de C #, el compilador agrega un namespace predeterminado. Este
namespace sin nombre, a veces denominado namespace global, está presente en
cada archivo. Cualquier identificador en el namespace global está disponible para
su uso en un namespace con nombre.
Ejecución / “metodo main”
El método Main es el punto de entrada de una aplicación de C# .Cuando se inicia la
aplicación, el método Main es el primero que se invoca.
Solo puede haber un punto de entrada en un programa de C#. Si hay más de una
clase que tiene un método Main, debe compilar el programa con la opción del
compilador /main para especificar qué método Main desea utilizar como punto de
entrada.
Al usar Visual Studio para crear aplicaciones de Windows, se puede agregar el
parámetro manualmente o usar la clase Environment con el fin de obtener los
argumentos de la línea de comandos. Los parámetros se leen como argumentos de
línea de comandos indizados con cero.
C3 HERENCIA
Sintáxis de la herencia En C# se usa ":" tanto para herencia en clases como para
implementar interfaces, a diferencia de Java que usa las palabras reservadas
extends e implements. Herencia múltiple En Java existe la herencia múltiple
mientras que en C# no.

La clase Math : Representa la librería matemática de Java. Las funciones que


contiene son las de todos los lenguajes, parece que se han metido en una clase
solamente a propósito de agrupación, por eso se encapsulan en Math, y lo mismo
sucede con las demás clases que corresponden a objetos que tienen un tipo
equivalente (Character, Float, etc.). El constructor de la clase es privado, por los
que no se pueden crear instancias de la clase. Sin embargo, Math es public para
que se pueda llamar desde cualquier sitio y static para que no haya que inicializarla.

Private: La palabra clave private es un modificador de acceso de miembros. El


acceso de tipo private corresponde al nivel de acceso más restrictivo. Los miembros
privados sólo son accesibles dentro del cuerpo de la clase o struct en los que se
declaran.

Protected: La palabra clave protected es un modificador de acceso a miembros. Un


miembro protegido es accesible dentro de su clase y por instancias de clases
derivadas. Encontrará una comparación de protected con los otros modificadores
de acceso en Niveles de accesibilidad.

Public: La palabra clave public es un modificador de acceso para tipos y miembros


de tipos. El acceso de tipo public corresponde al nivel de acceso menos restrictivo.
No existen restricciones para obtener acceso a los miembros públicos.

Try-Catch: La instrucción try-catch consta de un bloque try seguido de una o más


cláusulas catch que especifican controladores para diferentes excepciones.

Try-Finally: Utilizando un bloque finally, puede limpiar los recursos que se asignan
en un bloque try, y puede ejecutar código incluso si se produce una excepción en el
bloque try.Normalmente, las instrucciones de un bloque finally se ejecuta cuando el
control sale de una instrucción try.La transferencia del control puede producirse
como resultado de la ejecución normal, de la ejecución de la instrucción break,
continue, goto o return, o de la propagación de una excepción fuera de la instrucción
try.

Throw. Las excepciones se utilizan para indicar que se ha producido un error al


ejecutar el programa. Los objetos de excepción que describen un error se crean y
luego se lanzan con la palabra clave throws. El tiempo de ejecución busca el
controlador de excepciones más compatible. Los programadores deben lanzar
excepciones cuando una o más de las siguientes condiciones son verdaderas:
 El método no puede completar su funcionalidad definida.
 Por ejemplo, si un parámetro de un método tiene un valor no válido:

static void CopyObject(SampleClass original)


{
if (original == null)
{
throw new System.ArgumentException("Parameter cannot be null", "original");
}

}
REFLEXIONES PRÁCTICA G1 – FORMULARIOS SIMPLES
Windows Forms
Biblioteca: Esta sección describe algunas clases e interfaces de la plataforma .NET
con el objetivo de que el lector sea capaz de utilizarlas al desarrollar sus propios
programas.
API: Es un conjunto de subrutinas, funciones y procedimientos (o métodos, en la
programación orientada a objetos) que ofrece cierta biblioteca para ser utilizado por
otro software como una capa de abstracción.
Framework: Que hace un énfasis en la transparencia de redes, con independencia
de plataforma de hardware y que permite un rápido desarrollo de aplicaciones.

WPF: Es una serie de ensamblados y herramientas del framework .NET. Está


destinado a proporcionar una API para crear interfaces de usuario enriquecidas y
sofisticadas
Clase Swing: Biblioteca gráfica para Java. Incluye widgets para interfaz gráfica de
usuario tales como cajas de texto, botones, desplegables y tablas.

AWT: Es un kit de herramientas de gráficos, interfaz de usuario, y sistema de


ventanas independiente de la plataforma original de Java.

Árbol de componentes: Es una aproximación de tiempo de diseño, que una vista


generará en tiempo de ejecución. Lo crea el manejador de vistas de tiempo de
diseño mediante el registro de códigos activo para un proyecto y un documento de
entrada

Manejo de eventos
onClick: Se lanza cuando el usuario hace un click con el ratón
onChange: Se lanza cuando un elemento select, text o textarea de un formulario
pierde el focus (o cursor) y además su valor ha sido cambiado
onKeyPress: Estos eventos se generan cuando el usuario presiona las teclas, se
genera cuando se mantiene pulsada una tecla.
Ejecución: Se toca la ejecución de la aplicación al recibir una petición (un request),
es en el archivo Global.asax.cs, en el cual podemos encontrar la función
Application_Start()
REFLEXIONES PRÁCTICA G2 FORMULARIOS MÚLTIPLES
List: Una lista es una secuencia de elementos dispuesto en un cierto orden, en la
que cada elemento tiene como mucho un predecesor y un sucesor. El número de
elementos de la lista no suele estar fijado, ni suele estar limitado por anticipado.

ArrayList: La clase ArrayList en Java, es una clase que permite almacenar datos
en memoria de forma similar a los Arrays, con la ventaja de que el numero de
elementos que almacena, lo hace de forma dinámica, es decir, que no es necesario
declarar su tamaño como pasa con los Arrays.

Vector: es un arreglo, generalmente asociados a los arreglos unidimensionales. Es


una zona de almacenamiento contiguo, que contiene una serie de elementos del
mismo tipo y se distinguen entre sí por un índice. Leer: arreglo.

Stack: (Stack). Es una estructura de datos que consta de una seria de valores en
el cual las inserciones y eliminaciones se hacen por un extremo llamado cima o
tope. Esta estructura se conoce también como LIFO o stack (apilamiento).

Como su nombre lo indica, esta estructura va "apilando" los datos. A diferencia de


las colas, los datos son extraídos en el orden inverso al que se introdujeron.

Queue: Un objeto de la clase Queue es una cola. Permite almacenar objetos y luego
recuperarlos en el orden en el cual se insertaron. Para insertar un objeto a la cola
se invoca el método put. Por ejemplo:

Queue cola= new Queue();


cola.put("Hola");
Hash Map: Un HashMap básicamente designa claves únicaspara los valores
correspondientes que se pueden recuperar en cualquier punto dado.

a) Los valores se pueden almacenar en un mapa formando un par clave-valor. El


valor se puede recuperar usando la clave pasándola al método correcto.

b) Si no existe ningún elemento en el Mapa, arrojará una ‘


NoSuchElementException’ .

c) HashMap almacena solo referencias de objetos . Por eso, es imposible utilizar


tipos de datos primitivos como double o int. Utilice la clase contenedora (como
Integer o Double) en su lugar.

Dispone : Al usarse junto con dispose() se referirá entonces a la ventana actual,


por lo que se explica en la descripción de dispose().

Close: instrucción que da lugar a la descarga de la memoria de formularios o


controles, lo cual no necesariamente significa que el programa acabe, ya que el
código asociado al módulo del formulario permanece en memoria y pueden
mostrarse otro tipo de ventanas o incluso volver a cargarse el formulario si así está
establecido en el código.

JOptionPane: icono predeterminado por el tipo de mensaje

Dialog: al ejecutar este método, automáticamente se abre el cuadro de diálogo que


nos permite seleccionar un fichero del disco.
PRÁCTICA G3 – PERSISTENCIA (ARCHIVO DE TEXTO)
¿Windows Forms vs WPF?

Winforms se conoce como Windows Forms. Es una interfaz gráfica de usuario para
aplicaciones de escritorio de .Net Framework. Tiene un conjunto de bibliotecas
administradas en .net framework. Ofrece una extensa biblioteca cliente para
proporcionar la interfaz para acceder a los elementos y gráficos de la interfaz gráfica
de Windows nativos desde el código administrado.
En la aplicación de Windows, los formularios de Windows proporcionan un
contenedor que consta de un conjunto de clases de C ++ para el desarrollo de
aplicaciones de Windows y cada control en la aplicación de formulario de Windows
es una instancia concreta de una clase. Proporciona una variedad de controles
como cuadros de texto, botones, etiquetas y páginas web junto con opciones para
crear un control personalizado. Para esto, hay una herramienta de diseño de
formularios de Windows disponible en Visual Studio para manejar los controles en
el formulario y organizarlos según el diseño deseado para agregar código para
manejar los eventos.
WPF se abrevia como marco de presentación de Windows. Fue lanzado
inicialmente por Microsoft con .Net framework 3.0 en el año 2006. Es un marco de
interfaz gráfica de usuario para crear las aplicaciones de Windows. WPF es más
que un simple envoltorio, es parte de un marco .net. Contiene la mezcla de código
administrado y no administrado.
Los componentes principales de la arquitectura de WPF son el marco de
presentación, el núcleo de presentación y mallcore. En WPF, los elementos de la
interfaz de usuario están diseñados en XAML, mientras que los comportamientos
se pueden implementar en un lenguaje de procedimiento. Con XAML en WPF, los
programadores pueden trabajar en paralelo con los diseñadores. WPF es un marco
poderoso para crear una aplicación de Windows y tiene excelentes características
como enlace de datos, servicios de medios, plantillas, animaciones, direct3D y
entrada alternativa.

La base de Winforms WPF


comparación entre
Winforms vs WPF
Avance El formulario de Windows WPF es un concepto
es un concepto antiguo avanzado o más reciente
para desarrollar para desarrollar
aplicaciones de aplicaciones.
escritorio.
Sencillez Los formularios de WPF es complejo de usar
Windows son fáciles de en comparación con
usar, ya que los controles Windows Forms.
se pueden usar
fácilmente.
Seguridad Los formularios de WPF tiene características
Windows tienen de seguridad mejoradas.
características menos
seguras.
Diseño Los formularios de
WPF se utiliza
Windows no se utilizan principalmente para
cuando se requiere el diseñar la parte de la
diseño. interfaz de usuario de la
aplicación.
Ejecución En las formas de En WPF las cosas se
Windows, las cosas se logran principalmente a
logran a un ritmo más una velocidad muy rápida
lento. comparativamente.
Figura 1.0 Cuadro Comparativo Winforms vs WPF
¿Flujos I/O (InputStream / OutputStream)?

Stream es la clase base abstracta de todas las secuencias. Una secuencia es una
abstracción de una secuencia de bytes como, por ejemplo, un archivo, un dispositivo
de entrada/salida, una canalización de comunicación entre procesos o un socket
TCP/IP.

La Stream clase y sus clases derivadas proporcionan una visión genérica de estos
diferentes tipos de entrada y salida y aislar el programador de los detalles
específicos del sistema operativo y los dispositivos subyacentes.
Las secuencias comprenden tres operaciones fundamentales:
o Puede leer desde secuencias. Lectura es la transferencia de datos de una
secuencia en una estructura de datos, como una matriz de bytes.
(InputStream)
o Puede escribir en secuencias. Escritura es la transferencia de datos de una
estructura de datos en una secuencia.(OutputStream)

o Las secuencias pueden admitir búsquedas. Búsqueda hace referencia a


consultar y modificar la posición actual dentro de un flujo. Buscar capacidad
depende del tipo de un flujo no tiene memoria auxiliar. Por ejemplo,
secuencias de red no tienen ningún concepto unificada de la posición actual
y, por tanto, normalmente no admitan búsquedas.

¿Reader/Writer?

Según el origen de datos subyacente o el repositorio, las secuencias pueden admitir


solo algunas de estas capacidades. Puede consultar una secuencia para sus
funciones mediante el CanRead, CanWrite, y CanSeek propiedades de la Stream
clase.
El Read y Write métodos leer y escribir datos en una variedad de formatos. Para las
secuencias que admiten búsquedas, utilice la Seek y SetLength métodos y la
Position y Length propiedades para consultar y modificar la posición actual y la
longitud de una secuencia.
o Read
Cuando se reemplaza en una clase derivada, se lee una secuencia de bytes
en la secuencia actual y se hace avanzar la posición dentro de la secuencia
el número de bytes leídos.
o Write
Cuando se reemplaza en una clase derivada, se escribe una secuencia de
bytes en la secuencia actual y se hace avanzar la posición actual dentro de
la secuencia el número de bytes escritos.
¿Create / Open / Overwrite / Append?

Create -> Crea un archivo en la ruta especificada.


Observaciones
El objeto FileStream creado por este método tiene un valor predeterminado de
FileShare de Ninguno; ningún otro proceso o código puede acceder al archivo
creado hasta que se cierre el identificador del archivo original.
Este método es equivalente a la sobrecarga del método Crear (Cadena, Int32)
usando el tamaño de búfer predeterminado.

El parámetro de ruta de acceso está permitido para especificar información de ruta


relativa o absoluta. La información de ruta relativa se interpreta como relativa al
directorio de trabajo actual. Para obtener el directorio de trabajo actual, consulte
GetCurrentDirectory.
Si el archivo especificado no existe, se crea; si existe y no es de solo lectura, los
contenidos se sobrescriben.
File.AppendText(String) -> Crea un StreamWriter que agrega texto codificado en
UTF-8 a un archivo existente o a un archivo nuevo si el archivo especificado no
existe.
Observaciones
Este método es equivalente a la sobrecarga del constructor StreamWriter (String,
Boolean). Si el archivo especificado por ruta no existe, se crea. Si el archivo existe,
escriba las operaciones en el texto de StreamWriter adjuntar al archivo. Se permiten
subprocesos adicionales para leer el archivo mientras está abierto.
El parámetro de ruta de acceso está permitido para especificar información de ruta
relativa o absoluta. La información de ruta relativa se interpreta como relativa al
directorio de trabajo actual. Para obtener el directorio de trabajo actual, consulte
GetCurrentDirectory.
Open -> Abre un FileStream en la ruta especificada.
Observaciones
El parámetro de ruta de acceso está permitido para especificar información de ruta
relativa o absoluta. La información de ruta relativa se interpreta como relativa al
directorio de trabajo actual. Para obtener el directorio de trabajo actual, consulte
GetCurrentDirectory.
Overwriter / File.Replace -> Reemplaza el contenido de un archivo especificado
con el contenido de otro archivo, borrando el archivo original y creando una copia
de seguridad del archivo reemplazado.

Observaciones
El método Replace reemplaza el contenido de un archivo especificado con el
contenido de otro archivo. También crea una copia de seguridad del archivo que fue
reemplazado.
Si sourceFileName y destinationFileName están en volúmenes diferentes, este
método generará una excepción. Si el destinationBackupFileName está en un
volumen diferente del archivo de origen, el archivo de copia de seguridad se
eliminará.
Bibliografía

Microsoft. (2019). docs.microsoft.com. Recuperado el 2019, de


docs.microsoft.com: https://docs.microsoft.com/es-
es/dotnet/api/system.io.stream?view=netframework-4.7.2#comentarios
PRACTICA G4 PERSISTENCIA BASE DE DATOS
¿Windows Forms vs. WPF?
Es el nombre dado a la interfaz de programación de aplicación gráfica (API) que se
incluye como parte de Microsoft .NET Framework, que proporciona acceso a los
elementos de la interfaz de Microsoft Windows nativas envolviendo la API de
Windows existente en código administrado

Una respuesta corta sería una API para crear interfaces de usuario (UI) para
aplicaciones de escritorio con el framework .NET.

¿JDBC?
Es una API que permite la ejecución de operaciones sobre bases de datos desde el
lenguaje de programación Java

¿Connection / Statement / ResultSet?


Un nuevo Connection objeto creado con la API principal de JDBC 2.1 tiene asociado
un mapa de tipo inicialmente vacío. Un usuario puede ingresar una asignación
personalizada para un UDT en este mapa de tipo. Cuando se recupera un UDT de
un origen de datos con el método ResultSet.getObject, el getObjectmétodo
verificará el mapa de tipo de la conexión para ver si hay una entrada para ese
UDT. Si es así, el getObjectmétodo asignará el UDT a la clase indicada. Si no hay
ninguna entrada, el UDT se asignará utilizando la asignación estándar.

¿JTable / TableModel?
Es un componente visual de java que nos permite dibujar una tabla, de forma que
en cada fila/columna de la tabla podamos poner el dato que queramos; un nombre,
un apellido, una edad, un número, etc.
REFLEXIONES PRÁCTICA W1 – PÁGINAS ESTÁTICAS

❖ ¿packages / folders?
Los paquetes son carpetas especiales que pueden contener carpetas de clase,
funciones y archivos de definición de clase, y otros paquetes. Los nombres de las
clases y funciones se incluyen en la carpeta del paquete. Un paquete es un espacio
de nombres dentro del cual los nombres deben ser únicos. Los nombres de
funciones y clases deben ser únicos solo dentro del paquete. El uso de un paquete
proporciona un medio para organizar clases y funciones. Los paquetes también le
permiten reutilizar los nombres de las clases y funciones en diferentes paquetes.

❖ ¿index?
La página index.html es el nombre más común utilizado para la página
predeterminada que se muestra en un sitio web si no se especifica ninguna otra
página cuando un visitante solicita el sitio. En otras palabras, index.html es el
nombre utilizado para la página de inicio del sitio web.

❖ Servidor ¿Apache / Tomcat?


Servidor HTTP Apache. El servidor HTTP Apache es un servidor web HTTP de
código abierto, para plataformas Unix, Microsoft Windows, Macintosh y otras, que
implementa el protocolo HTTP/1.1.
La característica de herramientas de servidor da soporte al entorno de ejecución
Apache Tomcat ejecutado localmente. Con Tomcat, sólo puede probar proyectos
Web que contengan servlets y JSP.

Tomcat es un contenedor web con soporte de servlets y JSPs. Tomcat no es un


servidor de aplicaciones, como JBoss o JOnAS. Incluye el compilador Jasper, que
compila JSPs convirtiéndolas en servlets.
El motor de servlets de Tomcat a menudo se presenta en combinación con el
servidor web Apache.

❖ ¿Ejecución?
Guarde los cambios y ahora en la barra de estado de Microsoft Visual Studio Code
verá la opción Go Live, haga clic sobre ella para visualizar la página web en un
navegador.

❖ ¿Publicación / .war?
WAR es un archivo JAR utilizado para distribuir una colección de JavaServer Pages,
servlets, clases Java, archivos XML, bibliotecas de tags y páginas web estáticas
(HTML y archivos relacionados) que juntos constituyen una aplicación web.
REFLEXIONES PRÁCTICA W2 –WEB RESPONSIVA
REQUEST :
El comando HTTP Request permite enviar todo tipo de petición HTTP a un URL
específico y procesar la respuesta del servidor HTTP.
Pase en el parámetro metodoHTTP el método HTTP de la petición. Puede utilizar
una de las siguientes constantes, del tema HTTP Client:
(*) Durante las peticiones HTTPS, la autoridad del certificado no se verifica.
(**) Para mayor información sobre las direcciones IPv6 en urls, por favor
consulte RFC 2732.
Pase en el parámetro contenido el cuerpo (body) de la petición. Los datos pasados
en este parámetro dependen del método HTTP de la petición.
Puede enviar datos de tipo texto, BLOB, imagen u objeto. Cuando el content-type
no se especifica, se utilizan los siguientes tipos:

 para los textos: texto/plano - UTF8


 para los BLOBs: aplicación/byte-stream
 para las imágenes: tipo MIME conocido (best for Web).
 para los objetos C_OBJECT: aplicación/json

Después de la ejecución del comando, el parámetro respuesta recupera el


resultado de la petición devuelto por el servidor. Este resultado corresponde al
cuerpo (body) de la respuesta, sin los encabezados (headers). Puede pasar
variables de diferentes tipos en respuesta:

 Texto: cuando el resultado se espera en forma de texto (ver nota abajo).


 BLOB: cuando el resultado se espera en forma binaria.
 Imagen: cuando el resultado se espera en forma de imagen.
 Objeto C_OBJECT: cuando el resultado esperado es un objeto.

Nota: cuando se pasa una variable de texto en respuesta, 4D intentará decodificar


los datos devueltos desde el servidor. 4D primero intenta recuperar el conjunto de
caracteres del encabezado de tipo de contenido, luego del contenido utilizando un
BOM y, finalmente, busca cualquier atributo http-equiv charset(en contenido html)
o codificación (para xml). Si no se puede detectar ningún charset, 4D intentará
decodificar la respuesta en ANSI. Si la conversión falla, el texto resultante quedará
vacío. Si no está seguro de si el servidor devuelve una información charset o
BOM, pero conoce la codificación, es más preciso pasar respuesta en BLOB y
llamar al Convert to text.
RESPONSE
el objeto Request gestiona todo lo relativo a entrada de datos al script por parte del
usuario (formularios), provenientes de otra URL, del propio servidor o del browser

sta función es tomada en cargo por el objeto Response el cual ha sido ligeramente
mencionado en capítulos precedentes concretamente en asociación al método
Write.

En efecto, sentencias del tipo:

<%Response.Write "Una cadena de texto"%>

o bien,

<%Response.Write variable%>

Tienen como cometido imprimir en el documento HTML generado un mensaje o


valor de variable. Este método es tan comúnmente utilizado que existe una
abreviación del mismo de manera a facilitar su escritura:

<% = variable %> es análogo a <%response.write variable%>

Es importante precisar el hecho que imprimir en el documento HTML no significa


necesariamente visualizar en pantalla ya que podríamos servirnos de estas
etiquetas para crear determinadas etiquetas HTML. He aquí un ejemplo de lo que
se pretende decir:

<% path="http://www.misitio.com/graficos/imagen.gif" %>

<img src="<% =path %>">

Este fragmento de script nos generaría un código HTML que sería recibido en el
navegador del siguiente modo:

<img src="http://www.misitio.com/graficos/imagen.gif">

Otro elemento interesante de este objeto Response es el método Redirect. Este


método nos permite el enviar automáticamente al internauta a una página que
nosotros decidamos.

Esta función, a todas luces práctica, puede ser empleada en scripts en los que
enviamos al visitante de nuestro sitio a una u otra página en función del navegador
que utiliza o la lengua que prefiere. También es muy útil para realizar páginas
"escondidas" que realizan una determinada función sin mostrar ni texto ni imágenes
y nos envían a continuación a otra página que es en realidad la que nosotros
recibimos en el navegador.

Referencia: La función redirect se puede estudiar en un artículo más


extensamente: Redirigir al navegador a una URL con ASP al detalle.

Aquí se puede ver una secuencia de script que nos permitiría usar este método para
el caso en el que tengamos páginas diferentes para distintas versiones de
navegadores. En ella emplearemos un objeto que nos debe parecer familiar ya que
lo acabamos de ver (Request.ServerVariables):

<%
tipo_navegador = Request.ServerVariables("HTTP_USER_AGENT")
If Instr(1, tipo_navegador, "MSIE 3", 1) <> 0 then
Response.Redirect "MSIE3.asp"
ElseIf Instr(1, tipo_navegador, "MSIE 4", 1) <> 0 then
Response.Redirect "MSIE4.asp"
ElseIf Instr(1, tipo_navegador, "MSIE 5", 1) <> 0 then
Response.Redirect "MSIE5.asp"
ElseIf Instr(1, tipo_navegador, "Mozilla/4", 1) <> 0 then
Response.Redirect "Netscape4.asp"
Else
Response.Redirect "cualquiera.asp"
%>

METHOD POST y METHOD GET :

Instrucción IN-LINE
Lee una sola línea de un archivo secuencial abierto y la asigna a una variable
de cadena .
Sintaxis

Entrada #de línea_FileNumber_, varname

Los datos leídos con Line Input # se escriben normalmente a partir de un archivo
con Print #.

La instrucción LINE INPUT # lee desde un archivo un carácter a la vez hasta que
encuentra un retorno de carro (Chr(13)) o una secuencia retorno de carro/salto de
línea (Chr(13) + Chr(10)). Las secuencias retorno de carro-avance de línea se
omiten en lugar de anexarse a la cadena de caracteres.

IMPORT C#

Importaciones automáticas y proporciona inteligencia para referencias que aún no


se importaron en un archivo C #.
El alcance de una directiva de uso está limitado al archivo en el que aparece.
La directiva de uso puede aparecer:
Al principio de un archivo de código fuente, antes de cualquier espacio de
nombres o definiciones de tipo.
En cualquier espacio de nombres, pero antes de cualquier espacio de nombres o
tipos declarados en este espacio de nombres.
De lo contrario, se genera el error de compilador CS1529.
Cree una directiva de uso de alias para facilitar la calificación de un identificador a
un espacio de nombres o tipo. En cualquier directiva de uso, se debe usar el
espacio de nombres o el tipo completamente calificado, independientemente de
las directivas de uso que le preceden. No se puede utilizar un alias de uso en la
declaración de una directiva de uso.
REFLEXIONES PRÁCTICA W3 – DB WEB
Wamp:
WampServer es un entorno de desarrollo web para Windows con el que se puede
crear aplicaciones web con Apache, PHP y bases de datos MySQL database.
También incluye PHPMyAdmin y SQLiteManager para manejar tus bases de datos
en un plis plas.
Provee a los desarrolladores con los cuatro elementos necesarios para un servidor
web: un Sistema Operativo (Window), un manejador de base de datos (MySQL), un
software para servidor web (Apache) y un software de programación script Web
(PHP (generalmente), Python o PERL), debiendo su nombre a dichas herramientas.
Lo mejor de todo es que WAMPServer es completamente gratuito. WAMP incluye,
además de las últimas versiones de Apache, PHP Y MySQL, versiones anteriores
de las mismas, para el caso de que se quiera testear en un entorno de desarrollo
particular.
El uso de WAMP permite servir páginas HTML a internet, además de poder
gestionar datos en ellas, al mismo tiempo WAMP, proporciona lenguajes de
programación para desarrollar aplicaciones Web.

MYSQL:
MySQL es un sistema de administración de bases de datos (Database Management
System, DBMS) para bases de datos relacionales. Así, MySQL no es más que una
aplicación que permite gestionar archivos llamados de bases de datos.
Existen muchos tipos de bases de datos, desde un simple archivo hasta sistemas
relacionales orientados a objetos. MySQL, como base de datos relacional, utiliza
multiples tablas para almacenar y organizar la información. MySQL fue escrito en C
y C++ y destaca por su gran adaptación a diferentes entornos de desarrollo,
permitiendo su interactuación con los lenguajes de programación más utilizados
como PHP, Perl y Java y su integración en distintos sistemas operativos.
También es muy destacable, la condición de open source de MySQL, que hace que
su utilización sea gratuita e incluso se pueda modificar con total libertad, pudiendo
descargar su código fuente. Esto ha favorecido muy positivamente en su desarrollo
y continuas actualizaciones, para hacer de MySQL una de las herramientas más
utilizadas por los programadores orientados a Internet.

SQL SERVER:
Microsoft SQL Server es un sistema de gestión de base de datos relacional,
desarrollado por la empresa Microsoft.
El lenguaje de desarrollo utilizado (por línea de comandos o mediante la interfaz
gráfica de Management Studio) es Transact-SQL(TSQL), una implementación del
estándar ANSI del lenguaje SQL, utilizado para manipular y recuperar datos (DML),
crear tablas y definir relaciones entre ellas (DDL).
Dentro de los competidores más destacados de SQL Server
están: Oracle, MariaDB, MySQL, PostgreSQL. SQL Server ha estado
tradicionalmente disponible solo para sistemas operativos Windows de Microsoft,
pero desde 2016 está disponible para GNU/Linux, y a partir de 2017
para Docker también. Puede ser configurado para utilizar varias instancias en el
mismo servidor físico, la primera instalación lleva generalmente el nombre del
servidor, y las siguientes - nombres específicos (con un guion invertido entre el
nombre del servidor y el nombre de la instalación).
En cada instalación de SQL Server hay 4 bases de datos de sistema, y la capacidad
de crear nuevas bases de datos por el usuario, en los cuales los datos están
almacenados en tablas.
Estas bases de datos, creadas por parte de los usuarios, incluyen básicamente un
archivo de datos (con el sufijo mdf) con las tablas y los distintos objetos a nivel de
la base de datos; y un archivo de registro (con el sufijo ldf) con las transacciones
abiertas, y transacciones cerradas, Sujeto al modelo de recuperación seleccionado
(se puede acumular en el archivo de registro todos los cambios en la base de datos
desde el último respaldo). Se puede crear un conjunto de archivos de datos además
del principal (con el sufijo ndf) por consideraciones de eficiencia, partición de carga
de trabajo entre los discos rígidos, etc.
Las bases de datos del sistema:

 master - Todos los procedimientos, funciones y tablas del sistema que están
utilizadas por parte de todas las bases de datos y que están instaladas
automáticamente, tanto como las que han sido creado por parte de los
administradores del sistema. Además, todas las definiciones en respecto a la
seguridad a nivel del servidor, están almacenadas en esta base de datos.
 msdb - Almacenamiento de las tareas del agente, los códigos
de CLR combinados en el sistema, los paquetes de SSIS, y otros más.
 model - El molde de las bases de datos. Cada nueva base de datos se crea
como una copia de esta base de datos, menos que algo más estaba definido
explícitamente.
 tempdb - Base de datos temporal que se crea de nuevo cada vez que el servicio
reinicia. Se utiliza para almacenar tablas temporales creadas por parte de los
usuarios o el sistema (por ejemplo en ordenaciones complejos).

Que es Dataset?
El conjunto de datos ADO.NET es una construcción de datos que puede contener
varios conjuntos de filas relacionales, las relaciones que vinculan esos conjuntos de
filas y los metadatos de cada conjunto de filas. El DataSet también realiza un
seguimiento de los campos que han cambiado, sus nuevos valores y sus valores
originales, y puede almacenar información personalizada en su colección de
Propiedades Extendidas. El DataSet se puede exportar a XML o crear a partir de un
documento XML, lo que permite una mayor interoperabilidad entre las aplicaciones.
La serialización es el proceso de convertir un gráfico de objetos en una secuencia
lineal de bytes. Esa secuencia de bytes puede enviarse a otro lugar (por ejemplo, a
una computadora remota) y deserializarse, esto significa hacer un clon en esa
memoria remota del gráfico de objetos original. El proceso de serialización es fácil
con .NET y su lanzamiento también. Cuando se crea cualquier clase en ActiveX DLL
o ActiveX exe, se pueden establecer cinco propiedades de la clase. La última
propiedad conocida como persistente es qué serialización en C #. En C # con la
biblioteca de objetos comunes, todos los lenguajes compatibles con la arquitectura
.NET son conocidos y pueden usar la característica de serialización con la ayuda
de RunTime.Serialization Namespace.

Formateador Responsable de escribir datos de objetos en algún formato específico


en el flujo de salida. Esta clase también es responsable de conducir la operación de
deserialización. ObjectIDGenerator ObjectIDGenerator genera ID para objetos.
Realiza un seguimiento de los objetos ya 'vistos', de modo que si solicita el ID de un
objeto, sabe si debe devolver su ID existente, o generar (y recordar) un nuevo ID.
ObjectManager Realiza un seguimiento de los objetos a medida que se deserializan.
De esta manera, la deserialización puede consultar al ObjectManager para saber si
una referencia a un objeto, en la secuencia serializada, se refiere a un objeto que
ya ha sido deserializado (una referencia hacia atrás), o a un objeto que aún no ha
sido deserializado (una referencia hacia adelante).

Metodo next()
Un método es un bloque de código que contiene una serie de instrucciones. Un
programa hace que se ejecuten las instrucciones al llamar al método y especificando
los argumentos de método necesarios. En C#, todas las instrucciones ejecutadas
se realizan en el contexto de un método. El método Main es el punto de entrada
para cada aplicación de C# y se llama mediante Common Language Runtime (CLR)
cuando se inicia el programa.

Metodo isLast()
Mueve el cursor una fila hacia abajo desde su posición actual.
True si el cursor está en la última fila. false si el cursor está en cualquier otra
posición o si el conjunto de resultados no contiene ninguna fila.
public boolean next()
JavaScript
JavaScript (abreviado comúnmente JS) es un lenguaje de
programación interpretado, dialecto del estándar ECMAScript. Se define
como orientado a objetos,3 basado en prototipos, imperativo, débilmente tipado y
dinámico.
Se utiliza principalmente en su forma del lado del cliente (client-side), implementado
como parte de un navegador webpermitiendo mejoras en la interfaz de
usuario y páginas web dinámicas

Imperativo y estructurado
JavaScript es compatible con gran parte de la estructura de programación de C (por
ejemplo, sentencias if, bucles for, sentencias switch, etc.). Con una salvedad, en
parte: en C, el ámbito de las variables alcanza al bloque en el cual fueron definidas;
sin embargo JavaScript no es compatible con esto, puesto que el ámbito de las
variables es el de la función en la cual fueron declaradas. Esto cambia con la versión
de ECMAScript 2015, ya que añade compatibilidad con block scoping por medio de
la palabra clave let. Como en C, JavaScript hace distinción entre expresiones y
sentencias. Una diferencia sintáctica con respecto a C es la inserción automática de
punto y coma, es decir, en JavaScript los puntos y coma que finalizan una sentencia
pueden ser omitidos.
Dinámico
Tipado dinámico
Como en la mayoría de lenguajes de scripting, el tipo está asociado al valor,
no a la variable. Por ejemplo, una variable x en un momento dado puede
estar ligada a un número y más adelante, religada a una cadena. JavaScript
es compatible con varias formas de comprobar el tipo de un objeto,
incluyendo duck typing.26 Una forma de saberlo es por medio de la palabra
clave typeof.
Objetual
JavaScript está formado casi en su totalidad por objetos. Los objetos en
JavaScript son arrays asociativos, mejorados con la inclusión de prototipos
(ver más adelante). Los nombres de las propiedades de los objetos son
claves de tipo cadena: obj.x = 10 y obj['x'] = 10 son equivalentes,
siendo azúcar sintáctico la notación con punto. Las propiedades y sus
valores pueden ser creados, cambiados o eliminados en tiempo de ejecución.
La mayoría de propiedades de un objeto (y aquellas que son incluidas por la
cadena de la herencia prototípica) pueden ser enumeradas a por medio de
la instrucción de bucle for... in. JavaScript tiene un pequeño número de
objetos predefinidos como son Function y Date.
Evaluación en tiempo de ejecución
JavaScript incluye la función eval que permite evaluar expresiones
expresadas como cadenas en tiempo de ejecución. Por ello se recomienda
que eval sea utilizado con precaución y que se opte por utilizar la
función JSON.parse() en la medida de lo posible, pues resulta mucho más
segura.
Funcional
A las funciones se les suele llamar ciudadanos de primera clase; son objetos
en sí mismos. Como tal, poseen propiedades y métodos,
como .call() y .bind(). Una función anidada es una función definida dentro de
otra. Esta es creada cada vez que la función externa es invocada. Además,
cada función creada forma una clausura; es el resultado de evaluar un ámbito
conteniendo en una o más variables dependientes de otro ámbito externo,
incluyendo constantes, variables locales y argumentos de la función externa
llamante. El resultado de la evaluación de dicha clausura forma parte del
estado interno de cada objeto función, incluso después de que la función
exterior concluya su evaluación.

JavaScript usa prototipos en vez de clases para el uso de herencia.29 Es


posible llegar a emular muchas de las características que proporcionan las
clases en lenguajes orientados a objetos tradicionales por medio de
prototipos en JavaScript
Funciones como constructores de objetos
Las funciones también se comportan como constructores. Prefijar una
llamada a la función con la palabra clave new crear una nueva instancia de
un prototipo, que heredan propiedades y métodos del constructor (incluidas
las propiedades del prototipo de Object).31 ECMAScript 5 ofrece el
método Object.create, permitiendo la creación explícita de una instancia sin
tener que heredar automáticamente del prototipo de Object (en entornos
antiguos puede aparecer el prototipo del objeto creado como null).32 La
propiedad prototype del constructor determina el objeto usado para el
prototipo interno de los nuevos objetos creados. Se pueden añadir nuevos
métodos modificando el prototipo del objeto usado como constructor.
Constructores predefinidos en JavaScript, como Array u Object, también
tienen prototipos que pueden ser modificados. Aunque esto sea posible se
considera una mala práctica modificar el prototipo de Object ya que la
mayoría de los objetos en Javascript heredan los métodos y propiedades del
objeto prototype, objetos los cuales pueden esperar que estos no hayan sido
modificados

Que es AJAX

AJAX, acrónimo de Asynchronous JavaScript And XML (JavaScript asíncrono


y XML), es una técnica de desarrollo web para crear aplicaciones interactivas
o RIA (Rich Internet Applications). Estas aplicaciones se ejecutan en el cliente, es
decir, en el navegador de los usuarios mientras se mantiene la
comunicación asíncrona con el servidor en segundo plano. De esta forma es posible
realizar cambios sobre las páginas sin necesidad de recargarlas, mejorando la
interactividad, velocidad y usabilidad en las aplicaciones.
Ajax es una tecnología asíncrona, en el sentido de que los datos adicionales se
solicitan al servidor y se cargan en segundo plano sin interferir con la visualización
ni el comportamiento de la página, aunque existe la posibilidad de configurar las
peticiones como síncronas de tal forma que la interactividad de la página se detiene
hasta la espera de la respuesta por parte del servidor.
JavaScript es un lenguaje de programación (scripting language) en el que
normalmente se efectúan las funciones de llamada de Ajax mientras que el acceso
a los datos se realiza mediante XMLHttpRequest, objeto disponible en los
navegadores actuales. En cualquier caso, no es necesario que el contenido
asíncrono esté formateado en XML.

Navegadores que permiten AJAX


Ha de tenerse en cuenta que esta es una lista general, y el soporte de las
aplicaciones Ajax dependerá de las características que el navegador permita.

 Navegadores basados en Gecko como Mozilla, Mozilla


Firefox, SeaMonkey, Camino, K-
Meleon, IceWeasel, Flock, Epiphany, Galeon y Netscape versión 7.1 y
superiores.
 Navegadores basados en WebKit como Google
Chrome de Google o Safari de Apple.
 Microsoft Internet Explorer para Windows versión 5.0 y superiores, y los
navegadores basados en él.
 Navegadores con el API KHTML versión 3.2 y superiores implementado,
incluyendo Konqueror versión 3.2 y superiores y el Web Browser for S60
de Nokia tercera generación y posteriores.
 Opera versión 8.0 y superiores, incluyendo Opera Mobile Browser versión 8.0 y
superiores.
Navegadores que no permiten AJAX
 Opera 7 y anteriores
 Microsoft Internet Explorer para Windows versión 4.0 y anteriores
 Anteriores a Safari 1.2
 Dillo
 Navegadores basados en texto como Lynx y Links
 Navegadores para personas con capacidades especiales visuales (Braille)
 Algunos navegadores de teléfonos móviles
 Navegador de la PSP
Ajax es una técnica válida para múltiples plataformas y utilizable en muchos
sistemas operativos y navegadores dado que está basado en estándares abiertos
como JavaScript y Document Object Model (DOM).

Você também pode gostar