PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV 25 → Exemplo Windev com python
Exemplo Windev com python
Started by Boller, Feb., 04 2025 2:56 PM - No answer
Registered member
3,774 messages
Posted on February, 04 2025 - 2:56 PM
Aqui está um exemplo simples que integra WinDev e Python para realizar uma tarefa básica: passar dados do WinDev para um script Python, processá-los, e retornar o resultado para o WinDev. Vamos criar um cenário onde o usuário insere dois números no WinDev, o Python faz a soma, e o resultado é exibido de volta no aplicativo WinDev.

1. Script Python (processamento de dados)

O script Python receberá dois números como argumentos e retornará a soma.

Arquivo: sum_numbers.py

import sys
import json

def main():
if len(sys.argv) != 3:
print(json.dumps({"error": "Dois argumentos são necessários."}))
return

try:
num1 = float(sys.argv[1])
num2 = float(sys.argv[2])
result = num1 + num2
print(json.dumps({"result": result}))
except ValueError:
print(json.dumps({"error": "Os argumentos devem ser números."}))

if __name__ == "__main__":
main()

Salve este arquivo na mesma pasta do projeto WinDev.

2. Código WinDev (chamando o Python)

O código abaixo cria uma janela simples no WinDev onde o usuário pode inserir dois números e clicar em um botão para ver o resultado da soma.

Passos para criar o projeto no WinDev:
1. Crie um novo projeto no WinDev.
2. Adicione uma Janela com os seguintes elementos:
• Dois campos de entrada numérica (EDT_Num1 e EDT_Num2)
• Um botão (BTN_Calcular) com a legenda “Calcular Soma”
• Um campo estático (STC_Resultado) para exibir o resultado
3. No evento “Clique” do botão BTN_Calcular, insira o seguinte código:

// Obter os valores inseridos
nNum1 IS real = EDT_Num1
nNum2 IS real = EDT_Num2

// Definir o caminho do Python e do script
sPythonPath IS string = "python" // Certifique-se que o Python está no PATH ou use o caminho completo
sScriptPath IS string = CompleteDir(fCurrentDir()) + "sum_numbers.py"

// Construir o comando para chamar o Python
sCommand IS string = sPythonPath + " " + sScriptPath + " " + NumToString(nNum1) + " " + NumToString(nNum2)

// Executar o script Python e capturar a saída
sOutput IS string = ExeRun(sCommand, exeReturnStandardOutput)

// Interpretar o resultado (JSON)
IF sOutput ~= "" THEN
JSONResult IS JSON = sOutput
IF JSONResult.result..Exist THEN
STC_Resultado = "Resultado da soma: " + JSONResult.result
ELSE
STC_Resultado = "Erro: " + JSONResult.error
END
ELSE
STC_Resultado = "Erro ao executar o script Python."
END

Explicação do Código:
1. Recebendo Dados do Usuário: O WinDev coleta os números inseridos pelo usuário nos campos EDT_Num1 e EDT_Num2.
2. Chamando o Script Python: O comando ExeRun() executa o script Python, passando os números como argumentos.
3. Capturando e Interpretando a Resposta: O script Python retorna o resultado em formato JSON. O WinDev interpreta o JSON usando a estrutura JSON e exibe o resultado em STC_Resultado.

Executando o Projeto:
1. Certifique-se que o Python está instalado e configurado no PATH do sistema.
2. Salve o script Python (sum_numbers.py) na mesma pasta do seu projeto WinDev.
3. Execute o projeto no WinDev, insira dois números e clique em Calcular Soma.

Isso demonstrará uma integração básica entre WinDev e Python. Se quiser expandir isso para tarefas mais complexas, como processamento de dados, IA ou automação, é só avisar!

--
Adriano José Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 99949 1800
adrianoboller@gmail.com
skype: adrianoboller
http://wxinformatica.com.br/