segunda-feira, 17 de janeiro de 2022

Curriculo curso Windev mobile - Individual Particular

1a aula

2a aula


Curriculo Curso Individual - Particular

Tempo Aula - 1:30 Hora  - Horario Aula: Livre - Entre as 09:00 ate as 12:00
Inicio 17-01 a 08-02 
Total Aulas 18

Aula 01 - Variaveis          17-01  
          https://youtu.be/joXSyiRj_pM    Video 3411
Aula 02 - Condicoes          18-01 
          https://youtu.be/UmPgwzmnYVU    Video 3412
Aula 03 - Loop - for - while 19-01
          https://youtu.be/vn-gN2kc65o    video 3415
Aula 04 - Procedures         20-01
          Procedures / Procedures Parametros / Opcionais ou Obrigatorias / Procedures Internas  
          https://youtu.be/veleG5ebif4    video 3417 
Aula 05 - Hyperfile Analise  21-01 
          Cadastros - Empresa-Estado-produtos-cliente  
  Pedidos - Itens pedido
  Notas fiscais - itens nota
  Relacionamentos
  https://youtu.be/qKSJ24ArUz4    video 3419
Aula 06 - Inicio Projeto    24-01
          Relatorio 
          Tabela
          Grafico   
           https://youtu.be/GQO0P36xpno - Video 3425
Aula 07 - Relatorios        25-01  
          https://youtu.be/XQ0LKZXCKfc    video 3426
Aula 08 - Pivo         26-01
          https://youtu.be/z-qMdXaXhmQ    video 3427
Aula 09 - Criar projeto Erpcurso 27-01
Aula 10 - Criar wdl ou componente 28-01
          Inicio Mobile 
Aula 11 - tela login     31-01 
           https://youtu.be/ZpDa-HtE560   video 3486   
Aula 12   Looper - Menu          31-01 
           https://youtu.be/YwZZqrkPaoo   video 3494
Aula 13   Formnulario            01-02 
          https://youtu.be/evflKef6B7g   video 3495
Aula 14   Pedido                 02-02   
          https://youtu.be/e3YdazOwl84    video 3506 
Aula 15   Pedido continua        03-02 
    https://youtu.be/nQY-VJ3c-bE    video 3512
Aula 16   Gerar Apk              04-02
  https://youtu.be/L2-fL5qFJik    video 3514
Aula 17   Foto - Barra progresso - Mapa   07-02
          https://youtu.be/sl_RhWb3XVQ    video 3533
Aula 18   Conexao -                       08-02
          Essa aula sera vista antes   
          https://youtu.be/5r9hLpJyuQU    video 3540
  Final do curso 
---------------------------------------------------------   
  
  
  

sábado, 15 de janeiro de 2022

codigo elgin pay - windev Mobile

----- Codigo Windev Mobile

====================

// botao btn efetua transacao
EDT_RESPOSTA  = ""
SetFocus(BTN_Efetua_Transação)
gsRetTef = ""


SWITCH COMBO_OPERAÇÃO
CASE 1     // Administrativo
Elgin_OperacoesAdministrativas()
CASE 2 // Débito
Elgin_PagamentoDebito(CurrencytoStrinSV(EDT_Valor))
CASE 3 // Crédito
Elgin_PagamentoCredito(CurrencytoStrinSV(EDT_Valor),COMBO_Financiam,Val(EDT_Parcelas))
// Elgin_PagamentoCredito(EDT_Valor,COMBO_Financiam)
CASE 4 // Cancelamento
Elgin_Cancelamento(CurrencytoStrinSV(EDT_Valor))
END

LOOP
IF gsRetTef <> "" THEN BREAK
Multitask(10)
END

EDT_RESPOSTA.Value  = gsRetTef
respJson is JSON = gsRetTef
sRet is ANSI string = ""


sRet +="aidCartao: " +                          respJson.aidCartao + CRLF
IF  respJson.comprovanteGraficoDisponivel = True THEN sRet +="comprovanteGraficoDisponivel: Sim" + CRLF ELSE sRet +="comprovanteGraficoDisponivel: Não" + CRLF
sRet +="modalidadeTransacao: " +            respJson.modalidadeTransacao + CRLF
sRet +="CodigoAutorizacao: " +              respJson.CodigoAutorizacao + CRLF
sRet +="CodigoAutorizacaoOriginal: " +      respJson.CodigoAutorizacaoOriginal + CRLF
sRet +="IdentificadorTransacaoAutomacao: "+ respJson.IdentificadorTransacaoAutomacao + CRLF
sRet +="NsuLocal: " +                       respJson.NsuLocal + CRLF
sRet +="ModoEntradaCartao: " +              respJson.ModoEntradaCartao + CRLF
sRet +="PanMascarado: " +                   respJson.PanMascarado + CRLF
sRet +="DataHoraTransacao: " +              respJson.DataHoraTransacao + CRLF
sRet +="ComprovanteCompleto: " +            respJson.ComprovanteCompleto + CRLF
sRet +="DataHoraTransacaoOriginal: " +      respJson.DataHoraTransacaoOriginal + CRLF
sRet +="NomeCartao: " +                     respJson.NomeCartao + CRLF
//sRet +="ComprovanteReduzidoPortador: " +    respJson.ComprovanteReduzidoPortador + CRLF
sRet +="DocumentoFiscal: " +                respJson.DocumentoFiscal + CRLF
sRet +="ValorTroco: " +                     respJson.ValorTroco + CRLF
sRet +="ValorDesconto: " +                  respJson.ValorDesconto + CRLF
sRet +="IdentificadorEstabelecimento: " +   respJson.IdentificadorEstabelecimento + CRLF
sRet +="NomeProvedor: " +                   respJson.NomeProvedor + CRLF
sRet +="Operacao: " +                       respJson.Operacao + CRLF
sRet +="TipoCartao: " +                     respJson.TipoCartao + CRLF
sRet +="TipoFinanciamento: " +              respJson.TipoFinanciamento + CRLF
sRet +="NumeroParcelas" +                   NoSpace(NumToString(respJson.NumeroParcelas)) + CRLF
sRet +="DataPredatado: " +                  respJson.DataPredatado + CRLF
//info("ComprovanteDiferenciadoLoja: ", "respJson.ComprovanteDiferenciadoLoja")
//Info("ComprovanteDiferenciadoPortador: ", "respJson.ComprovanteDiferenciadoLoja")
// sRet +="ComprovanteDiferenciadoPortador: "+ respJson.ComprovanteDiferenciadoPortador + CRLF
sRet +="MensagemResultado: " +              respJson.MensagemResultado + CRLF
sRet +="CodigoMoeda: " +                    respJson.CodigoMoeda + CRLF
sRet +="ValorTotal: " +                     respJson.ValorTotal + CRLF
sRet +="ValorOriginal: " +                  respJson.ValorOriginal + CRLF
sRet +="NsuHost: " +                        respJson.NsuHost + CRLF
sRet +="IdentificadorPontoCaptura: " +      respJson.IdentificadorPontoCaptura + CRLF
IF respJson.InformacaoConfirmacao = True THEN sRet +="InformacaoConfirmacao: Sim" + CRLF  ELSE sRet +="InformacaoConfirmacao: Não" + CR
sRet +="ViasImprimir: " +                   respJson.ViasImprimir + CRLF
sRet +="ResultadoTransacao: " +             NoSpace(NumToString(respJson.ResultadoTransacao)) + CRLF
sRet +="ModoVerificacaoSenha: " +           respJson.ModoVerificacaoSenha + CRLF
sRet +="NsuLocalOriginal: " +               respJson.NsuLocalOriginal + CRLF
sRet +="CodigoRespostaProvedor: " +         respJson.CodigoRespostaProvedor + CRLF
sRet +="IdentificadorConfirmacaoTran: "+    respJson.IdentificadorConfirmacaoTransacao + CRLF
IF respJson.existeTransacaoPendente = True THEN sRet +="existeTransacaoPendente: Sim" + CR  ELSE sRet +="existeTransacaoPendente: Não" + CR
sRet +="SaldoVoucher: " +                   respJson.SaldoVoucher + CRLF
sRet +="ValorDevido: " +                    respJson.ValorDevido + CRLF
sRet +="NomeEstabelecimento: " +            respJson.NomeEstabelecimento + CRLF
sRet +="PanMascaradoPadrao: " +             respJson.PanMascaradoPadrao + CRLF
sRet +="NomeCartaoPadrao: " +               respJson.NomeCartaoPadrao + CRLF
sRet +="NomePortadorCartao: " +             respJson.NomePortadorCartao + CRLF
sRet +="ModalidadePagamento: " +            respJson.ModalidadePagamento + CRLF
sRet +="IdentificacaoPortadorCarteira: " +  respJson.IdentificacaoPortadorCarteira + CRLF
sRet +="nsuTransacao: " +  respJson.nsuTransacao + CRLF

EDT_RESPOSTAdet.Value  = sRet
// Campos a serem enviados NSU AUTOR DATA/HORA BANDEIRA NRO CARTAO NOME AID ---- PARA COMPUTACAO NOPEADOR E TIPO PAGAMENTO
// BANDEIRA = NomeCartao
// AUTOR = CodigoAutorizacao
// DATAHORA = DataHoraTransacao
// NSU = nsuTransacao

// ----------------NOVOS
//NomePortadorCartao = ROSSI/VALDIR CASSIO
// AId - aidCartao
// PDC = IdentificadorPontoCaptura
//-----------------CAIXA
//Forma de pagamento = NomeProvedor +    TipoCartao (C ou D)

===================

Codigo em Java

===================

import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import android.app.Activity;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;

import android.content.Context;
import android.os.Handler;
import android.os.Looper;
import android.os.Message;
import android.widget.Toast;
import android.view.View;

import com.elgin.e1.Pagamento.ElginPay;


public static String Elgin_PagamentoDebito(String sValor)
{
final String retorno = ""; 
ElginPay debito = new ElginPay();
Activity obj = getCurrentActivity();
Handler handler = new Handler(Looper.getMainLooper()) {
@Override
public void handleMessage(@NonNull Message msg) 
{
super.handleMessage(msg);
final String saida = (String) msg.obj;
String retorno = callWLProcedure_String("TrataSaidaHandle",saida);
}
};
debito.iniciarPagamentoDebito(sValor, obj, handler);
return retorno;
};

// Summary: <specify the procedure action>
// Syntax:
// Elgin_PagamentoDebito ()
//
// Parameters:
// sValor= valor a ser debitado
// Return value: callback Json
//procedure Elgin_PagamentoDebito(sValor)

==================










segunda-feira, 29 de novembro de 2021

Curso Webdev - Inicio 2-12-2021

Curriculo Webdev

O curso, seguira os mesmos moldes do windev e mobile
As aulas, sao ao vivo, nas segundas e quintas ,
das 19 as 21 horas.
Todas as aulas sao gravadas no youtube no modo privado,
e ficam disponivel 
aula comeca dia 02/12/2021
Teremos um recesso no natal e ano novo 
as aulas do mobile e webdev, vao ate dia 16/12/2021
e voltao dia 11/01/2022
Serao 11 Aulas 
Valores Curso:
Para quem ja´é aluno o valor é 250,00
Para quem é novo aluno o valor é 400,00
Assuntos do Curso:
Login
---> Quando abrir login, vamos ver se é um desenvolvedor ou Usuario
     --> Se for desenvolvedor, vamos abrir varias opcoes de banco de dados, testes e clientes
--> Se for usuario, vai abrir somente o banco do cliente 
Opcao para Selecionar empresa - Sistema MultiEmpresa
Fazer Menu do Sistema ErpCurso
      Cadastros -> Empresa, Cliente , estado, Produtos
      Pedidos 
Fazer Menu hamburger Para celular e tablet   
Vamos fazer template para o menu 
Vamos aprender a substituir o template 
Como fazer Layout Para Desktop ou Mobile 
Exemplo: Vamos fazer um pedido que vai ocupar toda tela 
         Vamos fazer um pedido que vai ocupar tela celular ou tablet
Vamos ver como fazer responsivo
Como Fazer Relatorios Webdev  
Como fazer filtros em relatorios
Como fazer TAbela Pai e Filho com table 
Como fazer consulta na tela, por datas e outros filtros 
Como fazer totalizadores na tela, por dia na consulta
Como usar popup 
Como usar jquery 
Como usar javascript
Como usar css
No final do curso, vamos ver a integracao total 
do Desktop Windev, Android Windev Mobile , e Webdev 
Todos com as mesmas informacoes. o que tiver num estara no outro .
Durante o curso, assuntos novos serao inseridos, conforme
a integração com os alunos, e isso ja fizemos no windev e mobile .
o curso pode ser extender em mais 2 ou 4 aulas , depedendo do 
andamento do curso.

Alunos ja inscritos

Amarildo 

Claudio Mesa

Lino

Jedson

Josevaldo

Helena 

Paulo Vitar

Valdir

Wilson

Matheus


















segunda-feira, 8 de novembro de 2021

video 3490 - windev mobile - android - barra de progresso






https://www.youtube.com/watch?v=0pzBg4PuMyE





Bom Dia Boa Tarde Boa Noite

Mande um email pedido para receber todas notificaçoes dos videos 

==============================================================

Seja Membro do Canal e tenha direito a consultorias com precos diferenciados
https://www.youtube.com/channel/UCQGPHrppG5XKoRbeOIgLJEA/join


Esse Video vai estrear as 14:00 do dia 08/11/2021

video 3490 - windev mobile - android - barra de progresso





Fonte do exemplo versao 26 no Repositorio 



Fonte do exemplo versao 21 no Repositorio 

Assuntos:
00:00:00 Inicio
00:00:31 Criando uma nova window barra progresso 
00:00:50 Criando um botao 
00:01:00 Criando barra progresso 
00:01:24 Entrando no codigo do botao
00:01:42 Configurando valor maximo e minimo barra progresso
00:02:11 Criando variavel contador 
00:02:17 Criando Loop 
00:02:23 Contador e aplicar esse contador na barra progresso 
00:02:37 Explicando do codigo 
00:03:10 Monstrando no celular a barra de progresso 
00:03:25 Seja membro do canal Amarildo Matos

------------------

// barra de progresso


PROGBAR_barra_progresso..MaxValue=1000
PROGBAR_barra_progresso..MinValue=1
nContador is int=0
LOOP(1000)
nContador++
PROGBAR_barra_progresso=nContador
END













Teste

Teste
teste