Páginas

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

Nenhum comentário:

Postar um comentário