Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Windows (https://www.clubdelphi.com/foros/forumdisplay.php?f=26)
-   -   Pasar parametros del programador de tareas a aplicación Delphi (https://www.clubdelphi.com/foros/showthread.php?t=95933)

Diego200519 31-10-2022 20:33:42

Pasar parametros del programador de tareas a aplicación Delphi
 
Hola compañeros, un cordial saludo y espero se encuentren bien.

Estoy aquí para ver si me podrían ayudar con un problema, necesito elaborar un programa en delphi 10.2 que, usando Report Builder se ejecute todos los días a la misma hora para generar y enviar un reporte.

Pense en usar el programador de tareas de windows 10 para esto (no se si sea lo más apropiado), pero para eso tengo que programar la tarea junto con los datos del reporte, es decir, el nombre del archivo y la dirección en el disco duro, hasta ahora estaba intentando poner los parametros desde el programador de tareas en el campo de argumentos al momento de crear la tarea pero no he encontrado una forma de pasar esos argumentos a parametros en delphi, he buscado el documento en el cual windows guarda la tarea y tiene la siguiente presentación:

Código:

    <Date>2022-10-28T23:31:24.8269899</Date>
    <Author>DIEGOE\diego</Author>
    <URI>\12</URI>
  </RegistrationInfo>
  <Triggers>
    <CalendarTrigger>
      <StartBoundary>2022-10-28T23:31:08.1427293</StartBoundary>
      <Enabled>true</Enabled>
      <ScheduleByDay>
        <DaysInterval>1</DaysInterval>
      </ScheduleByDay>
    </CalendarTrigger>
  </Triggers>
  <Principals>
    <Principal id="Author">
      <RunLevel>LeastPrivilege</RunLevel>
      <UserId>DIEGOE\diego</UserId>
      <LogonType>InteractiveToken</LogonType>
    </Principal>
  </Principals>
  <Settings>
    <MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
    <DisallowStartIfOnBatteries>true</DisallowStartIfOnBatteries>
    <StopIfGoingOnBatteries>true</StopIfGoingOnBatteries>
    <AllowHardTerminate>true</AllowHardTerminate>
    <StartWhenAvailable>false</StartWhenAvailable>
    <RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
    <IdleSettings>
      <Duration>PT10M</Duration>
      <WaitTimeout>PT1H</WaitTimeout>
      <StopOnIdleEnd>true</StopOnIdleEnd>
      <RestartOnIdle>false</RestartOnIdle>
    </IdleSettings>
    <AllowStartOnDemand>true</AllowStartOnDemand>
    <Enabled>true</Enabled>
    <Hidden>false</Hidden>
    <RunOnlyIfIdle>false</RunOnlyIfIdle>
    <WakeToRun>false</WakeToRun>
    <ExecutionTimeLimit>P3D</ExecutionTimeLimit>
    <Priority>7</Priority>
  </Settings>
  <Actions Context="Author">
    <Exec>
      Command>"C:\Users\diego\Documents\Embarcadero\Studio\Projects\Prueba de Componentes\Win32\Debug\pPru.exe"</Command>
      <Arguments>1 2 3 4</Arguments> (Estos son los argumentos que quiero pasar como parametros)
    </Exec>
  </Actions>
</Task

En fin, basicamente ese sería el problema que se me presenta, quiero pasar dichos argumentos como parametros a delphi cuando se ejecute la aplicación desde el programador de tareas, espero haberme expresado de la manera correcta y que haya quedado claro ;).

De antemano, si me pueden orientar en este tema, muchas gracias :D

Casimiro Notevi 31-10-2022 21:18:17

Creo que lo que quieres es ejecutar tu programa pasándole parámetros, algo así como:
Código:

miprograma.exe  param1 param2
¿Es eso?
Puedes buscar por las palabras ParamStr y ParamCount.

Diego200519 01-11-2022 15:50:09

Buenas Casimiro, gracias por responder, exactamente eso es lo quiero, pero no he dado el como seleccionar los parametros que le paso con el programador de tareas, he buscado sobre el tema pero solo he conseguido la respuesta, quería saber si había alguna manera que, cuando mi aplicación sea llamada por el programador de tareas reciba los argumentos de la tarea como los parametros del programa al momento de ejecutar.

Espero harme explicado con claridad :D

movorack 01-11-2022 17:06:58

Puede que esta respuesta te ayude en algo:

https://superuser.com/questions/1358...iple-arguments

Diego200519 01-11-2022 21:02:45

Muchas gracias, enseguida lo reviso a ver que consigo :D


La franja horaria es GMT +2. Ahora son las 04:56:55.

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