terça-feira, 12 de janeiro de 2021

DICAS 3242 - WINDEV - PERGUNTAS E RESPOSTAS 4 - Existe algum comando que eu consiga contar quantos controles (label, text, e etc) existentes em uma Window - sim - indirection

https://youtu.be/K9ZCHWxJer4



Bom Dia Boa Tarde Boa Noite

Seja Membro do Canal

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

DICAS 3242 - WINDEV - PERGUNTAS E RESPOSTAS 4 - Existe algum comando que eu consiga contar quantos controles (label, text, e etc) existentes em uma Window - sim - indirection


ASSUNTOS


VAMOS CRIAR UMA WINDOWS InDIRECTION
VAMOS CRIAR VARIOS CONTROLES 
VAMOS CRIAR UM BOTAO PARA VERIFICAR QUANTOS CONTROLES EXISTEM
VAMOS ENTRAR NO CODIGO E FAZER OS CODIGOS
VAMOS FAZER UM LOOP EM QUE VAMOS PEGAR CADA NOME DO CONTROLE E SOMANDO
VAMOS MOSTRAR NO FINAL QUANTOS CONTROLES 
============================
nome_controle is string=""
contador is int=1
LOOP 
nome_controle = EnumControl(WIN_idirection, contador)
IF nome_controle="" THEN
contador--
BREAK
ELSE
Trace(nome_controle)
contador++
END
END
Trace("numero de controles:"+contador)
============================















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 usar os operadores indiretos?
How to use the indirection operators?
Visão geral
Os operadores de indireção ( {} ) são usados ​​para manipular um objeto cujo nome é encontrado em uma variável.
Isso permite que você construa programando o nome do objeto que será usado em uma variável e, em seguida, aplique ações para descobrir ou modificar as características desse objeto.
A sintaxe é a seguinte:
{ VariableName, ObjectType }..PropertyName
Onde:
  • VariableName é uma variável de string que contém o nome do objeto a ser usado
  • ObjectType é uma constante indXXX que representa o tipo de objeto a ser usado (controle, variável, janela, etc.)
Consulte Operadores de indireção para obter mais detalhes.
Exemplos de aplicação
ControlName is string
ControlName = "EDT_NAME"
 
// Alterar a cor de fundo do controle cujo nome é EDT_NAME
{ControlName, indControl}..BackgroundColor = LightRed
// Limpa os controles de edição de TEXTO em uma janela
nSub is int = 1
sControlName is string

sControlName = EnumControl(WIN_Table, nSub)
WHILE sControlName<>""
IF {sControlName, indControl}..Type = typInputText THEN
{sControlName, indControl} = ""
END

nSub++
sControlName = EnumControl(WIN_Table, nSub)
END

segunda-feira, 11 de janeiro de 2021

DICAS 3241 - WINDEV - PERGUNTAS E RESPOSTAS 3 - COMO USAR ESTRUTURA COM ARRAY



https://youtu.be/Jp91UlAIX0U



Bom Dia Boa Tarde Boa Noite

Seja Membro do Canal

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

DICAS 3241 - WINDEV - PERGUNTAS E RESPOSTAS 3 - COMO USAR ESTRUTURA COM ARRAY


ASSUNTOS


COMO USAR ESTRUTURA COM ARRAY 
VOU CRIAR UMA JANELA CHAMADA ESTRUTURA_ARRAY
VOU CRIAR UM BOTAO 
VOU CRIAR UMA TABELA POR PROGRAMACAO, COM DUAS COLUNAS
AS COLUNAS SERAO CODIGO E NOME 
VOU FAZER COM QUE A COLUNA CODIGO, SE TIVER ZERO APARECA EM BRANCO
VOU AJUSTAR AS COLUNAS DA TABELA 
VOU ANCORAR A TABELA PELO NOME 
VOU PREENCHER O ARRAY COM ESTRUTURA COM DADOS DA EMPRESA
VOU FAZER QUE A PRIMEIRA LINHA DO ARRAY ,SEJA SOMENTE RELACAO DE EMPRESAS
VOU FAZER QUE DEPOIS DA RELACAO DE EMPRESAS, SEJA SOMENTE FINALIZADO

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

empresa_estrutura is Structure
id is int 
nome is string
END

linha_empresa is empresa_estrutura
array_empresa is array of empresa_estrutura

// VOU ADICIONAR MANUALMENTE
linha_empresa.id = ""
linha_empresa.nome = "RELCAO DE EMPRESAS"
ArrayAdd(array_empresa, linha_empresa)

// VOU ADICIONAR USANDO O CADASTRO DE EMPRESAS
FOR EACH empresa_v26  
linha_empresa.id = empresa_v26.empresa_v26ID
linha_empresa.nome = empresa_v26.nome
ArrayAdd(array_empresa, linha_empresa)
END
linha_empresa.id = 0
linha_empresa.nome = "FINALIZADO"
ArrayAdd(array_empresa, linha_empresa)
TABLE_NoName1.DeleteAll()
FOR EACH ELEMENT stLinha OF array_empresa
LINHA is int=TABLE_NoName1.AddLine()
TABLE_NoName1[LINHA].COL_NoName1=stLinha.id
TABLE_NoName1[LINHA].COL_NoName2=stLinha.nome
END
//end


------------------ INDICE DE PERGUNTAS E RESPOSTAS




------------------ INDICE DO CURSO DE ARRAY e ESTRUTURA


WinDev - Array - 001/... Adiciona/Classifica Ordem/Mostra
WinDev - Array - 002/... Quantas Ocorrencias Array
WinDev - Array - 003/... ArrayDeleteLine - Eliminha uma Linha do Array
WinDev - Array - 004/... ArrayToString - Leva Array Para String
WinDev - Array - 005/... Seek - Procura Por Valor
WinDev - Array - 006/... ArrayDeleteDuplicate - Elimina itens duplos
WinDev - Array - 007/... Delete - Elimina Uma Linha
WinDev - Array - 008/... DeleteAll - Limpa Array
WinDev - Array - 009/... SwapLine - Mover de Lugar
WinDev - Array - 010/... Sum - Somar Array
ARRAYREVERSE - ARRAY - 011/ ... AULA 1185 
ARRAY INICIO - ARRAY 012 / AULA 1229












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 












How to use an array of structures?
Como Usar estruturas e Array?
Um array de estruturas é uma variável Array. Cada elemento da matriz é uma estrutura.
Por exemplo, uma série de estruturas pode ser usada:
  • para armazenar uma série de linhas de pedido.
  • para armazenar uma lista de contatos.
Declarando uma estrutura
Para declarar uma variável Array of Structures, você deve
  1. Declare a estrutura.
  2. Declare uma matriz da estrutura declarada anteriormente.
A sintaxe é a seguinte
MyStructure is Structure
Member1 is <type of variable>
Member2 is <type of variable>
...
END

MyArray is array of MyStructure
Por exemplo:
stOrderLine is Structure
LineNum is int
ProductRef is string
Qty is int
UnitPrice is currency
END

arrOrdLines is array of stOrderLine
Usando uma série de estruturas
Para usar uma série de estruturas, você deve:
  1. Declare um Array da estrutura declarada anteriormente.
  2. Declare uma variável simples que representa um elemento do tipo da estrutura.
  3. Inicialize os membros incluídos nesta variável simples.
  4. Adicione esta variável simples ao array.
Por exemplo:
stOrderLine is Structure
LineNum is int
ProductRef is string
Qty is int
UnitPrice is currency
END
 
AnOrdLine is stOrderLine
arrOrdLines is array of stOrderLine
 
// Fill the array
 
AnOrdLine.LineNum = 1
AnOrdLine.ProductRef = "Ref001"
AnOrdLine.Qty = 5
AnOrdLine.UnitPrice = 100.0
 
ArrayAdd(arrOrdLines, AnOrdLine)
 
AnOrdLine.LineNum = 2
AnOrdLine.ProductRef = "Ref005"
AnOrdLine.Qty = 1
AnOrdLine.UnitPrice = 2100.0
 
ArrayAdd(arrOrdLines, AnOrdLine)
 
AnOrdLine.LineNum = 3
AnOrdLine.ProductRef = "Ref019"
AnOrdLine.Qty = 16
AnOrdLine.UnitPrice = 22.0
 
ArrayAdd(arrOrdLines, AnOrdLine)
 
 
// Read the array again: method 1
 
FOR EACH ELEMENT OrdLine OF arrOrdLines
Trace(OrdLine.ProductRef, OrdLine.Qty, OrdLine.Qty * OrdLine.UnitPrice)
 
END
 
 
// Read the array again: method 2
 
FOR nSub =1 TO arrOrdLines..Count
Trace(OrdLine[nSub].ProductRef, OrdLine[nSub].Qty, OrdLine[nSub].Qty * OrdLine[nSub].UnitPrice)
 
END
Comentários
As estruturas e as matrizes de estruturas podem ser declaradas:
  • no código do projeto (estrutura global para todo o projeto).
  • no código de uma janela ou página (estrutura global para a janela ou página).
  • em qualquer processo ou evento (estrutura local para o processo ou evento).

Teste

Teste
teste