Mostrando postagens com marcador Estrutura. Mostrar todas as postagens
Mostrando postagens com marcador Estrutura. Mostrar todas as postagens

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).

sábado, 27 de fevereiro de 2016

WX - Trabalhando com Tabela Struct em Memória (QUEUE)



EXEMPLO DE TABELA DE MEMORIA - STRUCT - QUEUE
STDadosDaFrete is structure
bDadosatualizados is boolean
bDadosValidos is boolean
sStatusFrete is string
sDataHoraAceite is string
sDataHoraCancelamento is string
nMatricula is int
sNomeCarroceiro is string
nNumCarroca is int
nNumCarroca is int
sPlaca is string
sMarca is string
sModelo is string
pPosicaoCarroca is geoPosition
sMsgCarroca is string
END

FreteAtualtemp is STDadosDaFrete

IF XML_Retorno <> ""
FreteAtualtemp.sStatusFrete = Busca_Tag_Xml(XML_Retorno,"Situacao")
FreteAtualtemp.nNumRt = Busca_Tag_Xml(XML_Retorno,"NumCarroca")
FreteAtualtemp.nNumAt = Busca_Tag_Xml(XML_Retorno,"NumCarroceiro")
FreteAtualtemp.sPlaca = Busca_Tag_Xml(XML_Retorno,"PlacaCarroca")
FreteAtualtemp.nMatricula = Busca_Tag_Xml(XML_Retorno,"Matricula")
FreteAtualtemp.sNomeCarroceiro = Busca_Tag_Xml(XML_Retorno,"Nome")
FreteAtualtemp.sDataHoraAceite = Busca_Tag_Xml(XML_Retorno,"DataAceite")
FreteAtualtemp.sDataHoraCancelamento = Busca_Tag_Xml(XML_Retorno,"DataCancelamento")
FreteAtualtemp.sMsgTaxi = Busca_Tag_Xml(XML_Retorno,"Mensagem")
FreteAtualtemp.pPosicaoRT.Latitude = Busca_Tag_Xml(XML_Retorno,"Latitude")
FreteAtualtemp.pPosicaoRT.Longitude = Busca_Tag_Xml(XML_Retorno,"Longitude")
FreteAtualtemp.pPosicaoRT.Speed = Busca_Tag_Xml(XML_Retorno,"VelocidadeCarroca")
FreteAtualtemp.bDadosValidos = True

END

RESULT(FreteAtualtemp)



ST_CarrocasLogados is structure
ST_ID is string // id do Carroca
ST_Latitude is real // latitude onde esta o Carroca
ST_Longitude is real // longitude onde esta o Carroca
ST_Situacao is string // status se esta disponivel ou nao
END

arr_CarrocasLogados is associative array (ccIgnoreCase + ccIgnorePonctuationAndSpace) of ST_CarrocasLogados


FOR EACH LocSt_CarrocasLogados OF arr_CarrocasLogados

IF LocSt_CarrocasLogados.ST_Situacao > 0 THEN

nContador += 1
MarcadorCarrocas(LocSt_CarrocasLogados.ST_ID,
LocSt_CarrocasLogados.ST_Latitude,
LocSt_CarrocasLogados.ST_Longitude,
LocSt_CarrocasLogados.ST_Situacao)

END


http://forum.pcsoft.fr/pt-BR/pcsoft.br.windev/993-trabalhando-com-tabela-struct-memoria-queue/read.awp





















quarta-feira, 14 de janeiro de 2015

Estruturas Tema Paletra Pedrosao

Estruturas Tema Paletra Pedrosao

De Pedrosao

http://189.113.6.131/ww_forum

Conforme havia prometido, estou disponibilizando os fontes do aplicativo sobre estruturas, tema da minha palestra do Segundo Encontro de Desenvolvedores Windev em São Paulo.
 https://www.dropbox.com/s/v8xx3gghk20yckn/palestra.zip?dl=0


















Teste

Teste
teste