GoConqr has a new look! Let us know what you think.

Mind map

config

Marcos Volpato Portuguese

Map content

config

  1. input

    • o que eu tenho
      • um arquivo txt
        • um programa
    • o que preciso
      • pegar os dados do arquivo txt
        • separar o que é label e o que é valor
          • organizar de forma coerente esses dados para facil acesso
    • algoritimo INPUT DE ARQUIVO
      • num laço acessa-se linha a linha do arquivo
        • verificar se não é comentario
          • sinalizado com um(ns) caracter(s) especifico(s) no começo da string
            • pode ser # ou // ou /* etc
              • verifica-se se esse(s) caractere(s) existe(m) usando a função strstr() ou analoga
          • se for, ignorar a linha e pular para proxima
            • se não, criar substring até o delimitador de label
              • sinalizado com um caracter especifico apos o termino da label
                • pode ser : ou = etc
                  • verifica-se se esse caractere existe e sua posição na linha usando a função strstr() ou analoga
              • criar outra subtring a partir do delimitador da label e finalizar no delimitador do valor
                • sinalizado com um caracter especifico apos o termino da label
                  • usualmente usa-se ;
                    • verifica-se se esse caractere existe e sua posição na linha usando a função strstr() ou analoga
                • push a label na lista.label e o valor no lista.value (ou no vetor se for assim decidido)
      • estrutura necessaria
        • struct config_no
          • string label
            • string value
              • config_no *anterior
                • config_no *proximo
        • duvida! Usar lista ou verificar quantas linhas tem e alocar um array???? DECIDIDO PELA LISTA POIS SERA CRIADA UM MODULO QUE PODERA SER PLGADO EM DIVERSOS OUTROS PROGRAMAS. BASICAMENTE ESSE MODULO PEGA O CONTEUDO DOS ARQUIVOS E ARMAZENA NUMA LISTA... ESTA LISTA ESTARA ACESSIVEL A UMA OUTRA CLASSE PARA PEGAR OS VALORES QUE A INTERESSAM, TALVEZ ATÉ TORNAR ESSA LISTA ACESSÍVEL DE TODO O PROGRAMA
        • lista duplamente encadeada
          • struct lista
            • config_no *inicio
              • config_no *fim
                • int tamanho
      • questoes que podem ocorrer
        • a label pode estar repetida
          • pode ocorrer sintaxe errada no arquivo txt
            • como lidar com as letras maiusculas e minusculas
              • o arquivo pode não ter todas os itens necessários
                • a classe do INPUT DE ARQUIVOS poderia receber como parametro configurações default
                  • no construtor verifica se o arquivo existe
                    • se não entao cria um novo arquivo com as configurações default
                      • se sim entao executa o input do arquivo
                  • existiria uma função getValue() que receberia uma string label como parametro
                    • essa função faz uma consulta na lista se essa label foi definida no arquivo
                      • se sim então retorna o respectivo value
                        • se não retorna o value das config default
                          • a lebel requerida pode não estar definida nem no arquivo nem no default
          • resolvido
  2. output

    • o que eu tenho
      • configurações default
    • o que preciso
      • inserir as configurações no arquivo
        • também pode ser necessário atualizar dados
          • uma função setConfig() resolveria esse problema
            • como parametro receberia uma string label e outra novo valor
              • essa função faria uma busca na lista pela label e inseriria o novo valor
          • resolvido
  3. passos para implementar

    • fila
      • configIO
        • config

Information

Description
Mind Map on config, created by Marcos Volpato on 08/10/2015.
Created by
Marcos Volpato
Views
0
Rating

Feedback

What is it about?

What do you think of the new look?

How do you like it?