FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Abrir una aplicacion con un TButton
wenas soy yo de nuevo xD perdonad por molestar tanto en este foro, ahora necesito saber k codigo tengo k introducir en un TButton para aprir una aplicacion k se encuentre en un determinado directorio algo asi como un vinculo a una aplicacion por cierto gracias a todas las respuestas de antes me estan siendo verdaderamente utiles para mi proyecto ^^.
|
#2
|
||||
|
||||
Hola Drake, pásate por éste hilo a ver si te ayuda
http://www.clubdelphi.com/foros/showthread.php?t=28552 Saludos y Feliz Año Nuevo Última edición por Bicho fecha: 30-12-2005 a las 15:20:45. |
#3
|
|||
|
|||
Puedes hacerlo de 2 formas (alemnos que yo conozca) la que suelo utilizar es:
El primer parámetro de WinExeC es claro, se trata del nombre del programa ejecutable con la ruta incluida. El segundo parámetro indica como se ha de abrir el programa. SW_SHOWNORMAL lo muestra como se abre por defecto. Aquí hay una lista con los parámetros con que puedes abrir la aplicación:
Para poder usar ShellExecute tienes que incluir la librería ShellAPI a tus uses, ya que esta función se encuentra en esta librería. Luego es fácil de usar, te lo pongo tal y como está en Trucomania: [/delphi] ShellExecute(Form1.Handle,nil,PChar('c:\web\index.htm'),'','',SW_SHOWNORMAL); [delphi] De esta función no te puedo decir tanto, sólo que indagues por la librería ShellAPI y por Google. |
#4
|
||||
|
||||
Hola,
Me permito recuperar el mensaje que Bicho había borrado (tal vez porque se percató que se trataba de C++ Builder y no sobre Delphi) porque creo que la respuesta es válida tanto para Delphi como para C++ Builder. |
#5
|
||||
|
||||
Perdona DEC ya lo he vuelto a modificar, tienes toda la razón.
Lo escribí antes de darme cuenta que era de C++ y no de Delphi. De todos modos busque en los foros de C++ y la función también es SehllExecute con lo cual parace que también sirve. Gracias y disculpa las molestias |
#6
|
|||
|
|||
Yo no me habia dado cuenta de que estaba en el foro de C++ Builder... Lo siento, no se si sirve...
|
#7
|
||||
|
||||
Hola,
Cita:
Cita:
|
#8
|
||||
|
||||
Bravo
Bravo bravísimo DEC, no habia caido en el tema del API de Windows y que Builder y Delphi compartieran la VCL.
Me quito el sombrero. Muchas gracias y saludos |
#9
|
||||
|
||||
Hola,
Cita:
|
#10
|
||||
|
||||
No, tranquilo DEC, pero gracias, ahora por suerte tenemos un sol espléndido :-) en la isla, no me hace falta el sombrero, pero al pringao de turno le toca trabajar hasta las 18 cuando toda la empresa se ha ido ya.
Saludos desde mi cubículo |
#11
|
||||
|
||||
Hola,
Cita:
|
#12
|
||||
|
||||
Siendo en C++ se puede usar la función system la cual ejecuta comando del SO, por eso se puede hacer system("X:\\Ruta\\archivo.exe"); e incluso darle sus parámetros ahí mismo
Saludos
__________________
Los Estados Unidos parecen destinados por la Providencia para plagar la América de miserias a nombre de la libertad." Simón Bolívar (Carta al Coronel Inglés Patricio Cambell 05/08/1829). |
#13
|
||||
|
||||
Hola,
Cita:
|
#14
|
||||
|
||||
????
Siempre ayudarè en lo q mi tiempo me permita a la raza (gente de la borland )
__________________
Los Estados Unidos parecen destinados por la Providencia para plagar la América de miserias a nombre de la libertad." Simón Bolívar (Carta al Coronel Inglés Patricio Cambell 05/08/1829). |
#15
|
|||
|
|||
muchas gracias a todos por echarme una mano con esto por cierto sabriais hacer que se habra una aplicacion definida en un TEdit en otros palabras k se ejecute la direccion indicada en el Edit y tambien k si el archivo no se encuentra o falla al abrirse muestre un cuadro de advertencia gracias por todo y feliz año nuevo :P
Última edición por Drake fecha: 31-12-2005 a las 15:30:24. |
#16
|
||||
|
||||
Hola,
A ver si algo así te da alguna idea: Código:
#include <Windows.hpp> #include <ShellApi.hpp> void __fastcall TForm1::Button1Click(TObject *Sender) { if (FileExists(Edit1->Text)) { ShellExecuteA(Handle,"open",Edit1->Text.c_str(),NULL,NULL,SW_SHOWNORMAL); } else { ShowMessage("Asegúrate de que existe el programa que quieres ejecutar"); } } |
#17
|
|||
|
|||
wenas de nuevo todo funciona como keria pero al cargar una aplicacion con las anteriores llamadas la aplicacion k es llamada no puede cargar archivos de configuracion y demas es decir si ejecuto la aplicacion de forma normal todo bien pero si la llamo mediante codigo con un TButton o de cualkier otra forma mediante codigo en un evento falla la carga de los archivos llamados por la aplicacion k se ha llamado ¿por k sucede esto?
|
#18
|
||||
|
||||
Hola,
Drake, te ha quedado un buen galimatías. Yo no entiendo ni los míos, así que ya me dirás. A ver. Si yo "llamo" a una aplicación, pongamos el bloc de notas, desde mi programa, haciendo uso de la función "ShellExecute", el que el bloc de notas "falle" no tiene que ver con mi "llamada" al mismo. Eso, o algo se escapa. ¿No podrías copiar el código fuente tal como estás tratando de utilizarlo? Creo que podría ser de mucha utilidad aquí. |
#19
|
|||
|
|||
No se eske segui mirando y nada si ejecuto el programa todo perfecto el programa lo k hace es ejecutar el siguiente codigo:
Código:
Memo1->Lines->LoadFromFile("datos.txt"); |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
|