Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-12-2010
Bauhaus1975 Bauhaus1975 is offline
Miembro
 
Registrado: may 2005
Ubicación: Málaga
Posts: 135
Poder: 20
Bauhaus1975 Va por buen camino
Question Añadir llamada desde consola a una App normal

Muy buenas de nuevo.
Tiempo hacía que no escribía por aquí. Resulta que tengo una aplicación en BDS 2005 que realiza una serie de cálculos y los vuelca a fichero, La app está basada en formularios normales etc. todo esto perfecto.

Resulta que se requiere llamar a la aplicación por consola de modo que se pudieran aprovechar procesos 'Batch' con diferentes combinaciones de parámetros, para que a partir de uno de estos ficheros con diferentes combinaciones 'al día siguiente' tengamos los resultados en los respectivos ficheros de salida.

No sé si me he explicado bien (Espero que sí), el caso es que mi duda es que no sé como puedo hacer para que desde consola se pueda llamar a un método o proceso particular de la aplicación, con una serie de parámetros, como el fichero de salida etc.

¿Puede alguien ayudarme?
Muchas gracias y un saludo.
Responder Con Cita
  #2  
Antiguo 13-12-2010
luisgutierrezb luisgutierrezb is offline
Miembro
 
Registrado: oct 2005
Ubicación: México
Posts: 925
Poder: 19
luisgutierrezb Va por buen camino
pues lo unico que se me ocurre es que utilices parametros en tu aplicacion de formularios para procesar lo que se mande desde la consola
Responder Con Cita
  #3  
Antiguo 14-12-2010
Bauhaus1975 Bauhaus1975 is offline
Miembro
 
Registrado: may 2005
Ubicación: Málaga
Posts: 135
Poder: 20
Bauhaus1975 Va por buen camino
Gracias luisgutierrezb
¿Pero cómo hago para que cuando se llame el programa desde consola, pueda pasar ejecución a dónde yo quiera?

Un saludo.
Responder Con Cita
  #4  
Antiguo 14-12-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Bauhaus1975 Ver Mensaje
Gracias luisgutierrezb
¿Pero cómo hago para que cuando se llame el programa desde consola, pueda pasar ejecución a dónde yo quiera?
Un saludo.
Según los parámetros que determines, por ejemplo:

miprograma.exe hola

En tu código debes controlar el paramstr[1] en este caso, el [0] es el propio nombre del programa, en este caso "miprograma.exe".
Pues a lo que iba, en el oncreate, por ejemplo, lo controlas:

Código Delphi [-]
if paramstr[1].asstring<>'' then
  showmessage(paramstr[1].asstring);   <--- hacer lo que quieras

Es un ejemplillo tonto, pero para que te hagas una idea.
Responder Con Cita
  #5  
Antiguo 14-12-2010
Bauhaus1975 Bauhaus1975 is offline
Miembro
 
Registrado: may 2005
Ubicación: Málaga
Posts: 135
Poder: 20
Bauhaus1975 Va por buen camino
¡Muy buenas Casimiro Notevi! tiempo si ver a mi vecino...

Voy a probar lo que me recomiendas.
En resumen te refieres a que detecte si se inició el programa desde consola, simplemente si existe algún parámetro, y en ese caso evitar mostrar formularios y llamar al proceso que corresponda. (voy a probarlo)

Gracias y un saludo.
Responder Con Cita
  #6  
Antiguo 14-12-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Sí, efectivamente, y mejor todavía... si el programa no necesita presentación de formularios ni nada... entonces es mejor hacer un programa de "consola".
Responder Con Cita
  #7  
Antiguo 15-12-2010
Bauhaus1975 Bauhaus1975 is offline
Miembro
 
Registrado: may 2005
Ubicación: Málaga
Posts: 135
Poder: 20
Bauhaus1975 Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Sí, efectivamente, y mejor todavía... si el programa no necesita presentación de formularios ni nada... entonces es mejor hacer un programa de "consola".
No puedo hacer el programa entero de consola pues hay una gran maquinaria detrás, y la opción de ejecutar desde consola es para poder trabajar procesos en lote para uno de los cálculos que este programa ofrece.

Bueno, voy a intentarlo y si tengo más dudas ya os planteo mis dudas.
Muchas gracias y un saludo.
Responder Con Cita
  #8  
Antiguo 16-12-2010
Bauhaus1975 Bauhaus1975 is offline
Miembro
 
Registrado: may 2005
Ubicación: Málaga
Posts: 135
Poder: 20
Bauhaus1975 Va por buen camino
Hola de nuevo... Un par de cosillas

Cita:
Empezado por Casimiro Notevi Ver Mensaje
Según los parámetros que determines, por ejemplo:

Código Delphi [-]

if paramstr[1].asstring<>'' then
showmessage(paramstr[1].asstring); <--- hacer lo que quieras

Bueno aclarar por si alguien necesita esta información, que paramstr es una función System.Paramstr(ordParam), en vez de un array, quizás te traiciónó la memoria.
(También creo que puedo usar System.ParamCount para validar los parámetros que vienen)

Pero mi duda ahora es:
No sé como hacer un debug como si hubiera llamado el programa desde consola. He intentado añadir parámetros en 'Run->Parameters' pero creo que esto no tiene nada que ver pues no salta la condición para detectar consola.

¿Alguna idea?... Gracias!
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Llamada desde PC carmelina Varios 0 29-03-2010 13:46:56
modificar un componente de un child desde una ventana normal advancexz OOP 4 17-12-2008 03:48:45
Como abrir una pagina web desde una Tform normal Martha Ayala Internet 3 24-10-2005 22:59:54
Distinto valor de retorno en storedprocedure desde delfi y desde consola sql manolop Firebird e Interbase 4 20-07-2005 17:24:52
Problemas al añadir elementos a una Lista en una aplicación tipo consola judoboy Varios 2 09-06-2003 13:58:48


La franja horaria es GMT +2. Ahora son las 22:15:54.


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