Escolar Documentos
Profissional Documentos
Cultura Documentos
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.
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.
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.
}
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.
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.
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).
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:
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.
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)
¿Reader/Writer?
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
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
¿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.
❖ ¿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:
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.
o bien,
<%Response.Write variable%>
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">
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.
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"
%>
Instrucción IN-LINE
Lee una sola línea de un archivo secuencial abierto y la asigna a una variable
de cadena .
Sintaxis
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#
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.
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.
Que es AJAX