sexta-feira, 28 de janeiro de 2022

VIDEO 3596 - nov27 9 - StringDeleteDuplicate - Remove duplicidade entre substring de uma string





Video estreia dia 31 01 2022


Menu dos videos webdev windev mobile



Video Youtube




Help:


Blog 




---------------------------- codigo


// tira duplicidade 1 linha
EDT_Resposta=StringDeleteDuplicate(EDT_texto,"|")
// tira duplicidade todas linhas
EDT_Resposta=StringDeleteDuplicate(EDT_texto,["|",CR])








quinta-feira, 27 de janeiro de 2022

VIDEO 3594 - nov27 8 - PDFAddImage - Adiciona uma imagem a uma página em um arquivo PDF existente





Video estreia dia 28 01 2022


Menu dos videos webdev windev mobile



bom dia
Hoje vamos ver uma grande novidade
como colocar imagen no arquivo pdf existente 

Video Youtube




VIDEO 3594 - nov27 8 - PDFAddImage   - Adiciona uma imagem a uma página em um arquivo PDF existente

Help 

Blog 

 Repositorio windev


------------ codigo
// colocar imagen no pdf 
meu_pdf is pdfDocument=EDT_Pdf
minha_imagen is Image=IMG_imagen
PDFAddImage(meu_pdf.Page[1],minha_imagen,50,130,150,50,drHomotheticCentered)
PDFSave(meu_pdf,meu_pdf)

Info("pdf pronto")

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








VIDEO 3592 - nov27 7 - PDFAddWatermark - Adiciona marca dagua todas ou uma pagina pdf







Menu dos videos webdev windev mobile


Video




Repositorio Windev

Help

====================== Codigo

// colocar marca dagua relatorio
marca_dagua is Watermark
marca_dagua.Text="Confidencial"
marca_dagua.Font.Name="Arial"
marca_dagua.Position=iCenterH+iBottom
meu_pdf is pdfDocument=EDT_Pdf
PDFAddWatermark(meu_pdf,marca_dagua) //Adiciona Marca Dagua
// Caso queira adicionar em uma pagina somente adicionar .page[numero pagina]
//PDFAddWatermark(meu_pdf.page[1],marca_dagua)
//Vamos Salvar o Relatorio no mesmo nome ou novo
PDFSave(meu_pdf,meu_pdf)
Info("Seu relatorio pronto")

----------------------------------------- Chamar o relatorio


// chamar o relatorio

iPreview(iPDF,EDT_Pdf)
iPrintReport(RPT_cliente)
ShellExecute(EDT_Pdf)

















quarta-feira, 26 de janeiro de 2022

quinta-feira, 20 de janeiro de 2022

Video 3583 - nov27 4 - TableSearchEverywhere - Pesquisa em Todas as Colunas

Video 3583 - nov27 4 - TableSearchEverywhere - Pesquisa em Todas as Colunas









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


POSICAO is int=TableSearchEverywhere(TABLE_CLIENTES,EDT_Pesquisa_varias_colunas,searchContains)
IF POSICAO>0 THEN
// VAMOS SELECIONAR A LINHA
TABLE_CLIENTES=POSICAO
END

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







Video 3582 - nov27 3 - Code Treeview - Windev Webdev Mobile 27




Video 3582 - nov27 4 - Code Treeview - Windev Webdev Mobile 27














quarta-feira, 19 de janeiro de 2022

VIDEO 3581 - nov27 2 - Syntax Help- NOVIDADES VERSAO 27 WINDEV MOBILE WEBDEV




VIDEO 3581 - nov27 3 - Syntax Help- NOVIDADES VERSAO 27 WINDEV MOBILE WEBDEV 























VIDEO 3579 - WINDEV - WEBDEV - MOBILE - BACKUP E RESTORE PROJETOS

VIDEO 3579 - WINDEV - WEBDEV - MOBILE - BACKUP E RESTORE PROJETOS

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)

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










Teste

Teste
teste