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!
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
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)