viernes, 16 de octubre de 2009

Fechas importantes de III de Computación

Buen día chicos

Estas fechas son importantes para ustedes…

Viernes 13 de Noviembre

Entrega de tarjetas de invitación

(4 personas por tarjeta, no niños, se hará en la torre universitaria)

Sábado 14 de Noviembre

Examen del Himno

  • Cantado
  • Escrito
  • Recitado

Jueves 19 de Noviembre

Examen General

Lunes 23 de Noviembre

Juramentación

Viernes 27 de Noviembre

GRADUACIÓN (Para los que pases las recuperaciones, el examen general y el himno..)

Hora 6:00 PM a 8:00 PM (ser puntuales)

Cursos que se graduaran juntos.

  • Computación
  • Mercadotecnia
  • Control de Calidad
  • Administración


Cucualquier duda, me avisa, saludos y exitos.

PDPD: El Martes 27 tienen que llegar al cole con uniforme de práctica, pero a las 8:00 AM

lunes, 31 de agosto de 2009

Documentacion para practicantes

buen dia chicos

El siguiente link, contiene la hoja de formato para informe de practica, hoja de evaluacion y la hoja diaria, la que tiene que llenar diariamente con las actividades que realizan en la practica.

Tambien agrege unos documentos de auditoria informatica, eso es solo para que lean un poco, no sera evaluado en ninguna clase

saludos y muchos exitos!

http://lix.in/-51e709


Este link denle Copy/Paste


Y aqui abajo les dejo el logo del cole para los informes...



jueves, 30 de julio de 2009

Temario para Examen General TCB-03

Buen dia chicos,

Como les comenté en este apartado hiré agregando links del contenido de examen general, les recomiendo que estudien un poco porque es bastante, al final de este contenido deberian de enccontrar los links (bueno, si ya los coloqué jejeje), gradualmente hiré agregando mas espero que esten pendientes

Saludos y exitos.

Informatica:

http://es.wikipedia.org/wiki/Supercomputadora
http://es.wikipedia.org/wiki/Macrocomputadoras
http://es.wikipedia.org/wiki/Minicomputadora
http://es.wikipedia.org/wiki/Microcomputadora
http://es.wikipedia.org/wiki/Laptop
http://es.wikipedia.org/wiki/Netbook

Taller:
http://www.madboxpc.com/contenido.php?id=4195
http://www.estudiargratis.com.ar/reparacion/curso.htm (Ojo vean todos los links)

Analisis y Diseño
Libro de Kendall y Kendall 6ta edicion capitulos del 1 al 10

Programación
http://www.asptutor.com/zip/sql.pdf


Redes
http://es.wikipedia.org/wiki/Modelo_OSI
http://www.alfinal.com/Temas/tcpip.shtml
http://es.wikipedia.org/wiki/Red_de_computadoras
http://es.wikipedia.org/wiki/Red_de_%C3%A1rea_personal
http://es.wikipedia.org/wiki/Red_de_%C3%A1rea_local
http://es.wikipedia.org/wiki/Red_de_%C3%A1rea_de_campus
http://es.wikipedia.org/wiki/Red_de_%C3%A1rea_metropolitana
http://es.wikipedia.org/wiki/Red_de_%C3%A1rea_amplia
http://es.wikipedia.org/wiki/Cable_coaxial
http://es.wikipedia.org/wiki/Par_trenzado
http://es.wikipedia.org/wiki/Fibra_%C3%B3ptica
http://es.wikipedia.org/wiki/Red_por_radio
http://es.wikipedia.org/wiki/Red_por_infrarrojos
http://es.wikipedia.org/wiki/Red_por_microondas
http://es.wikipedia.org/wiki/Red_inal%C3%A1mbrica
http://es.wikipedia.org/wiki/Cliente-servidor
http://es.wikipedia.org/wiki/Peer-to-peer
http://es.wikipedia.org/wiki/Red_en_bus
http://es.wikipedia.org/wiki/Red_en_estrella
http://es.wikipedia.org/wiki/Red_en_anillo
http://es.wikipedia.org/wiki/Topolog%C3%ADa_en_malla
http://es.wikipedia.org/wiki/Red_en_%C3%A1rbol

Historia de Honduras


Contabilidad




Pd:
La graduación es con uniforme diario, para las personas que tenian la esperanza de vestir un traje, lo siento, pero es justo para los que no pueden comprar uno.

el 28 presentan el Machote o borrador del informe de la práctica y el 30 lo entregan.

Saludos

_________________________________________________

lunes, 13 de julio de 2009

Ejercicios de SQL

1. Cree una base de datos llamada Colegio
2. Cree un usuario de nombre alumno y agreguele todos los privilegios para accesar de forma local al servidor y de forma remota.
3. Cree una tabla con el nombre de alumno con los siguientes datos:



Campo

Tipo de Dato

Longitud

Per Nulos

PK


idalumno

Varchar

15

No

Si


nombre

Varchar

40

No

No

apellido

Varchar

40

No

No

sexo

Varchar

1

No

No

Telefono

Varchar

8

No

No

Celular

Varchar

9

No

No

e_mail

Varchar

50

No

No

tipo_sangre

Varchar

5

No

No

f_nacimiento

Date


No

No

estado_civil

Varchar

1

No

No

Imagen

Varchar

60

No

No

El idalumno es el numero de ceduloa 0501-1994-03514
El telefono en formato 551-7463
El celular en formato 9952-9741
Estado civil puede ser:

1. Soltero
2. Casado
3. Viudo
4. Unión Libre
5. Divorciado

En imagen por los momentos no va nada.
La fecha de nacimiento en formato Año/Mes/dia

Ingrese 15 registros (pero los registros, hágalos en una hoja de excel con los mismos campos en el mismo order), ingrese datos consistentes. comience con la fila 1 y ahi agrege los campos de ahi todos los datos, no le de ningun formato, lo importante es la consistencia y el formato de los datos. Esto seria

A1= idalumno
B1= Nombre
C1= Apellido
D1= sexo
y asi sucesivamente...

Bien, creamos la siguiente tabla con el nombre de curso






viernes, 3 de julio de 2009

Proyecto Ajedrez en C#

Hola chicos, había dejado un poco olvidado este proyecto (por todo lo que ha pasado en Honduras con ese Mel y los relajos, no hemos tenido clases..) pero aquí estoy nuevamente y les adjunto el código del archivo de Funciones_Globales donde ya esta terminada la validación de los peones, ojo, cambió un poco porque ahora ya puede capturar piezas contrarias y valida el movimiento de dos y una fila si está en la primera...

**************Código a Pegar*********************

public int Validar_posicion_peon(string color, int f_o, int c_o, int f_d, int c_d)
{
string color_pieza_destino=obtener_color_pieza_pos(f_d,c_d);

if (color == "N")
{
#region evaluar_peon
if (f_o == 1)
{
if ((((f_d == f_o + 1) && (Tablero[f_o + 1, c_d] == "-")) || ((f_d == f_o + 2) && (Tablero[f_o + 2, c_d] == "-") && (Tablero[f_o + 1, c_d] == "-"))) && (c_d == c_o))
{
return 1;
}
else
if (((c_d == c_o + 1) || (c_d == c_o - 1)) && (f_d == f_o + 1) && (color_pieza_destino == "B"))
{
return 1;
}
else
return 2;
}
else
{
if (((f_d == f_o + 1)) && (c_o == c_d) && (Tablero[f_d, c_o] == "-"))
return 1;
else
if (((c_d == c_o + 1) || (c_d == c_o - 1)) && (f_d == f_o + 1) && (color_pieza_destino == "B"))
return 1;
else
return 2;
}
#endregion
}
else
{
#region evaluar_peon
if (f_o == 6)
{
if ((((f_d == f_o - 1) && (Tablero[f_o - 1, c_d] == "-")) || ((f_d == f_o - 2) && (Tablero[f_o - 2, c_d] == "-") && (Tablero[f_o - 1, c_d] == "-"))) && (c_d == c_o))
{
return 1;
}
else
if (((c_d == c_o + 1) || (c_d == c_o - 1)) && (f_d == f_o - 1) && (color_pieza_destino == "N"))
{
return 1;
}
else
return 2;
}
else
{
if (((f_d == f_o - 1)) && (c_o == c_d) && (Tablero[f_d, c_o] == "-"))
return 1;
else
if (((c_d == c_o - 1) || (c_d == c_o + 1)) && (f_d == f_o - 1) && (color_pieza_destino == "N"))
return 1;
else
return 2;
}
#endregion
}
}

En este caso la función ya no necesita llamar la pieza.

miércoles, 10 de junio de 2009

MySql y C# Parte I

Bien, una de las grandes funciones que tiene la programación es crear aplicaciones que almacenen datos en Bases de datos, por esa razón, este apartado está dedicado a explicar como conectarnos a MySql (Una base de datos Gratuita) desde C# mediante la capa intermedia de OleDB, la cual es igual para todas las bases de datos del mundo, lo único que va a cambiar será el conection String que mas adelante explicamos a fondo.

Primero:
Necesitamos instalar la base de datos, para esto, puedes descargar MySql, en su ultima versión, o mejor dicho la mas resiente o bien descargar el Wamps, que es un administrador de servicios, que administra el servicio de la Base de Datos MySql, el servidor Apache y el Php simultáneamente.

Para descargar el Wamps dale clic al siguiente link (Si no funciona Copy/Paste la barra de navegación) .

También van a necesitar el Driver para conectarse por OledB lo descargan aqui, este permite conectarnos a la base de datos, existen tres formas posibles (bueno que yo conozca...)

El Oledb que acabo de mencionar
el ODBC, que es el mas antiguo
El Driver Nativo que es MySql.data que es propio para la base de datos.

Segundo:
Una vez instalado, también necesitamos una interface para conectarnos a la base de datos y crear nuestras bases de datos y tablas para eso, descargamos el Navicat desde aqui.

Desde el Navicat creamos una base de datos llamada data_colegio y una tabla de nombre Alumno, con los siguientes campos

RNE Varchar 15 (Primary Key)
Nombre Varchar 30
Apellido Varchar 30

Si tienes dudas de como usar el Navicat y el Wamps dale clic aqui

Una vez creada esta tabla entramos a C#, creamos un nuevo proyecto de Nombre cualquiera (en mi caso se llama Garrobito jejeje). y en la forma insertamos los controles necesarios para capturar los datos (Tres TextBox y tres Label). y un Botón con el nombre CmdGuardar (o el nombre que se les ocurra) .

Ahora insertamos un archivo de Clase, para esto, clic derecho en el explorador de objetos, pero nó en el solution y buscamos la opción Agregar (Add) y luego Clase (Class), le damos como nombre:
Funciones_Globales

Abrimos el archivo (Si es que no se abrió al crearlo) y en la parte de los using agregamos:
using System.Data;
using System.Data.OleDb;

Luego dentro de la clase, creamos un procedimiento publico de nombre AddAlumno de la siguiente forma:


public void AddAlumno(string id, string nombre, string apellido)
{
OleDbConnection cn = null;
OleDbTransaction tran = null;

try
{
///Si no se ve bien el texto, copia y pega el contenido en el blog de notas =)
cn = new OleDbConnection("Provider=MySQLProv; Data Source=data_colegio; User Id=root;Password=");
string query = "insert into alumno(RNE,NOMBRE, APELLIDO) values ('{0}','{1}','{2}')";
query = string.Format(query, id,nombre,apellido);

cn.Open();
OleDbCommand cmd = new OleDbCommand(query, cn);
cmd.ExecuteNonQuery();
cmd.Dispose();

}
catch (Exception ex)
{
throw ex;
}
finally
{
if (cn != null && cn.State != ConnectionState.Closed)
{
cn.Close();
cn.Dispose();
}
}

Lo salvamos y regresamos al Formulario en el evento clic del botón CmdGuardar escribimos:

Funciones_Globales Control = new Funciones_Globales();
try
{
Control.AddAlumno(MskRNE.Text, TxtNombre.Text, TxtApellido.Text);
MessageBox.Show("Se almacenaron los registros ");
}
catch (Exception er)
{
MessageBox.Show("Error al guardar los datos ");
}

y listo, en la buena teoría si siguieron todos los pasos debería de funcionar, explicando un poco el código:

Primera linea:
Funciones_Globales Control = new Funciones_Globales();
Declaramos una variable llama Control, de tipo Funciones_Globales (que es la clase) y la instanciamos en memoria.

Segunda Linea:
Abrimos el Try

Tercera Linea:
Llamamos el Método AddAlumno y le enviamos los tres argumentos que esta esperando, en mi caso mis controles son Un MasketEdit y dos textBox (observen los prefijos), y si todo está bien mostrará el mensaje de Se almacenaron los registros, en el caso que la función retorne un error el Catch la captura y muestra el mensaje Error al Guardar los datos

Por los momentos, solamente, espero este código les sirva.

lunes, 8 de junio de 2009

SQL

Buen dia Chicos



Pensé escribir un poco de SQL, pero recordé que no hay que inventar el agua helada, ya que muuuchas paginas tienen buena información sobre el tema, asi que mejor les dejo unos cuantos links...... jejejej:



http://www.aulaclic.es/sql/index.htm

http://www.desarrolloweb.com/manuales/9/

http://www.programatium.com/sql.htm

http://www.monografias.com/trabajos11/manu/manu.shtml


http://dev.mysql.com/doc/refman/5.0/es/sql-syntax.html

Espero lo lean, está bien completo y les ayudará a comprender mejor el SQL

martes, 2 de junio de 2009

MDI (Documento de Interface Múltiple)

Hasta el momento (o por lo menos si has seguido este foro) hemos visto formularios solitarios que al ejecutarlos abren una ventanita y punto, pero las aplicaciones de verdacita, tiene muchos formularios que son de la misma aplicación por esa razón existen los formularios MDI, que, son formularios Padres dentro de los cuales se abren otros formularios (hijos).

Como dije anteriormente dentro de un MDI pueden abrirse muchos formularios hijo, los cuales no pueden salir del formulario Padre (como se ve en la imagen siguiente) y cuando este se cierra, todos los hijos se cierran con el, a diferencia de otros Forms SDI (Single Document Interfase) que al cerrar uno lo otros se mantienen activos.


Para insertar un nuevo formulario MDI, damos clic derecho (en la venta de Solution Explorer) en el icono del Proyecto (No el que dice Solution, sinó el siguiente) y luego Add (Agregar), y despues New Item (Nuevo Elemento) y en las posibles opciones tenemos buscamos MDI Parent (En español no se, algo que diga MDI jejej).

Automaticamente nos aparece ya con el Menú PullDown (PopUp como le decían a mi ex compañero de colegio Tacamiche) la ToolBar y una barra de estado (Que por sierto en un Post anterio hablé de ella).

Solo resta configurarlo a nuestro gusto.

Ahora bien, si deseamos llamar un formulario desde nuestro MDI en el vento click de cualquier botón del ToolBar o alguna opción del menú hacemos lo siguiente:

Form1 patito = new Form1();
patito.MdiParent = this;
patito.Show();

La Primera Linea declara una Variable llamada patito, de tipo Form1, aludiendo que el primer formulario que crearon se llama así, sinó obviamente colóquenle el nombre que tiene el Formulario.

La segunda Linea: hace que el formulario hijo, sepa quien es su padre, en este caso this (Este formualio, de donde lo esta declarando) hace referencia al mismo MDI.

La Tercera Linea: simplemente muestra el formulario en pantalla.

Repetir este proceso para todos los demás formularios.

lunes, 1 de junio de 2009

Timer

El Timer o Temporalizador, es un control utilizado para ejecutar un bloque de instrucciones cada determinado tiempo (Medido en Mili segundos). Las propiedades importantes son:

Name (Ya saben para que es..)
Interval : Determina cada cuanto tiempo volverá a ejecutar las instrucciones que tiene programadas en su único evento el Tick. Si queremos que cada segundo ejecute un codigo deberiamos de color 1000 (Mil mili sendos un segundo, obvio verdad? jejeje).

Enabled: Establece si el objeto esta activo de desactivo, por defecto viene desactivo, hay que activarlo ya sea por codigo o directamente desde las propiedades.

como un ejemplo programale intervalo de 4000
y en el unico evento que tiene el Tick
Programa lo siguiente:


MessageBox.Show("Hola Mundo");

De esta forma, cada cuatro segundos se mostrará una ventana

Saludos

viernes, 29 de mayo de 2009

Status Strip

También conocida como Status Bar o barra de estado, es la famosa barra que aparece en la parte inferior de todas la ventanas de Windows, que normalmente dicen Done o Terminado como esta ventana de Internet en la parte de abajo debería de decir eso, y algunas cosas mas, bueno, esa es la idea.

Para comenzar insertamos el control, automáticamente además de aparecer en la parte inferior del formulario, también aparece fuera de él, como los controles que no tienen interfase.

Sobre el control en el formulario, click e inmediatamente aparece un icono del cual se despliegan opciones, estas se manejan como un arreglo (un Collection, que por cierto, tiene esa propiedad para que desde diseño se manipulen los componentes) y se accesan a ellas a través de los indices.


Como observamos en la imagen, tiene una lista de diferentes elementos a elegir, hablemos de ellos rápidamente:

StatusLabel
Es una etiqueta, como la mencionada anteriormente de Terminado.

ProgressBar:
También llamada por sus amigos, barra de progreso, se utiliza para indicar el progreso de un proceso, es importante recordar las tres propiedades necesarias para su uso que son Max, Min y Value.

DropDownButton:
Es una interesante opción, ya que crea un menú desplegable donde como un típico menú pullDown (POPUP como decía mi profesor Carlos Mendoza), podemos insertar sub opciones y opciones dentro de estas, asi mismo, podemos cambiar el icono que despliega en la barra de estado (como en la foto de abajo le cambié el icono por una hoja en blanco) al darle click , se toma como un objeto independiente y se accesa a todas sus propiedades.

En este caso, tenemos un objeto con 3 elementos o Items, el primero es un Label, el segundo es un DropDownButton y el ultimo es un progressBar (Mas adelante ahondaré individualmente sobre este control). Para mandarle un texto al primero, lo hacemos con el siguiente código:
statusBar.Items[0].Text = "Gabrielita";

Recuerden que si no es un objeto tipo Label esto no funcionará porque no tiene esta propiedad y por ultimo para programar las opciones de menú solo doble click sobre ellas y para cambiar de Dock (o posición de anclaje en el formulario), solo buscan esta propiedad y selecciona una de las posibles opciones (Button, left, Right o Top).

Cuando tenemos formulario con varios TextBox, al caer sobre este (obtener el foco, evento Enter), siempre es bueno que mande un mensaje al Status Bar, como qué tiene que ingresa en el control.

Por ultimo, si necesitamos programar el progress Bar de la barra de estado, debemos llamarlo directamente, no como elemento del indice, en este caso seria:
toolStripProgressBar1.Value+=1;
De esta forma se incrementará de forma unitaria, esto lo puedes hace también en el evento Enter de los TextBox para que avance por cada objeto que completos, claro es recomendable evaluar que no pase del Maximo, y establecerle en Maximo un valor igual al de TextBox que tengamos en el formulario.

ColorDialog

Este control se utiliza para darle color a controles determinados, ya sea el formulario o un objeto que soporte este formato (creo que todos... ejejej).

Lo primero, insertamos este control ColorDialog en el formulario, como no tiene interface, siempre aparecerá fuera del formulario en la parte de abajo.

Luego insertamos un botón y en evento clic de este programamos:
///Si descomentamos esto:
///colorDialog1.AllowFullOpen = false;
/// No va a poder seleccionar colores personalizados.

///Esta linea activa la ventana del color
colorDialog1.ShowDialog();
/// y con esta le pasamos el color seleccionado al Background del formulario
this.BackColor=colorDialog1.Color;

y listo... no tiene mayor ciencia

jueves, 28 de mayo de 2009

OpenFileDialog

El OpenFileDialog es un control utilizado para crear una interfase de comunicación entre la aplicación y archivos externos, como ser imágenes o texto.

Este control, al momento de insertarlo se dibuja en la parte externa inferior del formulario (fuera de este), porque no tiene interface gráfica (otros controles también tienen este comportamiento).

Una vez, insertado realizamos las siguientes actividades:

Modificamos las propiedades del control

Name: openfiledlg1

insertamos un PictureBox y un Button, deberian de llamarse pictureBox1 y button1, en el evento click de este ultimo programamos lo siguiente:

string garrobito;
//Definimos los filtros de archivos a permitir, en este caso imagenes
openfiledlg1.Filter = "Bitmap files (*.bmp)|*.bmp|Gif files (*.gif)|*.gif|JGP files (*.jpg)|*.jpg|All (*.*)|*.* |PNG (*.patito)|*.png ";
///Establece que filtro se mostrará por deceto en este caso, 3=jpg
openfiledlg1.FilterIndex = 3;
///Esto aparece en el Nombre del archivo a seleccionar, se puede quitar no es fundamental
openfiledlg1.FileName="Seleccione una imagen";

//El titulo de la Ventana....
openfiledlg1.Title = "Bachillerato en Computación";

//El directorio que por deceto habrirá, para cada contrapleca del Path colocar \\ C:\\Fotitos\\Wizard y así sucesivamente
openfiledlg1.InitialDirectory = "c:\\";

/// Evalúa que si al aparecer el cuadro de dialogo la persona presionó Ok
if (openfiledlg1.ShowDialog() == DialogResult.OK)
{
/// Si esto se cumple, capturamos la propiedad File Name y la guardamos en la variable Garrobito
garrobito = openfiledlg1.FileName;
//Por ultimo se la asignamos al PictureBox
pictureBox1.Image = Image.FromFile(@garrobito);

}

De esta forma al abrir la imagen, si seleccionamos un archivo, este se hirá como referencia al objeto pictureBox1.

LinkLabel

Como se imaginarán, el objeto LinkLabel se utiliza para crear un Link en un formulario desde el cual podremos acceder a una pagina web, claro está que invocará al navegador para verla.

A continuación describo los pasos a seguir:

1. Insertamos el objeto y modificamos las siguientes propiedades:
Name: libLink
Text: www.patito.com (Claro que puede ser cualquier dirección)

Luego damos doble click al formulario y en la parte de los using (al inicio del código) escribimos:
using System.Diagnostics;

A continuación en el evento load del formulario:

libLink.Links.Remove(libLink.Links[0]);
libLink.Links.Add(0, libLink.Text.Length, "http://www.google.hn");

Ahora bien, regresando al modo de diseño del formulario damos doble clik al objeto LinkLabel y automaticamente nos llevara al evento LinkClicked y ahí programamos lo siguiente:

ProcessStartInfo sInfo = new ProcessStartInfo(e.Link.LinkData.ToString());
Process.Start(sInfo);

Una vez terminado esto, ejecutamos y damos click en el objeto, de inmediato nos debe de abrir una página web con la dirección google.hn, aunque en el Text del contrl no sea el mismo, no hay problemas.

Espero les sea de utilidad...

Hasta pronto

sábado, 16 de mayo de 2009

Drag And Drop en PictureBox

Este efecto es muy interesante y propio de la programación orientada a objetos, en este evento (a diferencia de los otros que solo desencadena un procedimiento, como el Click, load, Mouse Move etc) se desencadenan tres procedimientos:

Mouse Move
DragEnter
DragDrop

En ese orden.

Imaginemos que tenemos dos pictureBox de Nombre Foto1 y otro de nombre Foto2 lo primero que debemos haces es activarles el Drag And Drop, en el evento Load del formulario escribimos:

Foto1.AllowDrop=true;
Foto2.AllowDrop=true;

Cuando le den clic no va a aparecer, así que no se preocupen al respecto solo escríbanlo.

Ahí mismo declaramos una variable de tipo object llamada origenes que sea publica

object origenes;

Esta variable se utiliza para mantener la referencia al objeto de donde se está arrastrando la imagen de no ser así, solo podríamos hacer Copiar/Pegar y nó Drag And Drop, es recomendable declarar esta variable antes del constructor.

Bueno, una vez realizado esto, van a hacer copy/Paste a los procedimientos que llamaran desde los eventos del drag and drop, anteriormente mencionados:

Esto es lo que van a a asociar al evento Mouse Down de los PictureBox Foto1 y Foto2, claro solo el nombre que seria PictureBox_MouseDown

private void PictureBox_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
///Objeto de origen de la imagen
PictureBox pic = (PictureBox)sender;
origenes = sender;


if (e.Button == MouseButtons.Left)
{
if (pic.Image != null)
{
pic.DoDragDrop(pic.Image, DragDropEffects.Move);
}
}
}

-------------------------------------------------------------------------------------

Esto en el Drag Enter de los dos Picture Box llamas PictureBox_DragEnter

private void PictureBox_DragEnter(object sender, System.Windows.Forms.DragEventArgs e)
{

if (e.Data.GetDataPresent(DataFormats.Bitmap))
{
e.Effect = DragDropEffects.Move;
}
else
{
e.Effect = DragDropEffects.None;
}
}

-------------------------------------------------------------------------------------
Y por ultimo en el DragDrop asociamos esto:

private void PictureBox_DragDrop(object sender, System.Windows.Forms.DragEventArgs e)
{
PictureBox pic = (PictureBox)sender;
PictureBox org = (PictureBox)origenes;

if (pic.Name != org.Name)
{

pic.Image = (Bitmap)e.Data.GetData(DataFormats.Bitmap);
org.Image = null;

}


}

Una importante observación, esto se copia y pega dentro del formulario, no dentro de ningún evento y luego a los dos objetos se les asocia en cada evento los nombres de los procedimientos Ejemplo

En los eventos (Que están en el símbolo de rayito en la ventana de propiedadas que aparece a la derecha de la ventana) buscamos el evento MouseMove y sin darle doble click en el espacio escribimos PictureBox_MouseDown y damos Enter, igual con los otros, una vez terminado, ejetutamos el formulario y listo.

jueves, 14 de mayo de 2009

Planificación del Curso de Programación

Buen día chicos

Les adjunto la planificación parcial ahí encontraran los temas, tareas y especificaciones de la misma

Saludos.

http://lix.in/-4cb2d4

viernes, 8 de mayo de 2009

Arreglos Bidimensionales

Lo Arreglos, como anteriormente mencioné, (en clase o en el foro jejeje) son colecciones de objetos del mismo tipo, ligados unos con otros en posiciones continuas accedidos desde un indice que en lenguajes de base C comienza en cero (0), y tienen el mismo nombre, Patido [3], en este caso estariamos accesando la posición 4 del arreglo, porque comienzan en en cero como acabamos de mencionar.

Ahora bien, los arreglos bidimensionales, son la misma historia, pero tienen fila y columna y al declararolo lo hacemos de la siguiente manera:

String [,] datos = new String[8, 8];

Con esta linea declaro un arreglo llamado datos, de tipo string con 8 filas y 8 columnas como una cuadricula de una hoja de Calculo (si, asi como la de Open office, o Office 2007).

y solo es cuestión de invocar la posición que deseamos ver o asignarle valor y listo
datos[0,7] = "TRB";
En esta linea, le decimos que en la fila Cero y Columna 7 Agrege el valor de TRB, independientemente de lo que exista eliminará el conetenido y le asignará eso.

MessageBox.Show(datos[1,0].ToString());

En este caso mostrará lo que existe en la posición de la fila Uno y columna Cero.

Es importante recordar que se puede haer arreglos de cualquier tipo de dato y que al asignarle valores deven ser del mismo tipo.

Existen Algoritmos para Ordenar y recorrer Arreglos Bidimensionales, les recomiendo los googleen..

Para terminar este articulo les dejo un pequeño Algoritmo para inicializar todos las posiciones de un arreglo bidimensional

for (int x = 0; x < 8; x++)
for (int y = 0; y < 8; y++)
datos[x,y] = "-";

En este caso, para la longitud que declaramos arriba (8x8) pero funciona para cualquier longitud.

jueves, 30 de abril de 2009

El Ajedrez

Hola mis amigos, al leer el titulo se preguntaran, que tiene que ver el ajedrez con la programación?, para serles sinceros nada y todo a la vez, (Dificil de creer verdad?). Nada, porque es un juego antiguo con otra historia que contar, todo, porque gracias a practicarlo pueden desarrollar mejores habilidades analíticas al programar ya que el ajedrez te desarrolla la mente y te hace pensar mas rápido.

Para no copy/peistear el texto, solo coloco el link de Wikipedia donde hablan de las reglas del ajedréz.

http://es.wikipedia.org/wiki/Reglamento_del_ajedrez

Les recomiendo que lo lean.. y tambien estas jugadas....
http://es.answers.yahoo.com/question/index?qid=20081008195221AAWmUMa
http://gambitorey.wordpress.com/category/ajedrez/
http://reydama.blogspot.com/
http://reydama.blogspot.com/2009/03/gambito-de-dama.html

martes, 28 de abril de 2009

Procedimientos y Funciones

Procedimientos:

Un procedimiento es un sub-programa o rutina al que se le asigna un cierto nombre y que realiza unas determinadas operaciones. La ventaja que tiene utilizar procedimientos es que su código se escribe una sola vez pero pueden ser ejecutados desde tantos puntos del script como se desee.

Un procedimiento puede recibir una serie de parámetros que variarán su funcionamiento. Los parámetros a recibir (de qué tipo es cada uno y para qué se utiliza) se determinan al escribir el procedimiento.

Dentro del código que determina el funcionamiento de un procedimiento se pueden a su vez ejecutar otros procedimientos, incluso sí mismo de forma recursiva.


Funciones:

Una función es un procedimiento que, adicionalmente, devuelve un valor como resultado de su ejecución.

La ventaja de las funciones es que pueden utilizarse en asignaciones, expresiones matemáticas, etc.

Sintaxis:

Declaración y programación (escritura) de un procedimiento:

public int Maximo (int x, int y)

{

int mayor;

if (x==y)

return -1;

else

if (x>y)

return x;

else

return y;

}

En la primera parte de la declaración

public int Maximo (int x, int y)

public, es el nivel de acceso, indica que puede ser accedida desde cualquier scrip, dentro o fuera del archivo donde se declaró.

int, es el valor que retornará la función, en este caso como es un numero el que tiene que retornar, pero no siempre es así, algunas veces, hay funciones que piden de argumento un string y retornan un bool u otro tipo de datos.

Maximo, es el nombre de la función

(int x, int y) son los argumentos de la función, los valores que necesita para operar, en este caso son dos, siempre se separan con una coma y se debe de definir el nombre y el tipo de datos.

Y dentro de esta función utiliza los argumentos que pide y realiza la comparación, lo de adentro es un simple if...

Ojo, que existen tres lineas donde aparece return, pero solo uno se va a poder ejecutar dentro del codigo ya que solo un caso se efectúa, si existieran dos return que se ejecuten en el codigo daria un error, asi como en el caso de tener un solo return y que este nunca se ejecutara.





viernes, 20 de marzo de 2009

Prefijos sujeridos para Controles

Hola Chicos, aqui les dejo una lista de los prefijos sujeridos para los controles de cualquier lenguaje de programación orientado a objetos, algunos ya los hemos visto antes

Saludos

Control

Descripción

Prefijo

Ejemplo

HScrollBar

Barra de desplazamiento horizontal

hsb

hsbVolumen

HScrollBar

Barra de desplazamiento horizontal ligera

lwhsb

lwhsbVolumen

FlatScrollBar

Barra de desplazamiento lisa

fsb

fsbMover

VScrollBar

Barra de desplazamiento vertical

vsb

vsbIndice

VScrollBar

Barra de desplazamiento vertical ligera

lwvsb

lwvsbAnio

SatusBar

Barra de estado

sta

staFechaHora

ToolBar

Barra de herramientas

tlb

tlbAcciones

ProgressBar

Barra de progreso

prg

prgCargarArchivo


Botón animado

ani

anibuzon

CommandButton

Botón de comando ligero

lwcmd

lwcmdQuitar

MaskEdBox

Botón de número

spn

spnPaginas

OptionButton

Botón de opción

opt

optGenero

OptionButton

Botón de opción ligero

lwopt

lwoptNivelEntrada

CommandButton

Botones de comando

cmd

cmdSalir

CheckBox

Casilla de verificación

chk

chkSoloLectura

CheckBox

Casilla de verificación ligera

lwchk

lwchkGuardar

MSComm

Comunicaciones

com

comFax

OLE

Contenedor OLE

ole

oleHojaCalculo


Control (se usa en procedimiento cuando el tipo especifico es desconocido)

ctr

ctrActual

Slider

Control deslizante

sld

sldEscala

Timer

Cronómetro

tmr

tmrAlarma

Grid

Cuadrícula

grd

grdPrecios

DBGrid

Cuadrícula de datos

dgd

dgdTitulos

DataGrid

Cuadrícula enlazada a datos

dbgrd

dbgrdResultadosConsulta

MS FlexGrid

Cuadrícula MS Flex

msg

msgClientes

DataCombo

Cuadro combinado de datos

dbc

dbcAutor

ImageCombo

Cuadro combinado de imagen

imgcbo

imgcboProducto

ComboBox

Cuadro combinado ligero

lwcbo

lwcboAleman

ComboBox

Cuadro combinado, cuadro de lista desplegable

cbo

cboIngles

PictureBox

Cuadro de imagen

pic

picVGA

ListBox

Cuadro de lista

lst

lstCodigos

FileListBox

Cuadro de lista de archivos

fil

filOrigen

DirListBox

Cuadro de lista de directorios

dir

dirSource

DriveListBox

Cuadro de lista de unidades

drv

drvDestino

DataList

Cuadro de lista enlazada a datos

dblst

dblstTipoTrabajo

ListBox

Cuadro de lista ligero

lwlst

lwlstCentroCostos

TextBox

Cuadro de texto

txt

txtApellido

TextBox

Cuadro de texto ligero

lwtxt

lwtxtCalle

Data

Datos

dat

datBiblio

Adodc

Datos ADO

ado

adoBiblio

MSRDC

Datos remotos

rd

rdTitulos

CommonDialog

Datos común

dlg

dlgAbrirArchivo

Label

Etiqueta

lbl

lblMensajeAyuda

TabStrip

Fichas

tab

tabOpciones

MSHFlexGrid

Hierarchical Flexgrid

flex

flexPedidos

Shape

Forma

shp

shpCirculo

Form

Formulario

frm

frmEntrada

Gauge

Gauge

gau

gauEstado


Gráfico

gra

graGanancias

Image

Imagen

img

imgIcono

SysInfo

Información del sistema

sys

sysMonitor

Line

Línea

lin

linVerticial

DBList

Lista de datos

dbl

dblEditor

ImageList

Lista de imágenes

ils

ilsTodosIconos

Frame

Marco

fra

fraIdioma

Frame

Marco ligero

lwfra

lwfraOpcionesGuardar

MMControl

MCI

mci

mciVideo

MAPIMessages

Mensaje MAPI

mpm

mpmEnviarMensaje

Menu

Menú

mnu

mnuAbrirArchivo

MSChart

MS Chart

ch

chVentasPorRegion

SSTab

MS Tab

mst

mstPrimero

Panel3D

Panel 3D

pnl

pnlGrupo

PictureClip

Picture Clip

clp

clpBarraHerramientas

DataRepeater

Repetidor de datos

drp

drpUbicacion

RichTextBox

RichTextBox

rtf

rtfInforme

DTPiker

Selector de fecha

dtp

dtpEditado

MAPI

Sesión MAPI

mps

mpsSesion

UpDown

UpDown

upd

updDireccion

TreeView

Visor de árbol

tre

treOrganizacion

ListView

Visor de lista

lvw

lvwEncabezados

Calendar

Vista de mes

mvw

mvwPeriodo





































































































y estos para objetos de bases de datos

Objeto de base de datos

Prefijo

Ejemplo

Base de datos

db

dbCuentas

Campo

fld

fldDireccion

Conjunto de registros

rec

recPrevision

Contenedor

con

conInformes

Definición de consulta

qry

qryVentasporRegistro

Definición de Tabla

tbd

tbdClientes

Documento

doc

docInformeVenta

Espacio de Trabajo

wsp

wspMio

Grupo

grp

grpFinanzas

Indice

idx

idxEdad

Motor de base de datos

dbe

dbeJet

Parámetro

prm

prmCodigoTarea

Relación

rel

relDeptDeEmpleados

Usuario

usr

usrNuevo