Professional Documents
Culture Documents
2010
www.descarga-tareas.blogspot.com
PRESENTA
www.descarga-tareas.blogspot.com
Tareas, para poder utilizarlo como apuntes o
compartirlo en otras comunidades siempre y
cuando tengas como fin compartir el conocimiento
y recalcando a los respectivos autores de los temas.
Temario – Índice
Contenido
Apartado 1 - Programación Visual Elementos Básicos ................................................................ 4
C# Builder - Introducción a Programación Visual Elementos Básicos................................. 4
C# Builder - Modelo De Solución............................................................................................... 5
C# Builder - Constantes, Variables e Identificadores.............................................................. 9
C# Builder - Tipos de datos ....................................................................................................... 10
C# Builder - Operadores Aritméticos ...................................................................................... 12
C# Builder - Operador Cast ....................................................................................................... 12
C# Builder - Jerarquía De Operaciones .................................................................................. 14
C# Builder - Programación Orientada A Objetos .................................................................. 14
C# Builder - Requisitos Para Programación C# Builder ....................................................... 16
C# Builder - Ambiente Integrado De Desarrollo ................................................................... 16
C# Builder - Programas, Formas Y Componentes ................................................................. 19
C# Builder - Aplicación.............................................................................................................. 20
C# Builder - Otros Componentes ............................................................................................. 25
C# Builder - Ventanas En C#Builder ....................................................................................... 28
C# Builder - Palabras Reservadas C# Builder ........................................................................ 31
www.descarga-tareas.blogspot.com
C# Builder - Componentes Windowsforms ............................................................................ 31
Apartado 2 - Instrucciones De Control De Programa .................................................................. 36
C# Builder - Introducción a Instrucciones De Control De Programa ................................. 36
C# Builder - Instrucciones De Control De Programa ............................................................ 36
C# Builder - Instrucciones Condicionales............................................................................... 37
C# Builder - Condiciones Simples............................................................................................ 38
C# Builder - Instrucción If ........................................................................................................ 39
Página 2 de 101
www.descarga-tareas.blogspot.com
C# Builder - Tablas..................................................................................................................... 73
C# Builder - Microsoft Access................................................................................................... 76
C# Builder - ADO.NET Active Data Object ............................................................................. 79
C# Builder - Selección O Despliegue ....................................................................................... 87
C# Builder - Inserción O Adición De Registros...................................................................... 90
C# Builder - Búsquedas ............................................................................................................. 91
C# Builder - Filtros..................................................................................................................... 93
Página 3 de 101
Los nuevos sistemas de información, tienden a ser cada vez de mayor alcance y
complejidad sobre todo cuando se toman en cuenta las nuevas necesidades de
información y conocimiento que demandan las nuevas organizaciones a nivel mundial.
www.descarga-tareas.blogspot.com
C Sharp (C#) es un lenguaje de programación desarrollado por Microsoft muy
apropiado para construir sistemas de información basados en red o mejor aun en
internet. El lenguaje cuenta con .NET que es la nueva tecnología desarrollada y
ofrecida por Microsoft que permite hacer más fácil la construcción y desarrollo de
programas y aplicaciones para Internet.
Para trabajar con C# Builder se le solicita al alumno que descargue Microsoft Visual C#
2008 Express Edition, el cual puede descargar dando un clic aquí.
Fuente
www.descarga-tareas.blogspot.com
descomponerlo en todos sus componentes o partes que de una u otra manera
intervienen tanto en su planteamiento como en su solución.
Una herramienta rápida que nos permite descomponer en partes un problema para su
solución, es el llamado modelo de solución, este consiste de una pequeña caja que
contiene los tres elementos más básicos en que se puede descomponer cualquier
problema sencillo de información, estas tres partes son:
La primera parte: Son todos los datos que el computador ocupa para resolver el
problema, estos datos son almacenados internamente en la memoria del
Página 5 de 101
www.descarga-tareas.blogspot.com
Variable(s) de entrada: b, h, a;
Proceso u operación: a = b*h/2;
Variable(s) salida: a;
Página 6 de 101
DESCARGA AQUI
Hecho en México por Rodolfo Panduro Rivera
2010
Práctica – Realizar los siguientes Programas en C# Builder
Nota: Tener en cuenta que para el caso de constantes (PI) no se debe dar como dato de entrada su valor,
en cambio colocar directamente su valor dentro de la formula, en la parte de operaciones del problema.
P7. Se calcula que en promedio hay 4.7 nidos en cada árbol en la Universidad, también se calcula que en
cada nido existen un promedio de 5.8 pájaros, se pide calcular la cantidad total de nidos y de pájaros en los
227 árboles que existen en la Universidad.
www.descarga-tareas.blogspot.com
P8. La Sra. Pérez y sus 8 hijos solo compran una vez al mes su mandado en un conocido supermercado, en
dicha tienda el kilogramo de frijol cuesta $8.75, el paquete de tortillas cuesta $3.55 y el frasco de café vale
$14.25, si solo compran de estos tres productos para su mandado, calcular su gasto total.
P10. La distancia Tijuana - Ensenada es de 110 kilómetros. Si un automóvil la recorre a una velocidad
constante de 30 millas por hora, cuánto tiempo tarda en llegar.
P14. La distancia que recorre un auto es de 50 Km y su velocidad es de 30 millas por hora. ¿Cuánto tiempo
tardara en llegar?
Hecho en México por Rodolfo Panduro Rivera
2010
P15. Encontrar la derivada de x para cualquier valor con la formula (d/dx(x)=1)
P16. Calcular el interés que gana un capital de x pesos a una tasa de interés del 15% anual en un periodo de
n años.
P17. ¿Qué aceleración tiene un tren que parte de Tijuana a 10 km/h y pasa por ensenada una hora después
a 50 km/h?
P18. Calcular el número de aulas en una escuela que tiene 10 edificios y cada edificio 3 pisos y cada piso 5
aulas, excepto un edificio que solo tiene dos pisos.
P19. Si en una escuela hay 30 maestros y 14 son hombres que atienden a 10 alumnos cada uno. ¿Cuántas
maestras hay?
P20. Calcular la corriente de un circuito con un voltaje de 15v y una resistencia de 6 Ohm. Formula (I= V/R)
P21. Calcular la normal estandar (z) dados los datos por el usuario: X=dato, µ=media, d=desviación.
Formula (Z = X-M / d)
P24. Determinar la velocidad v requerida para recorrer una distancia d en un tiempo t. Formula (V = d * t)
www.descarga-tareas.blogspot.com
P28. Aplicar la formula general para a=1, b=2, c=3.
P29. Se desea instalar un cable de red, el cliente pide 30 pies, considerando que se venden en metros,
¿cuántos deberá comprar?
P30. Un campesino siembra trigo en un área cuadrada de 25 m, ¿cuál es el largo del cerco frontal en cm?
P33. Si cada salón de la escuela tiene 40 alumnos y son 30 salones ¿Cuantos alumnos son en toda la
escuela?
P34. Si Juan trabaja 5 días a la semana y descansa 2 ¿Cuantos días trabajo en 4 años?
P35. Si en una oficina se procesan 20 facturas cada 10 minutos, ¿cuántas se procesaran si se trabajan 5
horas?
Hecho en México por Rodolfo Panduro Rivera
2010
P36. Si una empresa tiene _ de activo y un pasivo de _ ¿Cual es su capital? Formula (C = A-P)
P37. Calcule el voltaje de un circuito dada una intensidad I y una resistencia R. Formula(V=IR)
P38. Calcule la frecuencia de una onda que circula con un tiempo t. Formula (F=1/t)
P39. Calcule la potencia de un circuito con un voltaje V y una intensidad I. Formula (f = VI)
P40. Calcule el total que tendrá que pagar una persona que va al cine dependiendo del no. de boletos a
comprar y el precio.
P41. Calcule las anualidades que tendrá que pagar una persona que pidió un préstamo. Dependiendo del
tiempo que el elija y el interés por año. Formula (Anualidad = (Préstamo/Tiempo)+interés)
P42. Determinar cuánto ganara una persona en base a las horas trabajadas. Tomando en cuenta el pago por
hora.
Fuente
Existen otros valores que van a cambiar durante la ejecución del programa o la prueba
www.descarga-tareas.blogspot.com
del algoritmo (prueba de escritorio) ; a estos valores se les llama variables.
Por lo tanto:
CONSTANTES: Son datos que permanecen sin cambios durante todo el desarrollo del
algoritmo o ejecución del programa. Por ejemplo, si tenemos la fórmula para resolver
el área de un triangulo.
A = (b * h)/2;
Independientemente de los valores que tengan la base y la altura, la formula nos dice
que se tiene que dividir entre dos, ese numero dos nunca cambiara de valor, por lo
Página 9 de 101
IDENTIFICADORES: Son los nombres que reciben las variables y algunas constantes,
están formados de caracteres alfanuméricos, de los cuales el primero tiene que ser una
letra.
Ejemplos
www.descarga-tareas.blogspot.com
Para concluir, imaginemos que la siguiente figura es la memoria principal de la PC y
que en ella se encuentran almacenadas diferentes direcciones, las variables A, b, h y la
constante Pi:
Página 10 de 101
www.descarga-tareas.blogspot.com
DATOS LÓGICOS (BOOLEANOS): Aquel tipo de dato solo puede tomar uno de dos
valores: cierto (true) y falso (false). Este tipo de datos se usa para representar
alternativas (Si/No) a ciertas condiciones. Por ejemplo, cuando se pide si un valor
entero es par, la respuesta va a ser cierta o falsa, dependiendo la respuesta.
Resumiendo:
Hecho en México por Rodolfo Panduro Rivera
2010
El operador cast realiza este proceso, es decir convierte datos, variables o expresiones
a un nuevo tipo de dato, su formato es: nvotipo (dato , var, exp);
www.descarga-tareas.blogspot.com
Ejemplo:
// declaración
int alfa;
// Asignación
alfa=20;
// Cambio de tipo
float (alfa);
Página 12 de 101
En este ejemplo se está convirtiendo un valor float a uno int, recordar que en este
caso ya no se tendrán los decimales.
Como nota importante este operador resuelve los dos problemas pendientes:
1. El de la división entre enteros.
Hecho en México por Rodolfo Panduro Rivera
2010
2. El tipo de dato especifico que requieren las funciones.
Ejemplos:
a) // Declaración
float alfa;
// Operación
alfa = float (23)/5;
// Pero en estos casos es preferible
alfa=23/5.0;
En toda división recordar agregar a uno de los dos valores el (.0), solo que los dos
elementos sean variables entonces usar el operador cast con una de ellas.
b)// Declaración
double potencia;
// Operación
potencia = pow ( double (5), double (3));
Como se observa en el ejemplo, se puede usar pow(), directamente con los datos,
argumentos o parámetros requeridos , si estos son numéricos, pero transformándolos
con el operador cast.
www.descarga-tareas.blogspot.com
Sea
Ejemplos:
2+ 3* 4 = 20 (incorrecto)
= 14 (correcto)
Jerarquía de operaciones
1.- Paréntesis
2.- Potencias y raíces
3.- Multiplicaciones y divisiones
4.- Sumas y restas
5.- Dos o más de la misma jerarquía u orden, entonces resolver de izquierda a derecha
www.descarga-tareas.blogspot.com
o inmateriales pueden clasificarse como objetos.
Las propiedades más generales son forma, color, tamaño, peso, etc., pero ya en
Página 14 de 101
particular:
Chamarra → Marca, material, precio, color, tamaño, etc.
Eventos: Es la relación (de varias maneras) que se puede dar entre dos objetos
ya sean de la misma o diferente clase. Un evento se manifiesta como una
interacción entre dos objetos, en general al momento de la relación al mismo
tiempo se dará una reacción o respuesta por parte de los dos objetos que se
manifiestan como una serie, cadena o conjuntos de métodos propios que se
activan o disparan, ejemplo:
www.descarga-tareas.blogspot.com
Raton click Windows, click, maximizar(), cerrar()
Pero en general tanto las formas como los controles no dejan de ser objetos en
programación y por tanto tienen sus propiedades, métodos y están sujetos a eventos.
Fuente
Hecho en México por Rodolfo Panduro Rivera
2010
C# Builder - Requisitos Para Programación C# Builder
La gama de productos de Microsoft denominada Visual Studio Express
Edition incorpora diferentes aplicaciones gratuitas específicamente diseñadas para
estudiantes y desarrolladores principiantes que deseen dar sus primeros pasos en el
mundo de la programación. Entre estas aplicaciones encontramosVisual C# 2008
Express Edition.
www.descarga-tareas.blogspot.com
Requisitos e información adicional:
Esta descarga es un instalador que requiere Internet. Una vez ejecutado, el programa
se conectará a los servidores de Microsoft y descargará la aplicación completa. Una vez
instalado tendremos 30 días para registrarnos en los servidores de Microsoft y usar así
el programa de forma totalmente gratuita.
DESCARGA AQUI
Fuente
Página 16 de 101
Es sobre esta última forma o ventana donde se construirá el programa y esta forma se
www.descarga-tareas.blogspot.com
convertirá en ventana al momento de ejecutarse el programa. Es decir será la primera
ventana que el usuario ve al momento de ejecutarse el programa, su nombre es
WinForm1. Esta forma o ventana es un objeto de C#, y como todos los objetos de C#
y del universo, la forma o ventana tiene asociados propiedades y eventos.
Página 17 de 101
Hecho en México por Rodolfo Panduro Rivera
2010
Propiedades son todas las características particulares que diferencian un objeto de otro
objeto, las propiedades o características más comunes son forma, tamaño, color, etc.,
para objetos en C# Builder, estas propiedades se modifican o individualizan usando el
Inspector de Objetos, que es la parte del programa que las contiene.
Nomobjeto.propiedad = nuevovalor;
WinForm1.BackColor = Pink;
www.descarga-tareas.blogspot.com
Para los primeros programas en C# Builder de WinForm1 solo se usaran propiedades
sencillas como color Font etcétera y no se usaran sus eventos. Un programa o
problema de información en C# Builder, no es más que una o más formas o ventanas,
donde cada una de ellas contiene elementos u objetos especiales llamados
componentes, dichos componentes C#Builder los proporciona a través de la paleta de
componentes (TOOL PALETE)
Observar que esta Paleta de componentes tiene varias categorías con su propio grupo
de componentes que se irán usando a lo largo del curso. Empezaremos a construir
Página 18 de 101
Aun más toda la interface que se quiera manejar con el usuario del programa no
consistirá más que de una colección de componentes agrupados en una forma o
ventana. Para incorporar un componente a una forma solo basta seleccionarlo con un
clic derecho en su icono y luego ARRASTRARLO hasta el lugar donde quedara dentro
de WinForm1.
Hecho en México por Rodolfo Panduro Rivera
2010
También estos controles o componentes son objetos de C# Builder y como tales
también tienen asociados propiedades y eventos tales como los tiene la forma
principal, solo que existen pequeñas variaciones en cuanto a sus propiedades y
eventos propios con respecto a WinForm1. Recordar además, que es el Inspector de
Objetos en primera instancia quien permite asociar o modificar propiedades específicas
tanto a una forma como a un componente.
Fuente
2. Objetos que permitan capturar y desplegar datos, de momento se usaran los dos
objetos de entrada/salida más comunes:
www.descarga-tareas.blogspot.com
textBox ←Permite tanto capturar datos, así como desplegar el resultado de
operaciones ( recordar que textbox) solo capturan o despliegan un dato a la
vez, recordar también que todos los datos que entren y salgan de un textbox
son de tipo string.
Nota 1: Recordar que aunque no es un componente necesario en los programas ya que el código se puede
asociar o pegar a cualquier evento de cualquier forma o componente del programa, Microsoft ya acostumbro
a todos los usuarios al botón OK, de acuerdo, OK.
Hecho en México por Rodolfo Panduro Rivera
2010
Nota 2: Recordar que todos los componentes vistos incluyendo la propia forma y ventana tienen muchas
propiedades que se pueden asignar o modificar y también tienen muchos eventos a los cuales les podemos
asociar o cargar el código del programa, todos estas propiedades y eventos las podemos acceder dentro del
inspector de objetos, es decir, por favor vean, analicen y usen el inspector de objetos asociado al
componente, porque a lo largo de este curso son muy pocas las propiedades que se estudian y también muy
pocos los eventos que se cargan y son muchos los que hay que aprender y sobre todo usar.
Fuente
C# Builder - Aplicación
www.descarga-tareas.blogspot.com
3. Dos cajas de texto (TextBox) uno para capturar datos (Radio) y el otro para
desplegar el resultado (área).
4. Un botón (button) para que active y contenga el código del problema y/o programa.
www.descarga-tareas.blogspot.com
escribir a un lado de la propiedad (Name) el nombre de su programa.
Página 21 de 101
Nota: Dentro del programa se estarán cargando todos los objetos que usa el programa y por ejemplo C# Builder a
los dos textbox que se estarán usando los nombra con los valores predeterminados de textBox1 y textBox2, con
Hecho en México por Rodolfo Panduro Rivera
2010
esas mayúsculas y minúsculas, así que estará difícil estar recordando su nombre de default. Es por esta razón que
el nombre de default WINFORM mejor se cambia a frmP2 ← que significa para nosotros formaPrograma2.
Nota: si de alguna manera el editor los manda al código del programa, observar que arriba de frmP2 hay
dos pestañas la de código y la de diseño, solo den un clic en diseño para regresar al ambiente visual.
www.descarga-tareas.blogspot.com
Página 22 de 101
Nota: Es muy importante recordar que C# es un lenguaje case-sensitive es decir si puede diferenciar entre
mayúsculas y minúsculas, es decir si ustedes cargan la propiedad (Nombre) con la palabra base en puras
mayúsculas dentro del programa se tendrá que usar también con puras mayúsculas.
Hecho en México por Rodolfo Panduro Rivera
2010
8. Arrastrar y acomodar ahora un componente button, poner su propiedad (Nombre) la
palbra btnCalcular y en la propiedad text la palabra Calcular.
9. Ahora daremos doble clic a nuestro botón, y colocaremos el siguiente código dentro
del evento click de button.
Nota: Solo se escribe el código dentro de las dos llaves, el evento private void btnCalcular_Click(object
www.descarga-tareas.blogspot.com
sender, EventArgs e) {} ya lo escribe C# Builder por default y no olviden respetar todas las mayúsculas y
minúsculas dentro del código.
Los dos parámetros que van dentro de btnCalcular_Click son para indicarle al
compilador que se estarán enviando objetos entre la forma o ventana y el usuario del
programa (lostextbox son los objetos y primero se mandan vacios al usuario y luego
el sistema los recoge con datos que ingresa el usuario), La variable “e” (environment)
es donde el sistema o compilador los va almacenando temporalmente, si ya vieron algo
de ms-dos y conocen el comando set ahí observaran los textbox con sus datos.
Página 23 de 101
Regresando al código:
Son las propiedades Text de los TextBox quienes contienen los datos tanto capturados
como los de salida. Recordar además que cualquier propiedad Text de cualquier control
o componente solo maneja datos de tipo texto (String) y por tanto para poder realizar
operaciones con los TextBox.Text se usaron dos métodos diferentes:
Hecho en México por Rodolfo Panduro Rivera
2010
ClaseNumerica.Parse (dato string, variable string,
componente.text); Para sacar u obtener su valor numérico, revisar el tema
tipos de datos para ver cuales clases numéricas tienen su método PARSE.
VariableNumerica.ToString(); Se usa para convertir el valor numérico a tipo
carácter, para poderlo almacenar en la propiedad Text del TextBox.
10. Ya cargada la forma con sus componente y el evento Click con su código
respectivo, grabar el programa con la opción Archivo→Guardar Todo o usar el icono
de grabación (los disquitos que están en la barra de iconos arriba) y luego ejecutar el
programa usando el icono de Iniciar depuración que también se encuentra en la
barra de herramientas arriba.
Descarga Aqui
Si buscan muy bien dentro del folder de su programa se encontraran con muchos
archivos que creo C# Builder, dos de ellos son los interesantes: WinForm.CS que
www.descarga-tareas.blogspot.com
contiene todo el código fuente, es decir el programa original y (dentro de la carpeta
bin) que es el archivo ejecutable, basta darle un clic desde el explorador de Windows y
se ejecutara solo sin necesidad de que este cargado Visual C# Express 2008.
P1. Construir el programa que convierte la edad en años de una persona a meses.
P2. Construir un programa que evalué la siguiente función y = x2+x+1 para cualquier
valor de x.
Página 24 de 101
Fuente
www.descarga-tareas.blogspot.com
Esta instrucción desplegara el resultado con solo dos decimales como resultado, la
siguiente tabla nos muestra todos los posibles caracteres que se pueden incluir en la
string de control.
(0): Marcador de posición del dígito. Muestra un dígito o un cero. Si la expresión tiene un dígito en la
posición donde aparece el cero en la cadena de formato, se muestra, de lo contrario, muestra un cero en esa
situación. Si el número tiene menos dígitos que ceros (a ambos lados de la coma decimal) en la expresión de
formato, muestra los ceros iníciales o finales. Si el número tiene más dígitos a la derecha del separador
Hecho en México por Rodolfo Panduro Rivera
2010
decimal que ceros a la derecha del separador decimal en la expresión de formato, redondea el número a
decimal, tantas como son ceros. Si el número tiene más dígitos a la izquierda del separador decimal que
ceros a la izquierda del separador decimal en la expresión de formato, muestra los dígitos adicionales sin
modificación.
(#): Marcador de posición del dígito. Muestra un dígito o nada. Si la expresión tiene un dígito en la posición
donde aparece el carácter # en la cadena de formato, la muestra, de lo contrario, no muestra nada en esa
posición. Este símbolo funciona como el marcador de posición de dígito 0, excepto que los ceros iníciales y
finales no se muestran si el número tiene menos dígitos que caracteres # a ambos lados del separador
decimal en la expresión de formato.
(.): Marcador de posición decimal. El marcador de posición decimal determina cuántos dígitos se muestran a
la izquierda ya la derecha del separador decimal. Si la expresión de formato contiene sólo caracteres # a la
izquierda de este símbolo, los números menores que 1 comienzan con un separador decimal. Para mostrar
un cero a la izquierda que aparecen con números fraccionarios, utilice el marcador de posición cero como
primer dígito a la izquierda del separador decimal. En algunos lugares, se utiliza una coma como separador
decimal. El carácter real utilizado como un marcador de posición decimal en la salida con formato depende
del formato de número reconocido por el sistema. Por lo tanto, usted debe usar el punto como marcador
decimal en sus formatos, incluso si usted está en una configuración regional que utiliza una coma como un
marcador de posición decimal. La cadena con formato aparecerá en el formato correcto para la configuración
regional.
(%): Porcentaje de marcador de posición. Multiplica la expresión por 100. El carácter de porcentaje (%) se
inserta en la posición en la que aparece en la cadena de formato.
(,): Separador de miles. El separador de miles separa a miles de cientos en un número que tiene cuatro o
www.descarga-tareas.blogspot.com
más lugares a la izquierda del separador decimal. El uso estándar del separador de miles se especifica si el
formato contiene un separador de miles rodeado de marcadores de posición de dígitos (0 o #). Un separador
de miles inmediatamente a la izquierda del separador decimal (si no se especifica un decimal) o como el
personaje más a la derecha en la cadena significa "escalar el número dividiéndolo por 1000, el redondeo,
según sea necesario." Números menores que 1000, pero mayor o igual a 500 se muestran como 1, y los
números de menos de 500 se muestran como 0. Dos separadores de miles adyacentes en esta escala de
posición por un factor de 1 millón, y un factor adicional de 1,000 por cada separador adicional. Separadores
múltiples en cualquier posición que no sea inmediatamente a la izquierda del separador decimal o la posición
más a la derecha de la cadena son tratadas simplemente como especificar el uso de un separador de miles.
Página 26 de 101
En algunos lugares, el plazo se utiliza como separador de miles. El carácter real utilizado como separador de
miles en la salida con formato depende del formato de número reconocido por el sistema. Por lo tanto, usted
debe usar la coma como separador de miles en sus formatos, incluso si se encuentra en un entorno local que
utiliza un punto como separador de miles. La cadena con formato aparecerá en el formato correcto para la
configuración regional.
(:): Separador de hora. En algunos lugares, otros personajes se pueden utilizar para representar el
separador de hora. El separador de hora separa horas, minutos y segundos cuando los valores de hora
tienen el formato. El carácter real utilizado como separador de hora en la salida con formato viene
determinado por la configuración de su sistema.
(/): Separador de fecha. En algunos lugares, otros personajes se pueden utilizar para representar el
separador de fecha. El separador de fecha separa el día, mes y año en que los valores de fecha tienen el
formato. El carácter real utilizado como separador de fecha en formato de salida está determinado por la
configuración de su sistema.
-+$ ( ): Literal de caracteres. Estos personajes se muestran tal y como escribió en la cadena de formato.
www.descarga-tareas.blogspot.com
Para mostrar un carácter distinto de los mencionados, precedido de una barra invertida (\) o escríbalo entre
comillas ("").
(\): Muestra el siguiente carácter en la cadena de formato. Para mostrar un personaje que tiene un
significado especial como un carácter literal, precedido de una barra invertida (\). La propia barra invertida
no se muestra. Utilizando una barra invertida es el mismo que lo contiene el siguiente carácter entre
comillas dobles. Para mostrar una barra diagonal inversa, utilice dos barras diagonales inversas (\ \).
Ejemplos de caracteres que no se pueden mostrar como caracteres literales son los caracteres de formato de
Página 27 de 101
("ABC"): Muestra la cadena entre comillas dobles (""). Para incluir una cadena en el argumento de estilo
desde el código, debe utilizar Chr (34) para incluir el texto (34 es el código de caracteres de una comilla (")).
Los paneles tienen propiedades interesantes como Visible = true or false; esto nos
permite tenerlo oculto hasta el momento que se ocupe.
Nota: Poner los dos paneles dentro de la forma al segundo panel poner su propiedad visible=false.
1 botón.
www.descarga-tareas.blogspot.com
DESCARGA AQUI
Fuente 1
Página 28 de 101
Fuente 2
2. Ahora se creara una segunda forma o ventana, para esto solo usar la opción
Archivo→Nuevo→Windows Form
Nota: Esta opción solo se muestra cuando ya se creó un proyecto, observar también que en el
Administrador de Proyectos aparece registradas las dos ventanas WINFORM.CS y WINFORM1.CS, recordar
hacer un Guardar Todo para grabar la segunda ventana.
www.descarga-tareas.blogspot.com
3. Dar un clic en winform1.cs en el administrador de proyectos para tener en la
pantalla de diseño la segunda ventana, cargarle con sus propios label, textbox y
button, es decir construirle su programa, recordar también asignarles sus propios
Nombres. Recordar poner la propiedad visible=false; de winform1
www.descarga-tareas.blogspot.com
Descarga Tareas
solución.
Fuente
Hecho en México por Rodolfo Panduro Rivera
2010
C# Builder - Palabras Reservadas C# Builder
Las palabras clave son palabras reservadas del lenguaje C# Builder. Dado su carácter
reservado, no pueden ser usados como identificadores. class, public o void son algunos
ejemplos de palabras clava- son nombres de elementos permanentes del lenguaje. Las
palabras clave son palabras reservadas por el sistema y tienen significados especiales
predefinidos. El uso de las palabras clave en cualquier contexto distinto de aquel para
el que han sido definidas en el lenguaje C# Builder equivale a hacer el código ilegible.
Esta es la razón principal de que las palabras clave sean reservadas. Están pensadas
para ser usadas sólo por constructores que son parte del lenguaje.
www.descarga-tareas.blogspot.com
static throw ulong virtual
break checked default enum
finally goto interface namescape
out public sealed string
true unchecked void
Fuente
Controles de formularios Windows Forms por función: Enumera y describe los controles de formularios
Windows Forms basados en .NET Framework.
Controles compatibles con dibujos propietarios integrados: Describe cómo modificar aspectos de la
apariencia de un control que no están disponibles mediante las propiedades.
Hecho en México por Rodolfo Panduro Rivera
2010
BackgroundWorker (Componente): Habilita un formulario o control para ejecutar de forma asincrónica
una operación.
Button (Control, formularios Windows Forms): Presenta un botón estándar en el que el usuario puede
hacer clic para realizar acciones.
CheckBox (Control, formularios Windows Forms): Indica si una condición está activa o inactiva
CheckedListBox (Control, formularios Windows Forms): Muestra una lista de elementos con una casilla
de verificación junto a cada uno de ellos.
ColorDialog (Componente, formularios Windows Forms): Permite que el usuario seleccione un color de
una paleta en un cuadro de diálogo pre configurado y que agregue colores personalizados a la paleta.
ContextMenu (Componente, formularios Windows Forms): Proporciona a los usuarios un menú de fácil
acceso con los comandos de uso más frecuente asociados al objeto seleccionado. Aunque el control
ContextMenuStrip viene a reemplazar y a agregar funcionalidad al control ContextMenu de las versiones
anteriores, ContextMenu se conserva a efectos de compatibilidad con versiones anteriores y uso futuro, si así
lo desea.
www.descarga-tareas.blogspot.com
a reemplazar y a agregar funcionalidad al control ContextMenu de las versiones anteriores, ContextMenu se
conserva a efectos de compatibilidad con versiones anteriores y uso futuro, si así lo desea.
DataGrid (Control, formularios Windows Forms): Muestra datos organizados en formato de tabla
procedentes de un conjunto de datos y permite actualizar el origen de datos.
DataGridView (Control, formularios Windows Forms): Proporciona un sistema flexible y ampliable para
mostrar y editar datos en formato de tabla.
DomainUpDown (Control, formularios Windows Forms): Muestra cadenas de texto que un usuario
puede examinar y seleccionar.
Hecho en México por Rodolfo Panduro Rivera
2010
ErrorProvider (Componente, Formularios Windows Forms): Muestra información de error al usuario de
forma no intrusiva.
FolderBrowserDialog (Componente, Formularios Windows Forms): Muestra una interfaz con la que
los usuarios pueden buscar y seleccionar un directorio o crear uno nuevo.
FontDialog (Componente, formularios Windows Forms): Expone las fuentes actualmente instaladas en
el sistema.
Control GroupBox (formularios Windows Forms): Proporciona una agrupación identificable para otros
controles.
HelpProvider (Componente, formularios Windows Forms): Asocia un archivo de Ayuda HTML a una
aplicación basada en Windows.
Controles HScrollBar y VScrollBar (formularios Windows Forms): Permiten el desplazamiento por una
lista de elementos o un gran volumen de información; éste puede ser de forma horizontal o vertical dentro
de una aplicación o control.
Label (Control, formularios Windows Forms): Muestra texto que no puede ser modificado por el
usuario.
LinkLabel (Control, formularios Windows Forms): Permite agregar vínculos de tipo Web a aplicaciones
de Windows Forms.
www.descarga-tareas.blogspot.com
ListBox (Control, formularios Windows Forms): Permite a los usuarios seleccionar uno o más elementos
de una lista predefinida.
ListView (Control, formularios Windows Forms): Muestra una lista de elementos con iconos, al estilo
del Explorador de Windows.
MonthCalendar (Control, formularios Windows Forms): Muestra una intuitiva interfaz gráfica para que
los usuarios vean y establezcan información de fechas.
NotifyIcon (Componente, formularios Windows Forms): Muestra iconos para procesos que se ejecutan
en segundo plano y que, de otro modo, no tendrían interfaz de usuario.
NumericUpDown (Control, formularios Windows Forms): Muestra números que un usuario puede
examinar y seleccionar.
OpenFileDialog (Componente, formularios Windows Forms): Permite que los usuarios abran archivos
mediante un cuadro de diálogo preconfigurado.
Control Panel (Windows Forms): Proporciona una agrupación identificable para otros controles y permite
su desplazamiento.
PictureBox (Control, formularios Windows Forms): Muestra gráficos en formato de mapa de bits, GIF,
JPEG, metarchivo o icono.
PrintDialog (Componente, formularios Windows Forms): Selecciona una impresora, elige las páginas
que se van a imprimir y determina otros valores de configuración relacionados con la impresión.
PrintDocument (Componente, formularios Windows Forms): Establece las propiedades que describen
qué se va a imprimir e imprime el documento en aplicaciones basadas en Windows.
www.descarga-tareas.blogspot.com
PrintPreviewControl (Control, formularios Windows Forms): Permite crear un componente o cuadro
de diálogo PrintPreview propio en lugar de utilizar la versión pre configurada.
ProgressBar (Control de formularios Windows Forms): Indica gráficamente el progreso de una acción
hacia su finalización.
Página 34 de 101
RadioButton (Control, formularios Windows Forms): Presenta al usuario un conjunto de dos o más
opciones excluyentes entre sí.
RichTextBox (Control, formularios Windows Forms): Permite que los usuarios escriban, muestren y
manipulen texto con formato.
SaveFileDialog (Componente, formularios Windows Forms): Selecciona los archivos que se van a
guardar y el lugar en el que se guardarán.
Hecho en México por Rodolfo Panduro Rivera
2010
SoundPlayer (Clase): Permite incluir con facilidad sonidos en las aplicaciones.
Splitter (Control, formularios Windows Forms): Permite al usuario cambiar el tamaño de un control
acoplado (.NET Framework versión 1.x).
StatusBar (Control de formularios Windows Forms): Muestra información de estado relacionada con el
control que tiene el foco. Aunque el control StatusStrip reemplaza y amplía al control StatusBar respecto a
las versiones anteriores, StatusBar se conserva a efectos de compatibilidad con versiones anteriores y uso
futuro, según sea el caso.
TabControl (Control, formularios Windows Forms): Muestra múltiples fichas que pueden contener
imágenes u otros controles.
TextBox (Control, formularios Windows Forms): Permite que el usuario proporcione en varias líneas
datos que se puedan editar.
Barra de herramientas (Control, formularios Windows Forms): Muestra menús y botones de mapa de
www.descarga-tareas.blogspot.com
bits que activan comandos. Puede ampliar las funciones del control y modificar su apariencia y
comportamiento. Aunque el control ToolStrip viene a reemplazar y a agregar funcionalidad al control ToolBar
de las versiones anteriores, ToolBar se conserva a efectos de compatibilidad con versiones anteriores y uso
futuro, según sea el caso.
ToolStripContainer (Control): Proporciona paneles a cada lado de un formulario para acoplar, compartir
espacio y organizar los controles ToolStrip y un panel ToolStripContentPanel para los controles tradicionales.
ToolStripPanel (Control): Proporciona un panel para acoplar, compartir espacio y organizar controles
ToolStrip.
Información general del control ToolStripProgressBar: Indica gráficamente el progreso de una acción
hacia su finalización. ToolStripProgressBar está contenido normalmente en StatusStrip.
Hecho en México por Rodolfo Panduro Rivera
2010
ToolStripStatusLabel (Control): Representa un panel de un control StatusStrip.
ToolTip (Componente, formularios Windows Forms): Muestra texto cuando el usuario apunta a otros
controles.
TrackBar (Control, formularios Windows Forms): Permite el desplazamiento por un gran volumen de
información o el ajuste visual de una configuración numérica.
TreeView (Control, formularios Windows Forms): Muestra una jerarquía de nodos que se puede
expandir o contraer.
WebBrowser (Control, Windows Forms): Aloja páginas Web y proporciona recursos de exploración Web
de Internet a la aplicación.
Controles de formularios Windows Forms usados para mostrar opciones: Describe un conjunto de
controles que se utiliza para proporcionar a los usuarios una lista de opciones entre las que elegir.
Fuente
www.descarga-tareas.blogspot.com
Fuente
instrucciones if y switch.
Instrucciones de ciclos: que en C# Builder se implementan con las instrucciones
for, while y do…while.
foreach: ciclo especializado en procesar y manipular arreglos y colecciones, por
tanto se verá hasta el siguiente apartado.
Hecho en México por Rodolfo Panduro Rivera
2010
Muchas de ellas con sus correspondientes componentes visuales, tanto en HTML como
en ActiveX, HTMLControls y WebControls, pero para propósito del curso solo se usaran
los WinControls.
Fuente
Ejemplos:
www.descarga-tareas.blogspot.com
Si Edad >= 18 Entonces
Si no
Fin si
Página 37 de 101
www.descarga-tareas.blogspot.com
Operadores Relacionales
Son aquellas que solamente tienen una condición para evaluar y el resultado de la
evaluación solamente un verdadero. Su sintaxis es la siguiente:
Por ejemplo:
A <- 8
Hecho en México por Rodolfo Panduro Rivera
2010
B <- 6
A > 13 Falso
6 <= B Verdadero
A = B Falso
8 <> 6 Verdadero
C# Builder - Instrucción If
{<instrucción1>;
<instrucción2>;}
www.descarga-tareas.blogspot.com
{
int edad;
edad = Convert.ToInt16(txtEdad.Text);
if (edad >= 18)
{
lblMayorMenor.Text = "Mayor de Edad";
}
else
Página 39 de 101
Captura de Pantalla
Descarga Aqui
P3. Capturar los cinco datos más importantes de un Empleado, incluyendo el sueldo diario y los días trabajados ,
desplegarle su cheque semanal solo si ganó más de $500.00 en la semana, en caso contrario desplegarle un bono
de despensa semanal de $150.00 .
P4. Capturar los datos más importantes de un estudiante incluyendo tres calificaciones, una página que contiene
una boleta de calificaciones es llamada si el estudiante es de la carrera de medicina, en caso contrario otra pagina
despliega un oficio citando a los padres del estudiante a una plática amistosa con los maestros de la escuela.
P5. Capturar los datos más importantes de una mercancía cualquiera, incluyendo cantidad, precio, etc., desplegar
una orden de compra, solo si el producto es de origen nacional, en caso contrario no hacer nada.
www.descarga-tareas.blogspot.com
Fuente
www.descarga-tareas.blogspot.com
Por ejemplo:
A <- 8
B <-6
A>13 o B=6
F V = V
A>13 y B=6
Página 41 de 101
F V = F
No A>B
V = F
Hecho en México por Rodolfo Panduro Rivera
2010
Sintaxis para la estructura de una Condición Compuesta
Si no
Fin Si
Sintaxis para las condiciones en C++ cuando hay una o más instrucciones a
ejecutar
www.descarga-tareas.blogspot.com
P1. Construir un programa que capture un número cualesquiera e informe si es o no es mayor de 50 y múltiplo de tres.
(Solo escribir el mensaje de respuesta de manera muy clara y esto resuelve el problema)
P3. Capturar los datos de una mercancía cualquiera incluyendo su cantidad en existencia, desplegar una
orden de compra si la cantidad en existencia del producto es menor que el punto de reorden, o si el origen
del producto es nacional.
P4. Construir un programa que capture los datos de un empleado, desplegar su cheque semanal si gana más
Página 42 de 101
Caso <valor_1>
Caso <valor_2>
Caso <valor_N-1>
Si no
Fin_Caso
Ejecutara el bloque de instrucciones del caso que coincida con el selector que esta
buscando. Si no coincide ninguno de los casos con el selector ejecuta la parte del Si
www.descarga-tareas.blogspot.com
no.
switch (<selector>)
Case expresión:
[instrucción 1;]
Página 43 de 101
[instrucción 2;]
[break;]
Default:
Hecho en México por Rodolfo Panduro Rivera
2010
[instrucción 1;]
[instrucción 2;]
letra = Convert.ToChar(txtLetra.Text);
switch (letra)
{
case 'a':
lblResultado.Text = "Alberto";
break;
case 'e':
lblResultado.Text = "Eduardo";
break;
case 'i':
lblResultado.Text = "Ignacio";
break;
case 'o':
www.descarga-tareas.blogspot.com
lblResultado.Text = "Oscar";
break;
case 'u':
lblResultado.Text = "Ulises";
break;
default:
lblResultado.Text = "No es vocal";
break;
}
Página 44 de 101
}
Hecho en México por Rodolfo Panduro Rivera
2010
Captura de Pantalla
DESCARGA AQUI
4. Fin de menú
1. Cuadrado
2. Rectángulo
www.descarga-tareas.blogspot.com
3. Triangulo
4. Circulo
Fuente
Página 45 de 101
Estos componentes deberán construirse en dos partes una parte de encabezado para
poner el nombre del grupo de respuestas (por ejemplo municipios, sexo, etc.) La
segunda parte es la lista de opciones o respuestas que se debe cargar al tiempo de
ejecución de la forma aspx como lo muestra el siguiente programa:
Código Fuente
Captura de Pantalla
www.descarga-tareas.blogspot.com
DESCARGA AQUI
Nota 1: Se está usando un objeto LinkLabel, en lugar de Button porque como se observa en la corrida, se
pueden usar también LIGAS o enlaces tipo WEB.
Nota 2: Para cargar las opciones de los COMBOBOXS se deberá hacer un clic en los… que están a un lado de
la propiedad DATA ITEMS (Collection), esto activara un pequeño editor, donde cada renglón será una opción
del combobox.
Nota 3: Ya en código se usa la propiedad SelectedItem, que está apuntando o cargada con el valor o datos
seleccionado por el usuario, convertida a string.
Página 46 de 101
Nota 5: Recordar que estos controles tienen muchas propiedades muy útiles y que se seguirán usando a lo
largo del curso.
P1. 5 problemas de los ya vistos y deberán usar en unos listbox y en otros combobox.
Fuente
Hecho en México por Rodolfo Panduro Rivera
2010
C# Builder - Componente Checkbox Y Checkedboxlist
Estos componentes CheckBox y CheckedBoxList permiten seleccionar una opción al
usuario del programa o tomar una decisión directamente en pantalla. La diferencia
entre ellos aparte de como se programa el componente, es que checkboxlist permite
agrupar mejor sus elementos internos tal como se muestra en las corridas. Ejemplos
de uso:
Nota: Observar que dos o más checkboxs pueden estar seleccionados a la vez.
Código Fuente
www.descarga-tareas.blogspot.com
Captura de Pantalla
Página 47 de 101
DESCARGA AQUI
Nota: Como se están mezclando estos dos componentes, se tendrán que a formar grupos lógicos con ellos,
en este ejemplo se uso un panel para los checkbox y un groupbox para el checkedboxlist, por supuesto que
se pueden usar o puros paneles o puros groupbox.
Hecho en México por Rodolfo Panduro Rivera
2010
CheckBox
1. La propiedad NAME deberá ser diferente en cada checkbox usado también se puede agregar una propiedad
checked=true para que aparezca ya palomeado o seleccionado el control.
2. Para programar este componente: Solo recordar usar la propiedad checked en código y un if por cada checkbox.
CheckedBoxList
2. Solo agregar un NAME al control y una DATA ITEMS COLLECTION para sus elementos, para programarlo solo
usar la propiedad selecteditem.
P1. Evaluar la función y = 12x3+6x2-3 para x = 2,-5, 8 (usar un CheckBox por cada
valor de x, y programar cada if de cada CheckBox con la operación correspondiente y
el despliegue del resultado)
P2. Construir un ventana con los datos de un automóvil y abajo construir un plan de
financiamiento a dos años o muestra un plan de financiamiento a tres años. (Son dos
checkbox en la ventana más un montón de botones de texto o labels, para pasar los
datos a panels abajo y un botón de ok)(chekbox).
P3. Construir un programa que evalue una función cualquiera de los tres valores
usando el checkboxlist.
Fuente
www.descarga-tareas.blogspot.com
C# Builder - Componente Radiobutton
Se utiliza para presentar al usuario un conjunto de opciones mutuamente excluyentes
entre sí, es decir, si el usuario selecciona un componente radio todos los demás
componentes radioButton en la forma se desmarcan o deseleccionan solos, es por esta
razón que decimos que radio botones son mutuamente excluyentes.
Código Fuente
Página 48 de 101
DESCARGA AQUI
3. Para programarlo usar la misma técnica que se analizo con CHECKBOX es decir
revisar la propiedad checked y un monton de if (un if por cada radiobutton).
Nota: Como se observa checkbox son cajitas con una palomita y radiobutton son circulitos con un puntito
negro. Pero su diferencia más importante es que radiobtuton no permite que estén seleccionados dos o más
de ellos a la vez (dentro del mismo grupo o groupname).
P1. Construir un cuestionario de 6 preguntas sobre los hábitos de estudio de un estudiante y pasar sus
respuestas abajo.
www.descarga-tareas.blogspot.com
P2. Evaluar una función cualquiera para los valores de y= 3, -5, 10.
Fuente
Este ciclo es uno de los más usados para repetir una secuencia de instrucciones, sobre
Página 49 de 101
todo cuando se conoce la cantidad exacta de veces que se quiere que se ejecute una
instrucción simple o compuesta.
{ instrucciones; };
Hecho en México por Rodolfo Panduro Rivera
2010
La condición es una expresión relacional que evalúa la variable de control de
ciclo contra un valor final o de parada que determina cuando debe acabar el
ciclo.
El incremento define la manera en que la variable de control de ciclo debe
cambiar cada vez que el computador repite un ciclo.
Se deben separar esos 3 argumentos con punto y coma (;)
Captura de pantalla
www.descarga-tareas.blogspot.com
Descarga Aqui
Página 50 de 101
Nota: Se está usando un objeto listbox para procesar el conjunto de datos recordar que listbox,
comboboxlist, etc. son objetos similares y por tanto se pueden usar para estos problemas. Se está usando la
propiedad add de la coleccion items del componente o control listbox(lista). Observar que para encadenar
strings en C# se usa el signo +. Como dentro del listbox entran y salen puros datos strings la variable
numerica reng de tipo entero se está convirtiendo a string dentro del listbox. Y el método items.clear() es
porque cuando el usuario usa el clic más de una vez el control listbox los agrega abajo por eso en cuanto se
activa el onclick lo primero que se realiza es limpiar el listbox.
Hecho en México por Rodolfo Panduro Rivera
2010
Práctica - Realizar los siguientes programas en C# Builder
Fuente
while(condición)
www.descarga-tareas.blogspot.com
Instrucción(es) para salir del ciclo;
};
Nota: Un error muy común con el uso del ciclo while, es poner un punto y coma(;)
después de la (condición) ejemplo while(condición); ← esto es y causa un error.
Código Fuente
Captura de Pantalla
DESCARGA AQUI
Fuente
www.descarga-tareas.blogspot.com
C# Builder - Ciclo Do...While
Su diferencia básica con el ciclo while es que la prueba de condición es hecha al
finalizar el ciclo, es decir las instrucciones se ejecutan cuando menos una vez porque
primero ejecuta las instrucciones y al final evalúa la condición; también se le conoce
por esta razón como ciclo de condición de salida.
do {
} while (condición);
Hecho en México por Rodolfo Panduro Rivera
2010
Programa en C# Builder que utiliza el ciclo do..while
Código Fuente
Captura de Pantalla
www.descarga-tareas.blogspot.com
DESCARGA AQUI
Fuente
Página 53 de 101
A manera de resumen, algunas de las conclusiones a las que llegamos con este
apartado son, que dado un problema cualquiera, debemos saber cual(es) ciclo(s) se
debe(n) usar para resolverse. A continuación las conclusiones del apartado.
Hecho en México por Rodolfo Panduro Rivera
2010
Si se conoce la cantidad exacta de veces que se quiere que se ejecute el ciclo o
si el programa de alguna manera puede calcularla. Usar el ciclo for.
Si se desconoce la cantidad de veces a repetir el ciclo o se quiere mayor control
sobre la salida o terminación del mismo. Usar el ciclo while.
Si se quiere que al menos una vez se ejecute el ciclo. Usar el ciclo do…while.
Fuente
Apartado 3 - Arreglos
C# Builder - Introducción a Arreglos en C# Builder
Uno de los problemas más comunes en los diversos sistemas de información es el
tratamiento o procesamiento de un gran volumen de datos o de información. Las
variables manejadas hasta ahora no pueden ayudar a resolver este problema, esto es
debido a que las variables usadas hasta ahora reciben propiamente el nombre
de variables escalares, porque solo permiten almacenar o procesar un dato a la vez.
No tenemos que confundir esto con el tipo de dato o rango de datos que una variable
tiene la capacidad de almacenar.
www.descarga-tareas.blogspot.com
Cada dato dentro del arreglo se conoce como elemento del arreglo, se simboliza y
procesa (captura, operación, despliegue) usando el nombre del respectivo arreglo y un
subíndice indicando la posición relativa del elemento con respecto a los demás
elementos del arreglo, debemos tener en cuenta que en C++ la primera posición,
elemento o renglón es el 0 (cero).
Ejemplo de Arreglos:
Página 54 de 101
Arreglo nombres
Fuente
int edades[12];
float sueldos[10];
char carreras[10];
Nota: Como se observa por el formato y como ya se ha indicado anteriormente en C# Builder no existen
www.descarga-tareas.blogspot.com
tipos de datos tradicionales, en su lugar C# Builder usa objetos derivados de las clases numéricas
apropiadas, por lo que no debe sorprender que realmente se esta creando un objeto arreglo derivado de la
clase de los enteros. Recordar también, que como objeto arreglo, también puede usar una serie de métodos
pertenecientes a la clase numérica de la cual heredo.
Nota: Lo de public static, es porque en el programa se va a estar compartiendo el arreglo entre los métodos
asociados a dos o más botones de ordenes (button, buttonlink, imagebutton) el objeto arreglo deberá ser de
tipo publico o global (este tema se analiza más ampliamente en la siguiente unidad). Recordar que la
primera posición o renglón en una lista es la posición o renglón 0 (cero). El dato capturado, proviene de
momento de un componente escalar textbox y/o se usan tantos de estos controles como elementos tenga el
arreglo o mas fácil aún se usa uno y se va agregando a nuestro arreglo como lo muestra el programa
ejemplo.
Hecho en México por Rodolfo Panduro Rivera
2010
Programa en C# Builder que utiliza un arreglo tipo lista
Código Fuente
www.descarga-tareas.blogspot.com
{ edad[renglon] = edad[renglon] * 12; };
{ listaDespliegue2.Items.Add(r.ToString()); };
renglon = 0;
}
Captura de Pantalla
Hecho en México por Rodolfo Panduro Rivera
2010
DESCARGA AQUI
Nota 1: Observar que en el programa el arreglo edad y la variable renglón se declararon de tipo publico y
estático porque los dos métodos el de captura y el de operación-despliegue, las están compartiendo.
Nota 2: Además Observar que se declararon antes de los eventos “clickButton”, para crearlos como objetos
globales.
Nota 3: Para el caso de operaciones y comparaciones con todos los elementos de la lista a la vez se deberá
usar un ciclo for con una variable entera llamada renglón, misma que también se usa como índice de la lista.
Nota 4: Recordar que todos los datos internos de la lista estarán almacenados en la memoria RAM del
computador, para despliegues se usa un componente visual que permite manipular un conjunto de datos a la
vez, el ListBox con sus métodos apropiados pero se tiene que usar un ciclo for() para ir añadiendo o
agregando elemento por elemento como se observa en el problema ejemplo que se ha venido desarrollando,
en este caso se quiere desplegar las cinco edades convertidas a meses.
Casi al final se usa un ciclo foreach para desplegar el arreglo edad, como se indico en
la unidad anterior este ciclo foreach se especializa en la manipulación de arreglos y
colecciones (estas se verán en capítulos posteriores), el formato de foreach es:
www.descarga-tareas.blogspot.com
Observar también que en foreach quien se procesa es la variable de control
(r.ToString()) no el arreglo, no se aconseja usar foreach ni para cargar arreglos, ni
para actualizarlos, solo para navegar dentro de ellos.
Ejemplos:
int[] edad={15,16,17,18};
Fuente
Ejemplo:
Para capturar sus elementos, usaremos un textbox y un botón de captura, solo tener
cuidado o mucho control sobre los índices renglón y columna como lo muestra el
ejemplo. Para efectuar otros procesos tales como operaciones, despliegue con todos
www.descarga-tareas.blogspot.com
los elementos de la tabla se deberán usar 2 ciclos, un for externo para controlar
renglón y un for interno para controlar columna.
Código Fuente
{
int reng = System.Int32.Parse(lblRen.Text);
int col = System.Int32.Parse(lblCol.Text);
calif[reng, col] = System.Int32.Parse(txtCalif.Text);
col++;
txtCalif.Text = " ";
Hecho en México por Rodolfo Panduro Rivera
2010
if (col == 3) { reng++; col = 0; };
if (reng == 2) { txtCalif.Enabled = false; };
lblRen.Text = reng.ToString();
lblCol.Text = col.ToString();
}
// Desplegando
for (int reng = 0; reng <= 1; reng++)
{
// Creando un renglon para despliegue
string temp = calif[reng, 0].ToString() + " "
+ calif[reng, 1].ToString() + " "
+ calif[reng, 2].ToString();
listaDespliegue.Items.Add(temp);
www.descarga-tareas.blogspot.com
Captura de Pantalla
Página 59 de 101
DESCARGA AQUI
Nota 1: Observar el formato de declaración y como se controlan los índices de captura reng, col.
Nota 2: Para procesar los elementos se usan dos ciclos for y el formato tabla [reng,col].
Nota 3: En este problema se usa el objeto LISTBOX para presentar el resultado, más adelante se usara un
objeto más apropiado.
Hecho en México por Rodolfo Panduro Rivera
2010
Nota 4: Observar que no se ocupo al final poner en cero las variables de control (reng, col) porque:
tipodato[,] nomtabla={ {val reng 0}, {val reng 1}, {val reng n} };
P1. Construir un cuadro que contenga los costos fijos de cuatro productos cualesquiera, que se producen en
tres plantas diferentes de una empresa maquiladora (2 programas uno capturado y otro inicializado).
P2. Construir un cuadro que contenga los ingresos mensuales por ventas durante los tres primeros meses
del año de cuatro sucursales de una cadena de auto refacciones, agregar al final una lista que muestre los
ingresos mensuales totales por meses y una segunda lista que muestre los ingresos mensuales totales por
sucursal(2 programas uno capturado y otro inicializado).
Fuente
www.descarga-tareas.blogspot.com
renglón sea DIFERENTE.
Ejemplo:
Para procesar los elementos, de un arreglo irregular, se deberá ahora manejar dos
corchetes, no uno con dos índices como se realizó en tablas rectangulares. En C++ se
utiliza este método para procesar tablas, muy diferente al uso que le damos con C#
Builder.
Para este caso se tiene un arreglo de tres renglones, pero el primer renglón tendrá 5
columnas o elementos, el segundo renglón tendrá 2 columnas o elementos y el tercer
renglón tendrá 3 columnas o elementos, en total el arreglo irregular contendrá
5+2+3=10 elementos.
Para realizar procesos se deberán usar tantos ciclos for(columnas) como renglones
tenga el arreglo y se puede manejar como constante el renglón en cada ciclo, como lo
muestra el ejemplo.
Código Fuente
// Inicializando renglones tambien puede ser uno a uno pero son 4 + 2 + 5=11 datos
www.descarga-tareas.blogspot.com
for (int col = 0; col <= 3; col++) tabla[0][col] = 10;
for (int col = 0; col <= 1; col++) tabla[1][col] = 20;
for (int col = 0; col <= 4; col++) tabla[2][col] = 30;
Captura de Pantalla
DESCARGA AQUI
Nota: Observar cómo se manipulan ahora los elementos con el formato tabla[reng][col].
Fuente
www.descarga-tareas.blogspot.com
Sin embargo existen ciertas propiedades del listbox que permiten conocer cuántos
elementos están cargados en el listbox. Otra importante aspecto a recordar cuando se
procese o programe, es que el primer índice de la lista, es el índice numero 0(cero).
Este componente, contiene muchas propiedades y métodos que facilitan el trabajo con
datos la más importante es su propiedad ITEMS, que a su vez tiene:
Nota 1: Como ya se indico anteriormente GET y SET son propiedades asociadas a todos los objetos o
controles y sus propiedades de microsoft.net, por ejemplo para un textbox, si en un programa se dice
alfa=text5.text; se está usando get, si se dice text5.text=500; se está usando set.
Ejemplos:
Nota: Observar que no se usa propiedad text y recordar que entran y salen strings a listbox.
Capturas: Solo se ocupara un Text, el evento clic del button, y el método Add
del ListBox.
Proceso: Se ocupara un ciclo for y los métodos count y text de
ListBox.Items[indice].
Despliegues: No se ocupa porque todos los cambios son visibles.
Pero si se quiere pasar de un ListBox a otro ListBox, entonces ciclo for, count, etc.
www.descarga-tareas.blogspot.com
Código Fuente
Captura de Pantalla
Hecho en México por Rodolfo Panduro Rivera
2010
DESCARGA AQUI
Nota 1: Recordar que el primer índice en un ListBox es el cero por eso el ciclo va desde el cero hasta la
cantidad de elementos menos uno.
Nota 2: Existen otros dos controles que pueden comportarse y usar los mismos métodos asociados a
listbox, estos controles son el combobox y datalist( en próximos cursos se incluirán como dos temas extras)
P2. Capturar en una lista los pesos en kilogramos de 6 personas desplegarlos en una segunda lista
convertidos a libras y además solo los mayores de 100 libras.
P3. Capturar en sus 4 listas respectivas matricula, nombre y dos calificaciones de 5 alumnos, después
calcular una lista de promedios de calificaciones.
P4. Capturar en sus listas respectivas numempleado, nomempleado, días trabajados y sueldo diario de 5
empleados, desplegar en otra pantalla o panel la nomina pero solo de aquellos empleados que ganan más de
$300.00 a la semana.
Fuente
www.descarga-tareas.blogspot.com
Apartado 4 - Procedimientos Y Funciones
C# Builder - Introducción A Las Bases De Datos
Variables que permitan almacenar conjuntos de datos como los arreglos pero
con distintos tipos de datos este primer problema se resolvía en la antigüedad
Página 64 de 101
Permanencia de los datos hasta ahora todos los datos capturados, calculados,
creados, etc. al terminar o cerrarse el programa se pierden y es necesario
volver a capturarlos en la siguiente ejecución o corrida del programa.
Hecho en México por Rodolfo Panduro Rivera
2010
Tradicionalmente en programación antigua este segundo problema se resolvía usando
el concepto de archivos que son medios permanentes de almacenamiento de datos en
los dispositivos o periféricos apropiados generalmente disco, cinta magnética, etc.
C# Builder - Parámetros
Un parámetro es una variable que puede pasar su valor a un procedimiento desde el
principal o desde otro procedimiento. Existen ocasiones en que es necesario mandar al
procedimiento ciertos valores para que los use en algún proceso. Estos valores que se
pasan del cuerpo principal del programa o de un procedimiento a otros procedimientos
se llaman parámetros.
{Cuerpo de instrucciones;};
Donde lista de parámetros es una o más variables separadas por comas como lo
muestra el programa ejemplo.
Código Fuente
www.descarga-tareas.blogspot.com
proc1(edad, "Rodolfo");
}
Captura de Pantalla
Hecho en México por Rodolfo Panduro Rivera
2010
DESCARGA AQUI
Nota: Observar que en el procedimiento los parámetros crean dos variables de manera local, es decir variables que
solo puede usar dentro del procedimiento, estas variables son quienes reciben los datos o valores.
Cuando se usan variables como parámetros la variable que se manda debe ser
declarada dentro del principal o del procedimiento de donde se está enviando.
La variable que se manda tiene un nombre, la que se recibe puede tener otro
nombre o el mismo nombre por claridad de programa, pero recordar que
internamente en la memoria del computador existirán dos variables diferentes.
La cantidad de variables que se envían deben ser iguales en cantidad, orden y
tipo a las variables que reciben.
La variable que se recibe tiene un ámbito local dentro del procedimiento, es
decir solo la puede usar ese procedimiento.
Se puede mandar a un procedimiento un dato una variable (como lo muestran
los ejemplos) o una expresión algebraica (no ecuación o formula) pero siempre
se deberán recibir en una variable.
P2. Construir una tabla de multiplicar que el usuario indique, captura y control de ciclo en el principal,
cálculo y despliegue en un procedimiento usar un solo listbox para la tabla resultado.
www.descarga-tareas.blogspot.com
P3. Construir un procedimiento que reciba un número entero y que mande llamar a un segundo
procedimiento pasando el letrero “PAR O IMPAR”.
Fuente
En segundo lugar es como parámetro de una función donde después de haber recibido
el valor podrá actuar como variable local en esa función o procedimiento. En esencia
una variable local solo es conocida por el código de esa función o procedimiento y es
desconocida por otras funciones o procedimientos. En tercer lugar es fuera de todas los
Hecho en México por Rodolfo Panduro Rivera
2010
procedimiento o funciones (que es el caso común de casi todas las variables usadas
hasta ahora en los ejemplos y programas hechos) a este tipo de variables se les llama
variables globales y pueden ser usadas por cualquier función o procedimiento del
programa.
Código Fuente
// Variables globales
int valor1 = 50;
www.descarga-tareas.blogspot.com
void procedimiento1(int valor3)
{
valor1 = valor1 + 100;
valor3 = valor3 + 100;
lblDespliegue.Text = valor1.ToString() + " " + valor3.ToString();
}
Captura de Pantalla
Página 67 de 101
DESCARGA AQUI
Fuente
C# Builder - Funciones
Una función es un modulo de un programa separado del cuerpo principal, que realiza
una tarea específica y que puede regresar un valor a la parte principal del programa u
otra función o procedimiento que la invoque.
Tipo_dato Nombre_función(parámetros)
{Cuerpo de instrucciones;
Donde tipo dato especifica el tipo de dato que regresara la función. La instrucción
RETURN es quien regresa un y solo un dato a la parte del programa que la este
llamando o invocando, sin embargo es de considerar que RETURN puede regresar un
dato, una variable o una expresión algebraica (no ecuación o formula) como lo
muestran los siguientes ejemplos:
return 3.1416;
return area;
return x+15/2;
www.descarga-tareas.blogspot.com
La lista de parámetros formales es una lista de variables separadas por comas (,) que
almacenaran los valores que reciba la función estas variables actúan como locales
dentro del cuerpo de la función. Aunque no se ocupen parámetros los paréntesis son
requeridos.
Instrucción return
Dentro del cuerpo de la función deber haber una instrucción RETURN cuando menos
para regresar el valor esta instrucción permite regresar datos. Recordar además que
cuando se llame una función deberá haber una variable que reciba el valor que
Página 68 de 101
Código Fuente
Hecho en México por Rodolfo Panduro Rivera
2010
private void btnDesplegar_Click(object sender, EventArgs e)
{
// Llamando a funcion observar que puede ser por igualdad
double resultado = sumar(10, 3.1416);
lblDesplegar.Text = resultado.ToString();
}
Captura de Pantalla
DESCARGA AQUI
{ return 10; }
else
{ return 20; }
www.descarga-tareas.blogspot.com
Existen 3 clases usuales de funciones.
Las primeras son de tipo computacional que son diseñadas para realizar
operaciones con los argumentos y regresa un valor basado en el resultado de
esa operación.
Las segundas funciones son aquellas que manipulan información y regresan un
valor que indican la terminación o la falla de esa manipulación.
Las terceras son aquellas que no regresan ningún valor, es decir son
Página 69 de 101
P1. Capturar 3 calificaciones y nombre en un procedimiento, calcular promedio en una función, desplegar en
otro procedimiento.
Hecho en México por Rodolfo Panduro Rivera
2010
P2. Crear una tabla de multiplicar, captura y control de ciclo en el principal, operaciones en una función,
despliegue en el principal.
Fuente
Código Fuente
www.descarga-tareas.blogspot.com
for (int x = 0; x <= 4; x++) lista[x] = x + 10;
// Enviando a procedimiento
proc1(lista);
Captura de Pantalla
Hecho en México por Rodolfo Panduro Rivera
2010
DESCARGA AQUI
Nota: Es de recordar que los cambios que le hagan al arreglo dentro de la función se reflejaran en el arreglo
original, es por esto que si se quiere modificar un arreglo en una función no hay necesidad de regresar
ningún valor.
P1. Inicializar 10 edades en el principal mandar la lista a un procedimiento que la convierte a meses,
desplegar en principal.
Fuente
Variables que permitan almacenar conjuntos de datos como los arreglos pero
www.descarga-tareas.blogspot.com
con distintos tipos de datos este primer problema se resolvía en la antigüedad
usando las llamadas variables registro.
Permanencia de los datos hasta ahora todos los datos capturados, calculados,
creados, etc. al terminar o cerrarse el programa se pierden y es necesario
volver a capturarlos en la siguiente ejecución o corrida del programa.
www.descarga-tareas.blogspot.com
para una tienda de vídeo o para un refaccionaria, etcétera, involucra un gran
cantidad de trabajo de programación puesto que hay que programar muchas
variables registros, muchos archivos en disco y construir una o muchas
aplicaciones. Este modelo se usa todavía en la actualidad pero es obvio que
mejores maneras, más rápidas, seguras y eficientes existen en la actualidad
para resolver estos problemas, y esto nos lleva al segundo modelo de datos.
Tablas que son una combinación de las variables registro y de los archivos del
modelo anterior. Es decir cuando un programador moderno define o declara una
tabla en un programa realmente está haciendo dos cosas por el precio de una
es decir crea una variable registro en memoria que almacenara los datos y al
mismo tiempo ya está creando un archivo en disco que se llamara igual que la
tabla y que automáticamente se convertirá en un espejo de la tabla en
memoria. Otra vez cuando el programador escribe código para capturar los
Hecho en México por Rodolfo Panduro Rivera
2010
datos y mandarlos a la tabla en pantalla-memoria, realmente también lo está
haciendo para darlos de alta en disco.
Fuente
C# Builder - Tablas
Una Tabla simple representa una unidad de información de una entidad física o lógica
que pueda ser sujeta a un proceso de información.
Ejemplos:
Tabla Empleado:
* Clave Empleado
* Nombre Empleado
* Dirección Empleado
* Edad Empleado
* Teléfono Empleado
www.descarga-tareas.blogspot.com
* etc. Empleado
Tabla Proveedor:
* Clave Proveedor
* Nombre Proveedor
* Empresa Proveedor
* Teléfono Proveedor
Página 73 de 101
* Fax Proveedor
* Celular Proveedor
* etc. Proveedor
Tabla Autos:
* Numero de Serie
* Modelo
Hecho en México por Rodolfo Panduro Rivera
2010
* Marca
* Tipo
* Color
* Capacidad
* etc.
Observar que cada tabla, empieza con una clave generalmente de tipo numérica.
Todos los elementos de la tabla solo hacen referencia hacia el mismo ente o sujeto de
información.
Tabla: Camisas
Tabla: Clientes
www.descarga-tareas.blogspot.com
NUMCLIENTE, NOMCLIENTE, DIRCLIENTE, TELCLIENTE
Recordar siempre una tabla almacena o representa un conjunto de datos del mismo
tipo o entidad, la tabla de alumnos es para almacenar y manipular muchos alumnos, la
Página 74 de 101
Práctica de Tablas
Hecho en México por Rodolfo Panduro Rivera
2010
P1. Construir en cuaderno las siguientes tablas, la mitad de ellas con el primer formato
y la segunda mitad con el segundo formato.
1. Pacientes
2. Perros
3. Plumas
4. Mercancías
5. Películas
6. Medicinas
7. Maestros
8. Materias
9. Computadoras
10. Bancos
El trabajo correcto con bases de datos relaciónales se divide en dos grandes pasos o
etapas bien diferenciadas entre sí:
www.descarga-tareas.blogspot.com
conjunto de tablas que tienen relaciones comunes entre sí), residen en un servidor de
bases de datos especializado en algún lugar cercano o lejano en una red chica,
mediana o grande.
Fuente 01
www.descarga-tareas.blogspot.com
Fuente 02
Procedimiento
2. Usar la opción Archivo → Nuevo y seleccionar de la pantalla que sale Base de Datos
en Blanco.
www.descarga-tareas.blogspot.com
4. Ponerla en un lugar o folder adecuado y para este ejemplo llamarla mibase (como
se ve en la pantalla de arriba), luego usar el botón crear.
6. Esta ultima pantalla permite construir una o más tablas que contendrá la base de
datos (mibase), observar que también permite agregar más elementos a una base de
datos (querys, forms, reports, etc), pero para este ejercicio solo se agrega una tabla a
la base de datos, para crear mitabla solo usar botón new y access ofrecerá construirla
de varias maneras distintas de preferencia seleccionar la manera vista de diseño que
manda la siguiente pantalla.
www.descarga-tareas.blogspot.com
Página 78 de 101
7. En Nombre del Campo escribir el nombre del campo, en Tipo de Dato solo hacer clic
y salen opciones de los diversos tipos de datos que ofrece Access, en Descripción se
puede poner una descripción de los propósitos del campo, para el ejemplo que se está
mostrando se usa nombre para la clave, texto con tamaño 30 caracteres (seleccionar
abajo) para nombre y nombre para edad.
Hecho en México por Rodolfo Panduro Rivera
2010
Nota: Para este curso clave usar autonumber para que sea access quien vaya generando automáticamente
la clave o id del registro.
8.- Observar que Clave tiene una pequeña llave a un lado, esto significa que Clave es
la llave primaria de la tabla, para marcarla como llave primaria primero seleccionar
todo el renglón haciendo un clic en el cuadrito gris que esta antes de la palabra clave y
luego hacer un clic derecho y del mini menú que sale usar opción Llave Primaria.
9.- Ahora cerrar la tabla usando la [x] de arriba y access pregunta cómo se llamara la
tabla, llamarla mitabla.
www.descarga-tareas.blogspot.com
11. Cerrar Microsoft Access con la [x] de arriba con esto ya se tiene construida
MIBASE.MDB que a su vez contiene MITABLA que a su vez contiene unos cuantos
renglones de datos.
12. El último paso es ponerla en el mismo folder donde está tu programa para que ya
esté lista y preparada para procesarla con Visual C# Express 2008.
Fuente
Página 79 de 101
El problema es comunicar un programa o aplicación aspx con una base de datos y más
que comunicar se pretende que el programa o aplicación realice una serie de procesos
u operaciones con la base de datos o mejor aun con el conjunto de tablas que contiene
una base de datos. La primera nota a recordar es que una base de datos puede estar
físicamente en el servidor y en algún folder o directorio del disco duro de dicha
maquina servidora, por ejemplo, c: \descargatareas\misprogramas\mibase.mbd, como
se observa la base que se construyo en Access (mibase.mbd) se almaceno en el disco
c en el folder descargatareas y dentro del subfolder misprogramas.
Sin embargo también es necesario conocer que así como existen servidores de
páginas(WebServer), servidores de correo (MailServer), servidores de ftp (FTPServer),
etc., también existen servidores de bases de datos (DatabaseServer), los más
comunes son el SQLServer de Microsoft, Oracle, MySQL, etc., estos servidores también
pueden crear, administrar y procesar una base de datos, por supuesto que el
procedimiento que se dio para crearla en Access en el tema anterior no se puede usar
para crear y cargar una base de datos en un servidor de bases de datos.
www.descarga-tareas.blogspot.com
razón muy sencilla es que la base de datos tendría que conocer o comprender todos
los lenguajes de programación), para resolver este problema de comunicación es que
se usa un lenguaje común de bases de datos que tanto los lenguajes de programación
existentes como las bases de datos entienden, este lenguaje común de bases de datos
es el SQL (structured query languaje) o lenguaje estructurado de consultas.
En otras palabras, los alumnos tendrán que aprender este nuevo lenguaje de
programación SQL, la buena noticia es que es un lenguaje con muy pocas
instrucciones y además existen muy buenos tutoriales en internet incluyendo uno aquí
en www.descarga-tareas.blogspot.com que hay que buscar y estudiar. Las principales
Página 80 de 101
instrucciones de SQL que se usan en este curso son Select, Insert, Update y Delete.
Objeto Connection: Objeto que se utiliza para establecer una conexión o enlace a la
base de datos. Este objeto primero se tendrá que crear en el programa y luego se
tendrá que cargar con dos parámetros (ver ejemplo más abajo), el primer parámetro
Hecho en México por Rodolfo Panduro Rivera
2010
es el proveedor o la fuente que proporcionara los datos, los proveedores o fuentes de
datos que existen son:
NOTA: Este es el que se usa en los ejemplos siguientes, observar que aunque C# Builder trae por default los
controles SQL, en este capítulo se usaran los objetos OLEDB, lo malo es que se tendrán que crear, cargar y
codificar a mano y no olvidar incluir en la parte de arriba del programa la instrucción using
System.Data.OleDb
ODBC.NET: Bases de datos que usan ODBC como medio de comunicación con otras
bases de datos y aplicaciones como nota a considerar odbc.net no está incluida por
default en microsoft.net, se tiene que bajar de Microsoft.
Source=c:\\descargatareas\\tusprogramas\\mibase.mdb");
Es una sola string y los dos parámetros mencionados van separados por el punto y
www.descarga-tareas.blogspot.com
coma.
Ejemplo:
OleDbCommand orden;
Ejemplo:
OleDbCommand orden;
Sin embargo ciertas instrucciones de SQL requieren que se manden los datos a la base
de datos, respetando el tipo de dato con los cuales los creo el software de bases de
datos, por ejemplo si edad en Access se declaro como NUMBER, la instrucción SQL que
pretenda cargar dicho campo, tiene la obligación de mandarla con este tipo de dato
asociado, instrucciones SQL que permiten cargar o capturar ese campo edad son
INSERT o UPADTE.
www.descarga-tareas.blogspot.com
variable y además al objeto COMMAND le agregamos dos instrucciones extras que
permiten agregar a la string q el dato y el tipo de dato, ejemplo, se tienen seis
renglones ya capturados en nuestra tabla y se quiere agregar un séptimo renglón con
los siguientes datos, clave=7, nombre=“rana” peso=3.14 usaremos una instrucción
SQL INSERT.
Ejemplo:
OleDbCommand orden;
Página 82 de 101
orden.Parameters["@CLAVE"].Value = clave;
orden.Parameters["@NOMBRE"].Value = nombre;
orden.Parameters["@PESO"].Value = edad;
Nota: Observar que para cada variable parámetro se tienen que cargar dos elementos el valor y el tipo de
dato correspondiente.
www.descarga-tareas.blogspot.com
Currency: Un valor de la moneda que van desde -263 (o -922,337, 203, 685, 477.5808) a 2 63 -1
(o +922, 337, 203, 685, 477.5807) con una precisión de una diezmilésima de unidad de moneda
(DBTYPE_CY). Esto se asigna a Decimal.
Date: Fecha de los datos, almacenados como double (DBTYPE_DATE). La parte entera es el número
de días desde el 30 de diciembre 1899, mientras que la parte fraccionaria es una fracción de un día.
Esto se asigna a DateTime.
DBDate: Fecha de datos en el formato AAAA/MM/DD (DBTYPE_DBDATE). Esto se asigna a
DateTime.
DBTime: Tiempo de datos en el formato HH:MM:SS (DBTYPE_DBTIME). Esto se asigna a
TimeSpan.
DBTimeStamp: Los datos y el tiempo de datos en el formato AAAA/MM/DD-HH:MM:SS
(DBTYPE_DBTIMESTAMP). Esto se asigna a DateTime.
Decimal: Una precisión fija y el valor numérico de escala entre -1038 -1 and 10 38 -1
Página 83 de 101
www.descarga-tareas.blogspot.com
Aun más, con el ejemplo anterior el objeto COMMAND está construido y preparado y
cargado pero todavía no se manda desde el programa a la base de datos, es decir le
falta activar las siguientes tres propiedades.
Ejemplo:
OleDbCommand orden;
@PESO)";
40));
orden.Parameters["@NOMBRE"].Value = nombre;
orden.Parameters["@PESO"].Value = edad;
orden.Connection.Open();
orden.ExecuteNonQuery();
orden.Connection.Close();
Nota: Esto es sencillo, simplemente hay que abrir la conexión, mandar o ejecutar la instrucción y cerrar la
conexión.
Son los otros dos objetos de ADO.NET que también permiten transportar una
instrucción SQL desde el programa hasta la base de datos y transportar de regreso
hacia el programa los datos contenidos en alguna de las tablas. Con los objetos
CONNECTION, COMMAND y DATAADAPTER ya se pueden efectuar cualquiera de la
operaciones SQL descritas, el problema es que pasa con el usuario cuando va a ver
base de datos o mejor aun las tablas que están en la base de datos en disco.
www.descarga-tareas.blogspot.com
(y todas sus tablas) que se encuentra en disco.
Ejemplo:
// abriendo la coneccion
Source=c:\\progfacil\\tusitio\\mibase.mdb");
Hecho en México por Rodolfo Panduro Rivera
2010
// cargando el adapter con la instruccion sql
// cargando el dataset
orden.Fill(TABLA, "mitabla");
Observar que también se usan en forma conjunta, primero es muy similar en uso y
función que el objeto DATAADAPATER y COMMAND, la diferencia entre DATAREADER y
DATAADAPTER es el tipo de base de datos con las cuales se pueden comunicar,
DATAADPATER se especializan en bases de datos relacionales y DATAREADER se
especializa en archivos, que no se estudian en este curso. También es importante
mencionar que DATAREADER es el objeto de ADO.NET más parecido al objeto
RESULTSET que uso mucho en el ADO anterior de Microsoft.
www.descarga-tareas.blogspot.com
tabla o las tablas o la base de datos que se tiene en disco o sirviéndola algún servidor
de bases de datos, se ha quedado en la memoria de la maquina del cliente, ADO.NET
ha terminado su trabajo y su función. Para mandar el DATASET al browser se tendrá
que pasar a algún tipo de objeto visible que soporte el browser, los objetos que se
pueden usar para mandar el DATASET a pantalla son:
Fuente 1
Fuente 2
Hecho en México por Rodolfo Panduro Rivera
2010
C# Builder - Selección O Despliegue
Existen una serie de operaciones y procesos que son muy comunes contra una tabla en
una base de datos en disco la más común es desplegar todos los renglones de la tabla
que están almacenados en disco, a este proceso le llamaremos selección, consulta o
despliegue. Como se indico anteriormente la comunicación con la base de datos se
tendrán que dar usando el lenguaje especializado de bases de datos llamado SQL
(Structured Query Language), la instrucción SQL que se usa para resolver este
problema tiene el siguiente formato:
www.descarga-tareas.blogspot.com
Programa en C# Builder que utiliza Arreglos Tipo Tabla
Código Fuente
OleDbConnection CANAL;
Página 87 de 101
OleDbDataAdapter ORDEN;
DataSet TABLA;
ORDEN.Fill(TABLA, "Tabla1");
BasedeDatos.DataSource=TABLA;
BasedeDatos.DataMember="Tabla1";
Captura de Pantalla
www.descarga-tareas.blogspot.com
DESCARGA AQUI
A) Recordar que hay otros proveedores de bases de datos para cuando se quieran acceder bases
de datos diferentes de Access.
Al programar más adelante se ocupara explícitamente indicarle al compilador con cual tabla se
va a trabajar, es por esta razón que se verán instrucciones tales como
www.descarga-tareas.blogspot.com
tabla.tables[“clientes”].etc. Aquí se está diciendo al compilador que del dataset(TABLA) se va a
realizar una proceso con la tabla de clientes. Para procesar dos o más tablas, entonces se tendrá
que usar mucho el formato que se vio en la nota 8.1
P1. Construir y desplegar una primera base de datos que contenga la primera tabla
que diseñaron en el tema de tablas.
Página 89 de 101
P2. Construir una segunda base de datos que contenga cuando menos tres de las
tablas ya diseñadas y desplegar cualquiera de ellas usando una ventana de menú y
ventanas para cada tabla, en menú el usuario selecciona cual quiere desplegar.
Fuente
Hecho en México por Rodolfo Panduro Rivera
2010
C# Builder - Inserción O Adición De Registros
Insertar o agregar registros o renglones nuevos a una tabla en disco, es un proceso
sencillo que usa la siguiente instrucción SQL:
Recordar que solo se está usando lo mínimo de cada instrucción SQL, es conveniente
estudiar un tutorial de SQL.
Código Fuente
OleDbConnection CANAL;
OleDbCommand ORDEN;
www.descarga-tareas.blogspot.com
// creando y cargando un objeto OLEDBCOMMAND
ORDEN.Parameters["@NOMBRE"].Value = txtNombre.Text;
ORDEN.Parameters["@EDAD"].Value = txtEdad.Text;
ORDEN.Connection.Open();
Hecho en México por Rodolfo Panduro Rivera
2010
ORDEN.ExecuteNonQuery();
ORDEN.Connection.Close();
txtNombre.Text=" ";
txtEdad.Text=" ";
// avisando inserccion
cont = cont+1;
Captura de Pantalla
DESCARGA AQUI
www.descarga-tareas.blogspot.com
P1. Construir muchos programas de inserción en las tablas de las bases de datos que tengan construidas
P2. Ir Preparando un menú que contenga las opciones de consulta (select) e inserción (INSERT) para una
tabla.
Fuente
C# Builder - Búsquedas
En este tema se analiza la búsqueda de un registro o renglón determinado en este
proceso el usuario del programa quiere que se despliegue un y solo un registro de
Página 91 de 101
Nota: Recordar que agregando clausulas condicionales where a algunas de las operaciones básicas de SQL
(select, delete, update) permite seleccionar un subconjunto de registros de la tabla para su
procesamiento. No olvidar agregar el using system.data.oledb; arriba en winform.cs.
Hecho en México por Rodolfo Panduro Rivera
2010
Programa en C# Builder que utiliza Arreglos Tipo Tabla
Código Fuente
OleDbConnection CANAL;
DataSet TABLA;
OleDbDataAdapter ORDEN;
ORDEN.SelectCommand.Parameters.Add(new OleDbParameter("@CLAVE",
OleDbType.Integer));
ORDEN.SelectCommand.Parameters["@CLAVE"].Value = txtClave.Text;
www.descarga-tareas.blogspot.com
// Creando el dataset y cargandolo
ORDEN.Fill(TABLA, "Tabla1");
// Cargando el datagrid
Página 92 de 101
BasedeDatos.DataSource=TABLA;
BasedeDatos.DataMember="Tabla1";
Captura de Pantalla
Hecho en México por Rodolfo Panduro Rivera
2010
DESCARGA AQUI
Nota: Hice una pequeña trampa, use un DATADAPTER en lugar de un COMMAND, para solo usar el FILL y no
tener que cerrar el canal, lo demás no hay nada nuevo es una combinación de los dos programas anteriores
con las mismas notas, solo se usa un textbox para pedir la clave, aunque se puede usar cualquier campo
para buscar.
P1. Hacer programas de búsquedas para las bases hechas e ir construyendo el programa de menú completo
para una sola tabla.
Fuente
C# Builder - Filtros
Otro problema similar al anterior es el de filtros es decir en muchas ocasiones es
necesario obtener información acerca de un subconjunto de renglones de la tabla. Por
ejemplo todos los estudiantes que sean mayores de 17 años, todos los clientes que
www.descarga-tareas.blogspot.com
sean de Tijuana, etc., a esto le llamamos filtros o condiciones. También se resuelve de
manera similar al anterior, es decir usando la instrucción SELECT etc, FROM tabla,
WHERE Condición; y no olvidar poner el using oledb arriba en .cs
Código Fuente
{
Página 93 de 101
OleDbConnection CANAL;
DataSet TABLA;
OleDbDataAdapter ORDEN;
Hecho en México por Rodolfo Panduro Rivera
2010
CANAL = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=c:\\Documents and Settings\\Administrador\\Mis Documentos\\Visual Studio
2008\\Projects\\Builder - P25\\Builder - P25\\mibase.mdb");
ORDEN.SelectCommand.Parameters.Add(new OleDbParameter("@EDAD",
OleDbType.Integer));
ORDEN.SelectCommand.Parameters["@EDAD"].Value = txtEdad.Text;
ORDEN.Fill(TABLA, "Tabla1");
// Cargando el datagrid
BasedeDatos.DataSource=TABLA;
BasedeDatos.DataMember="Tabla1";
www.descarga-tareas.blogspot.com
Captura de Pantalla
Página 94 de 101
DESCARGA AQUI
Nota: Es el programa anterior pero con otra condición WHERE pero sería prudente mejor usar dos combobox
uno para la variable otro para el operador relacional y un text para el dato y mandar estos tres datos al
programa (se ocupan varios command.parameters()), pero eso queda de tarea.
Fuente
Código Fuente
OleDbConnection CANAL;
OleDbCommand ORDEN;
www.descarga-tareas.blogspot.com
string q= " UPDATE Tabla1 SET edad = edad * 12 ";
// Mandando la orden
ORDEN.Connection.Open();
ORDEN.ExecuteNonQuery();
Página 95 de 101
ORDEN.Connection.Close();
// Avisando al usuario
lblNotificacion.Text="Proceso Completo";
Captura de Pantalla
Hecho en México por Rodolfo Panduro Rivera
2010
DESCARGA AQUI
Nota: No olvidar el using oldedb arriba y seguir estudiando y practicando su tutorial de SQL. Y recordar que
si usan TEXTBOX para el SET o el WHERE, deberán usar las variables parámetros (@TEXTBOX) y sus dos
correspondientes orden.parameters Si quieren ver los cambios usar el programa de consulta SELECT * ya
construido.
P1. Construir una tabla en Access que traiga matricula, nombre, calif1, calif2, calif3 y promedio, cargar en
Access unos 5 renglones de alumnos, no cargar promedio, el promedio lo deberán calcular en un programa.
Fuente
C# Builder - Bajas
Eliminación es otro proceso simple y común con las bases de datos el modelo con
ADO.NET que estamos usando hace este tipo de operaciones muy fáciles:
www.descarga-tareas.blogspot.com
Código Fuente
OleDbConnection CANAL;
Página 96 de 101
OleDbCommand ORDEN;
ORDEN.Parameters["@CLAVE"].Value = txtClave.Text;
ORDEN.Connection.Open();
ORDEN.ExecuteNonQuery();
ORDEN.Connection.Close();
// avisando
Captura de Pantalla
DESCARGA AQUI
P1. Construir este proceso para las tablas y bases de datos que tengan construidas incluyendo el menú.
Fuente
www.descarga-tareas.blogspot.com
C# Builder - Edición De Registros
Editar registros significa cambiar el contenido de algunos de los campos o columnas
por nueva información o para corregir algún error de captura original o para agregar
alguna columna que no existía por modificación de la tabla o la base de datos. En
general se tiene otro problema de SQL UPDATE, con una serie de textboxs arriba para
capturar los nuevos datos.
Página 97 de 101
Código Fuente
Hecho en México por Rodolfo Panduro Rivera
2010
private void btnEditar_Click(object sender, EventArgs e)
OleDbConnection CANAL;
OleDbCommand ORDEN;
ORDEN.Parameters["@NOMBRE"].Value = txtNombre.Text;
ORDEN.Parameters["@EDAD"].Value = txtEdad.Text;
ORDEN.Connection.Open();
ORDEN.ExecuteNonQuery();
www.descarga-tareas.blogspot.com
ORDEN.Connection.Close();
txtNombre.Text=" ";
txtEdad.Text=" ";
// Avisando al usuario
Página 98 de 101
Captura de Pantalla
Hecho en México por Rodolfo Panduro Rivera
2010
DESCARGA AQUI
Fuente
El segundo método es más sencillo, primero poner las imágenes (de preferencia
www.descarga-tareas.blogspot.com
jpg) en tu folder después agregar un objeto PictureBox en el programa y
además agregar un campo de texto llamado foto a la tabla en Access y grabar
el nombre de la imagen en este campo, por ejemplo Rodolfo.jpg. Usar el
programa de búsqueda normal ya visto y agregarle en tiempo real la propiedad
apropiada al componente PictureBox, como lo muestra el programa ejemplo.
OleDbConnection CANAL;
DataSet TABLA;
Hecho en México por Rodolfo Panduro Rivera
2010
OleDbDataAdapter ORDEN;
ORDEN.SelectCommand.Parameters.Add(new OleDbParameter("@CLAVE",
OleDbType.Integer));
ORDEN.SelectCommand.Parameters["@CLAVE"].Value = txtClave.Text;
ORDEN.Fill(TABLA, "Tabla1");
// Cargar datagrid
BasedeDatos.DataSource=TABLA;
BasedeDatos.DataMember="Tabla1";
// Cargar la imagen
www.descarga-tareas.blogspot.com
Foto.Image = Image.FromFile("c:\\Documents and Settings\\Administrador\\Mis
Documentos\\Visual Studio 2008\\Projects\\Builder - P29\\Builder - P29\\" + temp);
Captura de Pantalla
Página 100 de 101
DESCARGA AQUI
Nota: Recordar que para que no salga el campo fotourl en el datagrid el select de SQL puede pedirse como
select campo1,campo2, campo.. from mi tabla etcétera.
Hecho en México por Rodolfo Panduro Rivera
2010
Práctica - Realizar los siguientes programas en C# Builder
P1. Construir un sistema completo integrado con todas las operaciones usando al menos dos tablas.
Fuente
www.descarga-tareas.blogspot.com
Página 101 de 101