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(arrOrdLinesAnOrdLine)
 
AnOrdLine.LineNum = 2
AnOrdLine.ProductRef = "Ref005"
AnOrdLine.Qty = 1
AnOrdLine.UnitPrice = 2100.0
 
ArrayAdd(arrOrdLinesAnOrdLine)
 
AnOrdLine.LineNum = 3
AnOrdLine.ProductRef = "Ref019"
AnOrdLine.Qty = 16
AnOrdLine.UnitPrice = 22.0
 
ArrayAdd(arrOrdLinesAnOrdLine)
 
 
// Read the array again: method 1
 
FOR EACH ELEMENT OrdLine OF arrOrdLines
Trace(OrdLine.ProductRefOrdLine.QtyOrdLine.Qty * OrdLine.UnitPrice)
 
END
 
 
// Read the array again: method 2
 
FOR nSub =1 TO arrOrdLines..Count
Trace(OrdLine[nSub].ProductRefOrdLine[nSub].QtyOrdLine[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