FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Acceso a procedures protected en canvas.
Hola a todos. Soy nuevo en este foro y también en Delphi. Hace años usé mucho el Turbo Pascal 7, lo dejé. Cuando lo he querido retomar me he encontrado que está totalmente fuera de sitio, si quería aprovechar mi experiencia Pascal tenía que ser en Delphi, concretamente uso Lazarus.
Me he encontrado con que para funciones gráficas se usa canvas pero no he sido capaz de dibujar ni un solo punto, solamente he podido acceder a procedimientos no protegidos (rectangle, ellipse....), el problema es que setpixel es protegido y no veo como acceder a él. Os pongo un ejemplo de lo que intento. ¿hay un alma caritativa por ahí que me quiera echar una mano?. Gracias.
Última edición por Casimiro Notevi fecha: 31-08-2017 a las 17:28:57. |
#2
|
||||
|
||||
Bienvenido a clubdelphi, como siempre aconsejamos a los nuevos, no olvides leer nuestra guía de estilo, gracias por tu colaboración
Recuerda poner los tags al código fuente, ejemplo: Gracias |
#3
|
||||
|
||||
Hola.
Lo primero que te conviene es convertir al procedimiento "Dibuja" como método de Form1, declarándolo dentro de la clase TForm1: Posicionado en (1) presionas Ctrl+Shift+C y Lazarus generará la cabecera del método (esqueleto) de forma automática, luego escribes en él tu código: Fijate que accedes al color de cada píxel del form como un arreglo bidimensional mediante la propiedad Pixels. Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#4
|
|||
|
|||
Funciona¡¡¡¡¡
A la primera.
Veo que Canvas ofrece "propiedades" que permiten acceder a los procedimientos protegidos de forma fácil, ésto facilita mucho las cosas. Las demás cosas que introduces son claras e intuitivas pero no acabo de ver claro porque recomiendas que declare el procedimiento "dibuja" dentro de los privados de Form1, de hecho también funciona poniéndolo arriba, en la declaración de procedimientos junto a Button1. De todas formas el problema de fondo es mi poco manejo de la programación orientada a objetos, aprendí a programar hace mucho tiempo con Pascal 7 de Borland, en este compilador se podía programar también en POO pero no era imprescindible, todo era fácil, ordenado e intuitivo, no veía necesidad de manejar Objetos pero ahora me he encontrado con que en Delphi es prácticamente imprescindible, si no los controlas estás XXXXXXXX. En fín, habrá que ponerse a ello. ¿Conoces algún buen tutorial, manual o cursillo on line? Salud y muchas gracias. |
#5
|
||||
|
||||
Hola.
Te aconsejé usarlo como método de Form1 por que sólo lo aplicas a él y es buena práctica en OOP. Pero tranquilamente lo podrías declarar como un procedimiento normal, al que le pasas el formulario como parámetro, vgr.:
Un buen libro sobre Delphi y OOP es: La cara oculta de Delphi 4, Aquí, en el FTP de Club Delphi, encontrarás mas material interesante de lectura sobre el tema. Una pagina de consulta muy útil es: Delphi Basics. Algunos tutoriales:
Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#6
|
|||
|
|||
Muchas gracias. Da gusto preguntar por aquí.
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Firebird Procedures VS Delphi Procedures | ASAPLTDA | Debates | 17 | 28-05-2014 23:09:34 |
Copiar TLabel.Canvas sobre TBitmap.Canvas | @CSE1970 | Gráficos | 2 | 23-10-2013 12:46:53 |
Error C2248en C++: cannot access protected member | rcarrillom | .NET | 3 | 12-03-2010 02:10:04 |
Terminar con Procedures. | alexxino | Varios | 3 | 28-01-2007 22:40:57 |
Lio con Procedures!!! | diegofhernando | Varios | 8 | 12-11-2003 16:54:43 |
|