terça-feira, 15 de setembro de 2015

Windev Mobile - 33/... Xml - Ler Turmas e mostrar Looper e selecionar Looper alunos













Video - Windev Mobile - 33/... Xml - Ler Turmas e mostrar Looper e selecionar Looper alunos


Agora vou fazer ler um xml, e colocar os dados da turma no looper
selecionar no looper e abrir outro looper com relacao de alunos
e selecionar alunos e mostrar dados


















Abaixo vou colocar os fontes feito no exemplo

// vou fazer planos
// primeira Parte ir plano 1
MyWindow..Plane=1


// Segunda Parte ler Xml
// Ler Xml
// Vou Colocar Blog
EDT_NomeArquivoXml="e:\aleva\aluno.xml"  // aqui coloquei arquivo fixo é so mudar ou receber
s_xml_documento is string=EDT_NomeArquivoXml
s_meu_Xml is string=fLoadText(s_xml_documento)
EDT_xml_conteudo=s_meu_Xml // Aqui mostra o conteudo do xml
//vou simular turmas
LooperDeleteAll(LOOP_turma) // Elimina Looper Anterior // aqui eliminei dados looper

funcao_xml_retira_tag_turma(s_meu_Xml) // aqui chamei funcao turma // vou mostrar



PROCEDURE funcao_xml_retira_tag_turma(s_texto_completo is string)
// essa funcao vou disponibilizar blog

s_nome_tag_inicial is string="<turma>"
s_nome_tag_final is string="</turma>"

arr_turma is array of string

s_resultado is string=""
nPosicaoInicial, nPosicaoFinal is int = 0
nPosicaoInicial = PositionOccurrence(s_texto_completo,s_nome_tag_inicial,firstRank,FromBeginning) + Length(s_nome_tag_inicial)
nPosicaoFinal = PositionOccurrence(s_texto_completo,s_nome_tag_final,firstRank,FromBeginning)
LOOP
    IF nPosicaoFinal=0 OR nPosicaoInicial=0 THEN
        BREAK
    ELSE
        s_resultado = Middle(s_texto_completo,nPosicaoInicial,nPosicaoFinal-nPosicaoInicial)
        FOR i=1 TO arr_turma..Occurrence // fiz isso para saber se ja tem alguma turma igual
            IF arr_turma[i]=s_resultado THEN
                s_resultado=""
                BREAK
            END
        END
        IF s_resultado<>"" THEN // caso nao tiver turma igual, mando adicionar array
            ArrayAdd(arr_turma,s_resultado)           
        END       
        nPosicaoInicial = PositionOccurrence(s_texto_completo,s_nome_tag_inicial,nextRank,FromBeginning) + Length(s_nome_tag_inicial)
        nPosicaoFinal = PositionOccurrence(s_texto_completo,s_nome_tag_final,nextRank,FromBeginning)
    END
END
ArraySort(arr_turma,asAscending) // aqui estou classificando por ordem da turma
FOR i=1 TO arr_turma..Occurrence
        LooperAddLine(LOOP_turma,arr_turma[i]) // adiciona linha // aqui estou adicionando linhas
END


// Terceira parte Ler a turma e ir para plano 2

EDT_turma=LOOP_turma.ATT_Turma // selecionando turma
MyWindow..Plane=2


// Ler alunos turma
// quarta parte ler aunos turma
s_xml_documento is string=EDT_NomeArquivoXml
s_meu_Xml is string=fLoadText(s_xml_documento)
EDT_xml_conteudo=s_meu_Xml // Aqui mostra o conteudo do xml
//vou simular turmas
LooperDeleteAll(LOOP_alunos) // Elimina Looper Anterior
funcao_xml_retira_tag_alunos(s_meu_Xml) // vou entrar funcao alunos


PROCEDURE funcao_xml_retira_tag_alunos(s_texto_completo is string)
// essa funcao do retira tag alunos
// criei uma array para cada tag
arr_aluno is array of string
arr_matricula is array of string
arr_data_nasc is array of string
arr_curso is array of string
arr_turma is array of string


s_resultado is string=""

s_nome_tag_inicial is string="<turma>"
s_nome_tag_final is string="</turma>"   
//minha tag inicial turma  e depois vou buscar em ordem as outras tag desse aluno
// por isso pediu para colocar em ordem       
nPosicaoInicial, nPosicaoFinal is int = 0
nPosicaoInicial = PositionOccurrence(s_texto_completo,s_nome_tag_inicial,firstRank,FromBeginning) + Length(s_nome_tag_inicial)
nPosicaoFinal = PositionOccurrence(s_texto_completo,s_nome_tag_final,firstRank,FromBeginning)
LOOP
    IF nPosicaoFinal=0 OR nPosicaoInicial=0 THEN
        BREAK
    ELSE
        s_resultado = Middle(s_texto_completo,nPosicaoInicial,nPosicaoFinal-nPosicaoInicial)
        IF s_resultado=EDT_turma THEN // aqui verifico se é a mesma turma
            ArrayAdd(arr_turma,s_resultado)           
            //
            s_nome_tag_inicial="<matricula>"
            s_nome_tag_final="</matricula>"
            nPosicaoInicial = PositionOccurrence(s_texto_completo,s_nome_tag_inicial,nextRank,FromBeginning) + Length(s_nome_tag_inicial)
            nPosicaoFinal = PositionOccurrence(s_texto_completo,s_nome_tag_final,nextRank,FromBeginning)
            s_resultado = Middle(s_texto_completo,nPosicaoInicial,nPosicaoFinal-nPosicaoInicial)
            ArrayAdd(arr_matricula,s_resultado)
            //
            s_nome_tag_inicial="<aluno>"
            s_nome_tag_final="</aluno>"
            nPosicaoInicial = PositionOccurrence(s_texto_completo,s_nome_tag_inicial,nextRank,FromBeginning) + Length(s_nome_tag_inicial)
            nPosicaoFinal = PositionOccurrence(s_texto_completo,s_nome_tag_final,nextRank,FromBeginning)
            s_resultado = Middle(s_texto_completo,nPosicaoInicial,nPosicaoFinal-nPosicaoInicial)
            ArrayAdd(arr_aluno,s_resultado)
            //
            s_nome_tag_inicial="<data_nasc>"
            s_nome_tag_final="</data_nasc>"
            nPosicaoInicial = PositionOccurrence(s_texto_completo,s_nome_tag_inicial,nextRank,FromBeginning) + Length(s_nome_tag_inicial)
            nPosicaoFinal = PositionOccurrence(s_texto_completo,s_nome_tag_final,nextRank,FromBeginning)
            s_resultado = Middle(s_texto_completo,nPosicaoInicial,nPosicaoFinal-nPosicaoInicial)
            ArrayAdd(arr_data_nasc,s_resultado)
            //
            //
            s_nome_tag_inicial="<curso>"
            s_nome_tag_final="</curso>"
            nPosicaoInicial = PositionOccurrence(s_texto_completo,s_nome_tag_inicial,nextRank,FromBeginning) + Length(s_nome_tag_inicial)
            nPosicaoFinal = PositionOccurrence(s_texto_completo,s_nome_tag_final,nextRank,FromBeginning)
            s_resultado = Middle(s_texto_completo,nPosicaoInicial,nPosicaoFinal-nPosicaoInicial)
            ArrayAdd(arr_curso,s_resultado)
            //
        END
        s_nome_tag_inicial="<turma>"
        s_nome_tag_final="</turma>"       
       
        nPosicaoInicial = PositionOccurrence(s_texto_completo,s_nome_tag_inicial,nextRank,FromBeginning) + Length(s_nome_tag_inicial)
        nPosicaoFinal = PositionOccurrence(s_texto_completo,s_nome_tag_final,nextRank,FromBeginning)
    END
END
// eliminei o sort nessa parte

FOR i=1 TO arr_turma..Occurrence
    LooperAddLine(LOOP_alunos,arr_aluno[i],arr_matricula[i],arr_data_nasc[i],arr_curso[i],arr_turma[i]) //aqui gravando looper
END



//quinto selecionar aluno, looper e passar todos dados para o edt
// e ir para plano 3
// Colocar dados do aluno selecionado
EDT_aluno_turma=LOOP_alunos.ATT_aluno_turma
EDT_aluno_Matricula=LOOP_alunos.ATT_aluno_matricula
EDT_aluno_Aluno=LOOP_alunos.ATT_aluno_aluno
EDT_aluno_data_nasc=LOOP_alunos.ATT_aluno_data_nasc
EDT_aluno_curso=LOOP_alunos.ATT_aluno_curso
MyWindow..Plane=3


Blog - WinDev Mobile - Instalaca - Android 1/...
Blog - WinDev Mobile - Instalacao - Java 2/...
Blog - windev Mobile - MyExplorer 3/...
Blog - Windev Mobile - Android - Configurar Ansi 5/...
Blog - Windev Mobile - Layout - 6/.... 
Blog - Windev Mobile - Target_Code - 8/...
Blog - Windev Mobile - Agenda Cadastrar - 9/...
Blog - Windev Mobile - Agenda Mostrar - 10/...
Blog - Windev Mobile - Agenda Alterar - 11/...
Blog - Windev Mobile - Agenda Excluir - 12/...
Blog - Windev Mobile - HyperFile Error - 13/...
Blog - Windev Mobile -Tirar Foto - 14/... 
Blog - Windev Mobile - Pegar Foto Album - 15/...
Blog - Windev Mobile - hyperfil server - Acessar Rede/Could - Parte - 16/...
Blog - Windev Mobile - Query - Criar Consulta - Looper - Parte 17/...
Blog - Windev Mobile - Query - Tabela - Parte 18/...
Blog - Windev Mobile - Query - Filtro Acrescentar - Parte 19/...
Blog - Windev Mobile - Email - Parte 20/...
Blog - Windev Mobile - Analise Bolo Receita a/.. - Parte 21/...
Blog - Windev Mobile - Analise Bolo Receita b/... - Parte 22/...
Blog - Windev Mobile - Receita Bolo c/.. - Menu/Layout - Parte 23/...
Blog - Windev Mobile - Receita Bolo d/.. - Categoria - Parte 24/...
Blog - Widnev Mobile - Receita bolo e/.. - Categoria Altera/Exclui - Parte 25/...
Blog - Windev Mobile - 26/... - Receita Bolo - Combox Categoria
Blog - Windev Mobile - 27/.. - Receita Bolo - Tabela Bolo
Blog - Windev Mobile - 28/... - Xml - Retirar Conteudo Blog - Funcao
Blog - Windev Mobile - 29/... - Pdf - Ler Pdf Direto do Aparelho Android 
Blog - Windev Mobile - 30/... - Pdf - Ler Pdf Direto do Aparelho Android - Final 
Blog - Windev Mobile - 31/... - Looper - Criar Manual e Selecionar Informação
Blog - Windev Mobile - 33/.. Xml - Ler turmas e Mostrar Looper  
Blog - Windev Mobile - 35/... - Looper Mostrar Todos Dados Alunos 
Blog - Windev Mobile - 36/... - Looper Turma Mostra direto Alunos 
Blog - Windev Mobile - 37/... - Looper - Pegando Pelo WebService 
Blog - Windev Mobile - 38/... - Windows  - Mudar o Nome doTitulo
Blog - Windev Mobile - 39/... - Xml - Ler Posicao Inicial/Final - turmar Alunos 
Blog - Windev Mobile - 40/... - Xml - Ler Posicao Inicial/final/Especialidade/Refeito Funcao 
Blog - WinDev Mobile - 41/... HyperFile Classic Mobile 
Blog - WinDev Mobile - 42/... Matos Pedido - WinDevMobile 21 - Layout

Windev - Curso - 67/... - Tabelas, Control F Pesquisa toda Tabela/Mudar Cor Fundo/Contenha



Video - Windev - Curso - 67/... - Tabelas, Control F Pesquisa toda Tabela/Mudar Cor Fundo/Contenha












Blog - Curso Iniciante /1/... - Inicio
Blog - Curso Iniciante /2/... - Menu
Blog - Curso Iniciante /3/... Campos  
Blog - Curso Iniciante /4/... - Duvida/Style
Blog - Curso Iniciante /5/... - Menu
Blog - Curso Iniciante /6/... - Menu 2
Blog - Curso Iniciante /7/... - If / ShellExecute  
Blog - Curso Iniciante /8/... - ReturntoCapture 
Blog - Curso Iniciante /9/... - Info
Blog - Curso Iniciante /10/.. - DateSys - Now
Blog - Curso Iniciante /11/... - Criando Analise Agenda 
Blog - Curso Iniciante /12/... - Menu , Agenda
Blog - curso Iniciante /13/... - HreadSeek  
Blog - curso Iniciante /14/... - For Each - Percorrer Tabela 
Blog - Curso Iniciante /15/... - Query Consultas
Blog - Curso Iniciante /16/... - Tabela Relatorio
Blog - Curso Iniciante /17/... - Relatorio Criando 
Blog - Curso Iniciante /18/... - Relatorio Manual 
Blog - Curso Iniciante /19/.. - Menu Popup
Blog - Curso Iniciante /20/... - Data - Separar dia mes e ano
Blog - Curso Iniciante /21/... - Time - Separar hora/min/seg 
Blog - Curso Iniciante /22/... - Operadores
Blog - Curso Iniciante /23/... - String Igualdade 
Blog - Curso Iniciante /24/... - Switch / Case
Blog - Curso Iniciante /25/... - LOOP 
Blog - Curso Iniciante /26/... - FOR
Blog - Curso /27/... - Extern 
Blog - Curso /28/... - My 
Blog - Curso /29/... Procedures
Blog - Curso /30/... HSave  .. - Inclui Um Registro
Blog - Curso /31/... - Hsave - Altera um Registro
Blog - Curso /32/... - HDelete - Exclui Registro(s)
Blog - Curso /33/... - Relatorio
Blog - Curso /34/... - Dialog 
Blog - Curso /35/... - Input
blog - Curso /36/... - Combox 
Blog - Curso /37/... Combox Tabela 
Blog - Curso /38/... List Box
Blog - Curso /39/... - Analise Agenda/Ligacoes
Blog - Curso /40/... - Rad - Tabela Relacionada Agenda/Ligações
Blog - Curso /41/... - Tabela Relacionada Manual
Blog - Curso /42/... - Dica Tela/Code Separado
Blog - Curso /43/... - Mapa /1..
Blog - Curso /44/... - Mapa /2.. Imprime
Blog - Curso /45/... - Fechar Programa - EndPrograma()
Blog - Curso /46/... - Camera Habilita/Desabilita 
Blog - Curso /47/... - Tabela e Formulario - Configurar Cnpj
Blog - Curso /48/... - Camera - Tirar Uma Foto e Gravar Imagem
Blog - Curso /49/... - Reports e Queies - Instalacao
Blog - Curso /50/... Reports e Queies - Relatorio - Como Gerar 
Blog - Curso /51/... Pedidos/Orcamento 1/... Analise
Blog - Curso /52/... Pedidos/Orcamento 2/.. Analise Windev
Blog - Curso /53/... Pedidos/Orcamento 3/... Relacionamento
Blog - Curso /54/... Pedidos Orcamento 4/... Rad
Blog - Curso /55/... Pegar Quantidade e Codigo - Separador * 
Blog - Curso /56/... Pegar Retorno de Uma Tabela e colocar Campo 
Blog - Curso /57/... Xml - Ler Conteudo Tags e Importar Pedido
Blog - Curso /58/... Ini - Ler e Gravar 
Blog - Curso /59/... Pedidos Orcamento 5/... Inicio Digitacao Pedido
Blog - Curso /60/... Pedidos Orcamento 6/... Digitando Iten Pedido
Blog - Curso /61/... Pedidos orcamento 7/... Gravando Pedido e Itens   
Blog - Curso /62/... Pedido Orcamento 8/... Consulta cliente   
Blog - Curso /63/... Tabela - Ancorar Coluna
Blog - Curso /64/... Tabela - Esconder ou Mostrar Coluna 
Blog - Curso /65/... RSS 
Blog - Curso /66/... Pedido Orcamento 9/... Consulta Material
Blog - Curso /67/... Tabelas, Control F Pesquisa Toda Tabela /Contenha/Cor Fundo
Blog - Curso /68/... Pedidos Orcamento 10/... Planos - Condições Pagamento 
Blog - Curso /69/... - Calculadora dentro do Campo Valor
Blog - Curso /70/... Mapa - Itinerario 
Blog - Curso /71/... Tabela - Alterar Nome Coluna 
Blog - Curso /72/... Botal Fazer Menu popup 
Blog - Curso /73/... Debug - Como Usar 
Blog - Curso /74/... Tabela Alinhar Coluna Lado Esquerdo 
Blog - Curso /75/... Pedidos Orcamento 11/... Quantidade /Mascara/Mudar 
Blog - Curso /76/... YesNo - Pergunta Se Deseja Eliminar 
Blog - Curso /77/... Select - Case - Query
Blog - Curso /78/... Pedido/Orcamento 12/... - Analise Cond.Pagto
Blog - Curso /79/... Campos - Como Alterar configuracao via Codigo
Blog - Curso /80/... Pedido/Orcamento 13/... - Tabela,Gerar Condicoes/Parcelas
Blog - Curso /81/... Configuracao Trocar Exe para Wdl ou outro 
Blog - Curso /82/... Utilitarios - PopUp - Aumento Precos Materiais 
Blog - Curso /82/... TableEnableFilter - Digita Nome e Filtra 
Blog - Curso /83/... TableEnableFilter - Digita Nome e Filtra 
Blog - Curso /84/... Dica Copiar Colar Texto Ou Imagen Pdf
Blog - Curso /85/... SElect Como Usar Wizard 
Blog - Curso /86/... Radio - Colocar tudo Mesma Linha
Blog - Curso /87/... Procedure - Melhoria Versao20 - Parametros
Blog - Curso /88/... Style - Tabela Como Alterar
Blog - Curso /89/... Style - Tab Como Alterar
Blog - Curso /90/... Pedido/Orcamento 14/... - Style - Mudando Botao Procura
Blog - Curso /91/... - Pedido/Orcamento 15/... - Pedido - Totalizar Colunas Tabela
Blog - Curso /92/... Backup - Hyperfile 
Blog - Curso /93/... Debug - STOP 
Blog - Curso /94/... Tabela - Alterar Cor da Coluna - Texto
Blog - Curso /95/... Select Max - Pegar o Numero Proxima Nota 
Blog - Curso /96/... Tabela Divisao de Muitas Colunas 
Blog - Curso /97/... Analise - Configurar Campo para Vir Automatico Combox 
Blog - Curso /98/... Tabela - Double click - Entrar direto Alteração do Cliente 
Blog - Curso /99/... Tabela MultiSeleção
Blog - Curso/100/... Tabela - TableMoveLine - Move Linha Baixou ou Cima
Blog - Curso/101/... TableAjust - Ajustar Tabela com Colunas
Blog - Curso/102/... TableSort - Ordem nas Colunas


  

Teste

Teste
teste