Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Crear una herramienta para el IDE (https://www.clubdelphi.com/foros/showthread.php?t=84606)

José Luis Garcí 11-11-2013 10:12:21

Crear una herramienta para el IDE
 
Hola compañeros, tengo la siguiente duda, como se puede hacer para insertar código desde una aplicación directamente en el ide en la pestaña code.

Me explico mejor, quiero crear una herramienta, con varias opciones, para ir pasando de esta herramienta directamente en la unit [Pestaña code] según estamos programando, claro esta donde este situado el cursor en ese momento, ejemplo a como lo hace Gexpert en MessageDialog o Cnpack con el MessageBox y otras herramientas.

La idea va desde trozos de código repetitivos a cabeceras, tips, etc.

Como siempre espero haberme expresado bien y que podáis echarme una mano.

Neftali [Germán.Estévez] 11-11-2013 13:57:15

En las versiones antiguas de Delphi se hacía con las Open Tools API (OTA). No se si en las versiones nuevas se sigue manteniendo este sistema; Imagino que sí.
En este mensaje antiguo ya hablábamos de ellas.
Revisa el link que ahí aparece.

Otra opción es ir directamente a los fuentes de los GExperts (que la san intensivamente) y ver cómo lo hacen.

dec 11-11-2013 16:33:16

Hola,

Investiga (buscando en internet) sobre lo dicho por Neftalí, la unidad "ToolsApi" e interfaces como "IOTASourceEditor". Busca también por "expertos" para delphi, o "Delphi experts". He subido al directorio del ClubDelphi un par de ejemplos de expertos, precisamente, aunque no los he probado en Delphi XE2, que es la versión más moderna de Delphi de que dispongo. Creo que en su momento los llevé a cabo con Delphi 7, pero, igualmente pueden servirte de algo.

En este caso los "expertos" añaden algún elemento al menú de Delphi y trabajan con el texto seleccionado en el editor. No creo que costase mucho averiguar, una vez obtenido el "IOTASourceEditor", añadir algo de texto al editor,... lo malo es que yo también estoy con Neftalí y no sé si ahora se usan "otras cosas" y no las mencionadas. A continuación el enlace al ejemplo en cuestión:

http://terawiki.clubdelphi.com/Delph...ClubDelphi.zip

José Luis Garcí 11-11-2013 16:38:51

Gracias compañeros estudiare y os comento

José Luis Garcí 11-11-2013 19:18:43

Os cuento, llevo unas cuantas horas y aun casi que no entiendo casi nada, El experto que manda Dec, esta muy bueno y +/- lo entiendo, pero, sigo perdido a la hora de escribir y lo que más me preocupa, es que tendría que instalarlo, cuando lo que quiero es algo menos engorroso, intentare aclararlo un poco mejor.

Mi idea es crear una herramienta y no un experto, se trata de una aplicación, con la opción de que elijamos el código que elijamos al pulsar el botón pasar pasase al código, pongo ejemplo.


Se nos pide los datos a través de edits de nombre y texto para un encabezado, rellenamos los edits con 'Salir' y 'provocar salida del módulo' y al pulsar el botón pasar nos inserte donde este el cursor en este momento en el ide en la pestaña code el siguiente trozo de código.

Código Delphi [-]
//----------------------------------------------------------------------------------------------------------------------------
//****************************************************************************************************  ***********[Salir]****
//  provocar salida del módulo
//----------------------------------------------------------------------------------------------------------------------------

Claro esto es un ejemplo sencillo de lo que tengo en la cabeza

Si me dicen que siga por el tema de las IOTA, sigo, pero si me aclaráis un poco más, de como hacerlo por una aplicación externa y no por un experto, sería fabuloso y si me indicáis páginas sobre el tema de la escritura, sin tener que pasar por todas las opciones mucho mejor.

Si no optare al final de la lectura si no me queda claro, de hacerlo, enviando el texto al portapapeles y pegándolo luego en el ide, pero no me parece muy profesional

dec 11-11-2013 23:58:08

Hola,

En mi opinión lo mejor y más elegante sería usar un "experto", pues, estos hacen uso de las opciones (API) que proporciona el propio Delphi para interactuar con el IDE. Piensa que cuando esté listo podrás acaso instalarlo de forma más o menos sencilla y transparente, tal como instala sus expertos el proyecto GExperts. Aquí no te sabré ayudar tampoco... pero me consta que es posible instalar componentes y expertos desde programas como Inno Setup.

Es que la otra forma no parece sencilla, es decir, "guarrear" con el API de Windows a ver si conseguimos la ventana de Delphi, la ventana del editor de código, la forma y manera de añadir texto al mismo, etc., etc. Con el API que proporciona Delphi debería ser (y es) más sencillo todo, aunque claro está, habrá que adentrarse en ella y ver cómo y de qué manera lograr nuestro objetivo. Pero como de todas formas vas a tener que ponerte a ello...

ElKurgan 12-11-2013 07:37:20

Mira también la cara oculta de Delphi 6, del maestro Marteens.

En los primeros capítulos, donde habla de interfaces, viene un ejemplo de añadir una característica al IDE de Delphi, tal como lo hacen las Open Tools. En concreto, el capítulo 2, en la sección "Extensiones al entorno de desarrollo". No trata en profundidad el tema, pero a lo mejor te puede servir para iniciarte.

Saludos

José Luis Garcí 12-11-2013 12:26:41

Cita:

Empezado por ElKurgan (Mensaje 469518)
Mira también la cara oculta de Delphi 6, del maestro Marteens.

En los primeros capítulos, donde habla de interfaces, viene un ejemplo de añadir una característica al IDE de Delphi, tal como lo hacen las Open Tools. En concreto, el capítulo 2, en la sección "Extensiones al entorno de desarrollo". No trata en profundidad el tema, pero a lo mejor te puede servir para iniciarte.

Saludos

Gracias, El Kurgan, acabo de terminar de leerlo, pero sigo en las mismas, la verdad de como insertar en el menú, he encontrado varios ejemplos, pero lo que es insertar en el código, en fase de desarollo, no he encontrado nada, o no he sabido llevarlo a cabo :o


La franja horaria es GMT +2. Ahora son las 07:18:51.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi