![]() |
Algunas preguntillas....
Hola amigos. Se que activando la opción GENERATE CONSOLE APLICATION del menu PROYECT->OPCIONES, se genera una consola de MSDOS. No obstante, me gustaria saber si existe alguna forma para que esa consola se active solo si cargo el programa desde la linea de comando y con determinados parámetros; en otro caso, esto es, si cargo desde Windows, no aparezca la consola automáticamente.
Por otro lado, quisiera saber cómo puedo hacer para que arrastrando un determinado archivo sobre el form de mi programa, éste se cargue automáticamente. Muchas gracias a todos. Un saludo. |
En cuanto a la primera pregunta no sé la respuesta y te recomiendo abrir hilos distintos si las preguntas son de naturaleza distinta.
En lo que se refiere a la segunda pregunta debes usar la función DragAcceptFiles de la unidad ShellApi. Te pongo aquí un breve resumen de lo que necesitas. DragAcceptFiles le pasas el "handle" del formulario que desees que acepte archivos. El segundo parámetro habilita o inhabilita la opción. WM_DROPFILES Windows mandará este mensaje a la ventana que registres en el momento en que el usuario suelte el (o los) archivos en tu formulario. El mensaje lleva un parámetro "Drop" que necesitas para las siguientes funciones, mismas que procesas en el manejador de este mensaje. DragQueryPoint Te indica el lugar en donde el usuario suelta el archivo. De esa manera puedes determinar si el archivo se suelta en el control que realmente desees, por ejemplo un Memo. DragQueryFile Te indica el o los archivos que se sueltan (o bien el número de archivos). Con esta función puedes entonces saber el nombre del archivo y determinar si es apto para cargarse. DragQueryFinish Termina el proceso de arrastrado y libera recursos. Te pongo aquí un ejemplo completo para poder cargar archivos 'txt' en un memo del formulario. Esto te servirá de punrto de partida; para más información busca en la ayuda de Windows SDK (incluida con Delphi) acerca de la función DragAcceptFiles.
// Saludos |
Para que se ejecute solo si recibis ciertos parametros, podes hacer algo como:
Código:
if (ParamCount = 0) or (ParamStr(1) <> '/ejecutar') Then Hasta luego. ;) |
Muchas gracias a ambos por vuestra ayuda. Un saludo.
|
La franja horaria es GMT +2. Ahora son las 13:03:21. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi