Graficación en 2D usando Object Pascal

Buenas!, después de algunos días de ausencia he vuelto con algo nuevo. En el tecnológico hemos estado viendo cosas nuevas y una de estas es la graficación usando object pascal, he tenido mucho trabajo de documentación de proyectos y ahora que tengo un poco de tiempo “libre” veremos el principio de lo que he estado aprendiendo de la graficacion. En este post veremos la creación de componentes .

1)    Abrir el Delphi y crear un nuevo componente, para ello realizaremos los pasos que a continuación se describen:

a)    Localizarnos en el menú Component y click en New Component.

paleta
Paleta componente

b)    Los datos que lleva nuestro componente serán los siguientes:

Ancestor type es la clase de la cual heredará nuestro componente, al ser un componente gráfico, utilizaremos la clase TGraphicControl; Class Name es el nombre de nuestra clase, Palette Page es el nombre que                tendrá a la hora de agregarse en la paleta. Al hacer nuestro archivo Unit, procurar poner un nombre antecedido por una “U” por estilo de programación, y colocarlo en una ubicación de fácil acceso.

2)    Ahora crearemos un constructor para nuestra línea, la cual se declara como procedimiento publico, ya que tiene que ser de libre acceso para los miembros de la clase.

Al escribir la palabra reservada “override” estamos sobrescribiendo nuestro procedimiento, solo queda definir nuestro constructor, para ello, copiamos la sentencia “constructor create(aowner:TComponent);” y la pegamos antes del “end.” siendo la sentencia antes del final.

Y lo sobrescribimos diciéndole a quien le pertenece, es decir a TLine (El nombre de nuestra clase), declarándolo tal como queda a continuación:

3)    Abrimos una sección de declaración de métodos, donde usaremos la palabra reservada “inherited” aplicando aquí el principio de herencia.

4)    Después declaramos el largo y ancho donde se dibujará nuestro componente, quedando nuestro código así:

5)    Solo nos queda dibujarlo, para ello utilizaremos los métodos “moveTo” y “lineTo” los cuales determinan el comienzo, la trayectoria y final del dibujo, estos métodos se encuentran en el canvas. Para declararlo se hace lo siguiente:

6)    Declaramos un método protected el cual será “paint” de la misma manera que se realizó con el constructor.

Nos localizamos antes del último end y copiamos la sentencia que acabamos de escribir en la parte protegida, acto seguido especializamos nuestro método antecediéndole la clase a la que pertenece.  Abriremos un nuevo bloque de sentencias, es decir, un begin y un end. Dentro declararemos los métodos “moveTo” y “lineTo”, quedando nuestro código tal como muestra la imagen que sigue:

Guardamos y compilamos nuestra unidad.

7)    Ahora agregaremos nuestro componente a la paleta. Para ello, nos situamos en el menú Component y seleccionamos install Component. Nos moveremos a la siguiente pestaña “Into new package”. Dentro de la caja, seleccionaremos nuestra unidad, es decir “ULine” o cualquier nombre que se haya puesto a la clase que creamos anteriormente. El nombre del Package es a gusto. Damos ok y aceptamos todo.

Nos aparecerá una pantalla donde lo podremos compilar, lo compilaremos y en caso de que no genere error, lo instalamos con el botón que aparece en esa misma ventana que emergió.

8)    Para probar el componente solo nos queda ir a la paleta de componentes, localizarnos en el último componente donde estará nuestro paquete y dentro nuestro componente Line. Solo le damos click y lo arrastramos hasta un Form.

Y asi ya hemos creado nuestro primer componente en delphi.

Anuncios

2 comentarios sobre “Graficación en 2D usando Object Pascal

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s