PAGUE 6 MESES
LEVE 12 MESES
GARANTIR DESCONTO

Fórum winexec passando parâmetros por variável. #611974

16/07/2020

0

boa noite a todos.
Estou tentando rodar curl através da função winexec que busca informações em uma airtable, e o problema é:
Quando passo o comando da forma abaixo ele funciona normalmente,
WinExec('CMD.EXE /C curl "https://api.airtable.com/v0/appwtwRr14SZNUquM/DIGEL_PEDIDOS?filterByFormula=SEARCH(%222020-07-08%22%2CDATA)&api_key=keyjc" > C:\Desktop\PEDIDO.TXT ',SW_SHOWMINIMIZED );

Porém preciso mudar o parâmetro de data do filterByFormula, e quando faço isso não funciona mais, não da erro, mas quando executa não traz nenhum resultado, já tentei das formas abaixo, e em nenhuma delas funcionou.

Passando o comando para a variável vArq
vArq := 'curl "https://api.airtable.com/v0/appwtwRr14SZNUquM/DIGEL_PEDIDOS?filterByFormula=SEARCH(%22' + vAno + '-' + vMes + '-' + vDia + '%22%2CDATA)&api_key=keyjc" > C:\Desktop\PEDIDO.TXT';
WinExec(PAnsiChar('CMD.EXE /C '+vArq), SW_SHOWMINIMIZED);

Trocando a data direto no comando
WinExec(PAnsiChar('CMD.EXE /C curl "https://api.airtable.com/v0/appwtwRr14SZNUquM/DIGEL_PEDIDOS?filterByFormula=SEARCH(%22' + vAno + '-' + vMes + '-' + vDia + '%22%2CDATA)&api_key=keyjc" > C:\Desktop\PEDIDO.TXT'), SW_SHOWMINIMIZED );

Utilizando ShellExecute das formas abaixo
ShellExecute(Handle,'execute','CMD.EXE /C curl "https://api.airtable.com/v0/appwtwRr14SZNUquM/DIGEL_PEDIDOS?filterByFormula=SEARCH(%222020-07-08%22%2CDATA)&api_key=keyjc" > C:\Usersl\Desktop\PEDIDO.TXT ',nil,nil,sw_show);

ShellExecute(Application.Handle, PChar('open'), PChar('c:\cmd.exe'),pchar(' curl "https://api.airtable.com/v0/appwtwRr14SZNUquM/DIGEL_PEDIDOS?filterByFormula=SEARCH(%222020-07-08%22%2CDATA)&api_key=keyjc" > C:\Users\Raul\Desktop\PEDIDO.TXT ') , nil, SW_NORMAL);

ShellExecute(0,nil,'cmd.exe',PWideChar(vArq),nil,SW_SHOW);

Agradeço se alguém puder me ajudar!
Abraços!
Raul Fazekas

Raul Fazekas

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar