segunda-feira, 18 de janeiro de 2021

DICAS 3247 - WINDEV - PERGUNTAS E RESPOSTAS 9 - Como realizar uma navegação completa no arquivo



https://youtu.be/7dYte-uU1Sc



Bom Dia Boa Tarde Boa Noite

Seja Membro do Canal

Esse Video Ao Vivo vai estrear as 19:00 do dia 21/01/2021 

DICAS 3247 - WINDEV - PERGUNTAS E RESPOSTAS 9 - Como realizar uma navegação completa no arquivo?


ASSUNTOS


How to perform a full file browse?
Como realizar uma navegação completa no arquivo?

VAMOS CRIAR UMA PAGINA CHAMADA NAVEGACAO ARQUIVOS
VAMOS CRIAR UM BOTAO - LENDO ARQUIVOS COM FUNCOES
VAMOS CRIAR UMA TABELA POR PROGRACAO COM DUAS COLUNAS, CODIGO E NOME 
VAMOS ENTRAR PROPRIEDADE TABELA E QUE A COLUNA DO NOME, SE EXTENDA, NO CASO COLUNA 2
VAMOS ENTRAR NO CODIGO DO BOTAO 
VAMOS USAR OS COMANDOS , HReadFirst,HOut,HReadNext
VAMOS CRIAR OUTRO BOTAO - LENDO ARQUIVO COM FOR EACH 
ENTRAR NO CODIGO DO Botao
VAMOS FAZER O CODIGO USANDO FOR EACH 


=============
//btn_lendo_arquivos_com_funcoes
TABLE_EMPRESA.DeleteAll() // eliminado dados da tabela
HReadFirst(empresa_v26,empresa_v26ID) // é usado para acessar o primeiro registro de acordo com a chave de pesquisa.
WHILE NOT HOut(empresa_v26) // é usado para descobrir se o fim do arquivo foi atingido.
TABLE_EMPRESA.AddLine(empresa_v26.empresa_v26ID,empresa_v26.nome) // adicionado dados na tabela
HReadNext(empresa_v26) // proximo registro
END
ToastDisplay("finalizado arquivo empresa",toastLong,vaMiddle,haCenter) // mensagem
================
// lendo arquivo com for each 

TABLE_EMPRESA.DeleteAll() // eliminado dados da tabela

FOR EACH empresa_v26  // percorre o arquivo empresa ate o final

TABLE_EMPRESA.AddLine(empresa_v26.empresa_v26ID,empresa_v26.nome) // adicionado dados na tabela
END
ToastDisplay("finalizado arquivo empresa",toastLong,vaMiddle,haCenter) // mensagem
===============
// lendo arquivo com for each invertido

TABLE_EMPRESA.DeleteAll() // eliminado dados da tabela

FOR EACH empresa_v26 FromEnd  // percorre o arquivo empresa do final ate o inicio
TABLE_EMPRESA.AddLine(empresa_v26.empresa_v26ID,empresa_v26.nome) // adicionado dados na tabela
END

ToastDisplay("finalizado arquivo empresa",toastLong,vaMiddle,haCenter) // mensagem-----------

----
















=============== INDICE PERGUNTAS E RESPOSTA





PlayList WebDev tutorial Amarildo Webdev
Playlist Windev Tutorial Amarildo Windev
PlayList Windev Mobile 
Amarildo
Donwloads Windev
Windev
WxSolucoes
Matos Informatica
Repositorio Windev
Inscricao Evento Pcsof
Site forum Google 
Video sobre 3 Mil Videos Windev 
Video sobre Alfaserver servidor 












Como realizar uma navegação completa no arquivo?
How to perform a full file browse
Visão geral
Dois métodos podem ser usados ​​para realizar a navegação completa de um arquivo de dados:
Método 1: funções de navegação
Este método usa as funções WLanguage para navegar pelos arquivos de dados:
Neste método:
  • HReadFirst é usado para acessar o primeiro registro de acordo com a chave de pesquisa.
  • HReadNext é usado para acessar o próximo registro (na ordem da chave de pesquisa).
  • HOut é usado para descobrir se o fim do arquivo foi atingido.
Observação : Você tem a capacidade de usar HReadLast e HReadPrevious para realizar uma navegação na ordem inversa.

Exemplo

// Navegue por todos os registros do arquivo do cliente
// classificados por nome do cliente.

HReadFirst(CUSTOMERCustomerName)
WHILE not HOut(CUSTOMER)
    // Processa o registro CUSTOMER
HReadNext(CUSTOMERCustomerName)
END

Método 2: FOR EACH declaração
instrução FOR EACH é usada para navegar pelos registros encontrados em um arquivo de dados. No nosso caso, esta instrução será usada para ler os registros encontrados em um arquivo de dados.
instrução FOR EACH espera os seguintes parâmetros:
  • o nome do arquivo para navegar
  • o nome do índice (ou chave) para classificar os registros
O primeiro registro e o próximo registro são lidos pela instrução FOR EACH. Não há necessidade de usar as funções HReadXXX.
Observação : A palavra DESC permite que você execute uma navegação na ordem inversa.

Exemplo de código

// Navegue por todos os registros do arquivo do cliente.
// Navegar classificado por nome crescente
FOR EACH CUSTOMER ON CustomerName
    // Processar o registro do CLIENT

END

domingo, 17 de janeiro de 2021

DICAS 3246 - WINDEV - PERGUNTAS E RESPOSTAS 8 - JSON - BUSCA CNPJ - TUTORIAL - RESPONDENDO LAIB AKRAM

https://youtu.be/bmopPOt_eTM



Bom Dia Boa Tarde Boa Noite

Seja Membro do Canal

Esse Video Ao Vivo vai estrear as 19:00 do dia 20/01/2021 

DICAS 3246 - WINDEV - PERGUNTAS E RESPOSTAS 8 - JSON - BUSCA CNPJ - TUTORIAL - RESPONDENDO LAIB AKRAM

https://help.windev.com/en-US/?1000023611&name=TYPE_JSON
https://windevdesenvolvimento.blogspot.com/2021/01/dicas-3246-windev-perguntas-e-respostas.html


ASSUNTOS


httprequest 
json 
foi criado um projeto novo que estara disponivel
no repositorio windev 
utilitarios_amarildo_matos_windev
https://repository.windev.com/
vamos criar uma window busca cnpj
vamos criar um edt cnpj 
vamos criar um edit endereco busca 
vamos criar um botao busca cnpj receita
vamos criar um botao para mostrar no site 
vamos criar um edt retorno 
vamos criar 3 stc , razao social, cnpj , e atividade para mostrar o retorno 
vamos entrar codigo busca cnpj 
vamos dar um httprequest receita para busca cnpj 
o retorno vira em formato json
vamos preencher os campos com o retorno do json 
vamos aprimorar. um pouco 
vamos criar uma procedure global, busca_cnpj_receita
vamos buscar o cnpj pela procedure
vamos testar 

 
=============
// BTN_BUSCA_CNPJ_RECEITA

(EDT_Endereco_busca,EDT_Retorno,STC_Razao_social,STC_Cnpj,STC_Atividade_empresa)=cnpj_busca_receita(EDT_Cnpj)

-----------

//PROCEDURE cnpj_busca_receita(recebe_cnpj)
DADOS_JSON is a JSON = "" // VAMOS CRIAR UMA STRING URL COM ENDERECO DA RECEITA
URL is string = "https://www.receitaws.com.br/v1/cnpj/" // VAMOS JUNTAR O NUMERO DO CNPJ COM O ENDERECO
URL+=recebe_cnpj
IF HTTPRequest(URL) THEN // VAMOS RECUPERAR O RESULTADO DA URL COM HTTPREQUEST
DADOS_JSON = HTTPGetResult() // VAMOS LER O RESULTADO HTTP
DADOS_JSON = UTF8ToAnsi(DADOS_JSON) // CONVERTE string No FORMATO UTF8
END
//VAMOS PEGAR OS DADOS DO JSON //DEPOIS VOU MOSTRAR NO FINAL, COMO PEGUEI OS NOMES DOS CAMPOS 

RESULT (URL,DADOS_JSON,DADOS_JSON.NOME,DADOS_JSON.CNPJ,DADOS_JSON.ATIVIDADE_PRINCIPAL)

// vamos fazer a busca do cnpj
// depois de testado e funcionando
// vamos transformar em procedure para poder ser usado em outros lugares
// VAMOS PRIMEIRO CRIAR A VARIAVEL JSON
// TEM MAIS CAMPOS PARA MOSTRAR MAS FIZ 3 PARA MOSTRAR O FUNCIONAMENTO



=============== INDICE PERGUNTAS E RESPOSTA


======================= INDICE CURSO DO JSON


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





PlayList WebDev tutorial Amarildo Webdev
Playlist Windev Tutorial Amarildo Windev
PlayList Windev Mobile 
Amarildo
Donwloads Windev
Windev
WxSolucoes
Matos Informatica
Repositorio Windev
Inscricao Evento Pcsof
Site forum Google 
Video sobre 3 Mil Videos Windev 
Video sobre Alfaserver servidor 























sábado, 16 de janeiro de 2021

DICAS 3245 - WINDEV - PERGUNTAS E RESPOSTAS 7 - COMO SAIR OU NAO NO POPUP

https://youtu.be/5hdnSA7XWxI



Bom Dia Boa Tarde Boa Noite

Seja Membro do Canal

Esse Video Ao Vivo vai estrear as 19:00 do dia 19/01/2021 

DICAS 3245 - WINDEV - PERGUNTAS E RESPOSTAS 7 - COMO SAIR OU NAO NO POPUP

ASSUNTOS

vamos fazer um popup , em que digitamos um valor 
como exemplo em closing , 
Vamos ver se foi preenchido esse valor 
caso nao foi vamos perguntar se deseja sair 
vamos criar uma janela para chamar o popup e vamos chamar 
vamos testar 

 
=============
// closing win_popup
IF EDT_Valor=0 THEN
IF YesNo("deseja realmente sair ") THEN
ELSE 
ReturnToCapture(EDT_Valor)
END
END
=============


----------------------------- INDICE POPUP














PlayList WebDev tutorial Amarildo Webdev
Playlist Windev Tutorial Amarildo Windev
PlayList Windev Mobile 
Amarildo
Donwloads Windev
Windev
WxSolucoes
Matos Informatica
Repositorio Windev
Inscricao Evento Pcsof
Site forum Google 
Video sobre 3 Mil Videos Windev 
Video sobre Alfaserver servidor 












DICAS 3244 - WINDEV - PERGUNTAS E RESPOSTAS 6 - listselectplus - Como vir preenchido automaticamente combox



https://youtu.be/TSllHlpCjFw



Bom Dia Boa Tarde Boa Noite

Seja Membro do Canal

Esse Video Ao Vivo vai estrear as 19:00 do dia 18/01/2021

DICAS 3244 - WINDEV - PERGUNTAS E RESPOSTAS 6 - listselectplus - Como vir preenchido automaticamente combox


ASSUNTOS


listselectplus - Como vir preenchido automaticamente combox
vamos criar um combox por programacao, onde tera 3 condicoes
Grupo de empresas,descricao e desativado 
e vou querer que ele fique em grupo de empresas
vou mostrar tres formas.
primeiro , em propriedades da combox, contente, valor inicial
segundo , no codigo em inicializacao , combol=numero que deseja 
terceiro , vamos usar selectplus

=======================================
// initializing combo_empresa

ListSelectPlus(COMBO_empresa,2)

//COMBO_empresa=3













PlayList WebDev tutorial Amarildo Webdev
Playlist Windev Tutorial Amarildo Windev
PlayList Windev Mobile 
Amarildo
Donwloads Windev
Windev
WxSolucoes
Matos Informatica
Repositorio Windev
Inscricao Evento Pcsof
Site forum Google 
Video sobre 3 Mil Videos Windev 
Video sobre Alfaserver servidor 












ListSelectPlus (função)
Em francês: ListeSelectPlus
Seleciona um ou mais elementos em um controle List Box (ou ListView) ou em um controle Combo Box.
O elemento é selecionado, mas não é exibido se não estiver visível. Para tornar o elemento selecionado visível, use ListPosition .
Lembrete : O elemento selecionado corresponde ao elemento atual no qual a barra de seleção é exibida.
Observação : ListSelectPlus pode ser usado em:
  • os controles de navegação ou caixa de lista de memória,
  • controles Looper de seleção única ou multisseleção.
Exemplo
// Selecione o elemento encontrado no subscrito 7 em "LIST_CustomerList"
ListSelectPlus LIST_ CustomerList )
Sintaxe
ListSelectPlus (<List Box control> [, <Subscript 1> [... [, <Subscript N>]]])
<List Box control>: Nome do controle
Nome do controle List Box (ou Combo Box) a ser usado.
Se este parâmetro corresponder a uma string vazia (""), o elemento especificado por seu subscrito é selecionado no controle List Box (ou Combo Box) ao qual pertence o evento atual.
WEBDEV - Código do navegador O nome do controle List Box (ou Combo Box) a ser usado deve ser especificado.
<Subscrito 1>: inteiros opcionais
Subscrito do primeiro elemento a ser selecionado.
Se nenhum subscrito for especificado, todos os elementos encontrados no controle List Box ou Combo Box especificado serão selecionados.
ListSelectPlus não tem efeito se esses parâmetros corresponderem a elementos já selecionados.
<Subscript N>: Número inteiro opcional
Subscrito do enésimo elemento a ser selecionado.
Se nenhum subscrito for especificado, todos os elementos encontrados no controle List Box ou Combo Box especificado serão selecionados.
ListSelectPlus não tem efeito se esses parâmetros corresponderem a elementos já selecionados.
Observações

Último elemento

Para posicionar no último elemento do controle List Box, use a seguinte sintaxe:
ListSelectPlus (<controle de caixa de listagem>, <controle de caixa de listagem> .. Contagem)
ou
<Controle de caixa de listagem> = <controle de caixa de listagem> .. Contagem
ou
<List Box control> = ListCount (<List Box control>)

Equivalência

Para um controle List Box de seleção única sem chamar gLink , as duas sintaxes a seguir são equivalentes:
ListSelectPlus (<controle List Box>, <Subscript>)
e
<Controle da caixa de listagem> = <Subscript>

Diversos

  • Para selecionar um elemento em um controle Table, use TableSelectPlus .
  • ListSelectPlus pode ser usado em uma coluna da tabela "Combo Box".
  • ListSelectMinus permite que você desmarque os elementos de um controle List Box ou Combo Box.
WEBDEV - Código do servidorWEBDEV - Código do navegadorAjax 

Selecionando um elemento em um controle List Box que pertence a um controle Looper

Para selecionar um elemento em um controle List Box incluído em um controle Looper, você deve:
  1. Declare um atributo do controle Looper no valor do controle List Box.
  2. No código de um botão (por exemplo), especifique o novo valor do atributo para a linha solicitada.
Por exemplo, se o atributo for ATT_SELECTROW, o código a seguir será usado para selecionar o 3º elemento do controle List Box na 4ª linha:
ATT_ SELECTROW ] = 3
Este código pode ser usado no código do servidor e no código do navegador.

Teste

Teste
teste