Te cuento, los datos los envio a través del archivo bat que yo cree, que es el siguiente:
C:\
cd..
cd ncbi-blast\sequence
blastall -p blastx -d globins -i fugu_globin>resultados_test
donde en la última línea, blastall es el programa que yo quiero ejecutar, blastx vendría siendo la sentencia dentro de ese programa que quiero ejecutar, globins es la base de datos que le paso y fugu_globin mi entrada, y guardo los resultados en el archivo resultados_test. Esto yo lo hice con un archivo bat porque se ejecuta en DOS. Si te fijás en la función ExecuteFile:
ExecuteFile(const FileName, Params, DefaultDir: string; ShowCmd: Integer): THandle;
Params son los parámetros de entrada - salida del programa que vos querés ejecutar, pero es necesario que el programa a ejecutar tenga parámetros de salida para poder obtener una salida, en mi caso, si yo hubiera podido ejecutar directamente el programa en vez de usar un archivo bat, habria sido:
ExecuteFile('blastall', '-p blastx -d globins -i fugu_globin>resultados_test', 'c:/ncbi-blast\sequence' , SW_SHOWNORMAL)
pero esto Delphi no me lo aceptaba, no sé porque.
La cuestión es que los datos que yo necesito recibir a Delphi, en realidad están guardados en un archivo (resultados_test), que tengo que leer desde Delphi.
Espero que se haya entendido.
Saludos
Erika
|