Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
aquemis

Ajuda em documento XML

Recommended Posts

Estou com um problema em um documento XML, e como sou leigo nesse assunto venho aqui no fórum pedir ajuda. O que ocorre é o seguinte: Tenho um curso de idiomas cujos idiomas estão gravados em um DVD, porém o software está em minha máquina, ele não necessita de instalação, roda direto do HD. Até aí tudo bem, o problema começou quando eu particionei meu HD e a letra referente ao Drive de DVD mudou para (E:), quebrando a cabeça aqui eu descobri um documento XML em uma pasta do software instalado, e nele consta que o caminho para os idiomas é a letra (D:), então eu alterei esse documento colocando a letra (E:) e funcionou, só que agora eu removi a partição que eu havia criado e o Drive de DVD voltou para a (D:), parou de funcionar novamente. Será que existe uma solução para fazer o software buscar em mais de um Drive até ele encontrar os idiomas?

Segue o exemplo de como está:

<directories>

<languageDataBasePath confirmed="true">E:</languageDataBasePath>

</directories>

Eu gostaria que ele procurasse pelos idiomas nos Drives (D:), (E:) e (F:), mas eu já tentei alterar o documento de várias formas e nenhuma deu certo.

As formas que eu tentei foram:

<directories>

<languageDataBasePath confirmed="true">D:</languageDataBasePath>

<languageDataBasePath confirmed="true">E:</languageDataBasePath>

<languageDataBasePath confirmed="true">F:</languageDataBasePath>

</directories>

Ele não encontrou os idiomas no Drive (D:) e não passou para o Drive seguinte, então me retornou uma mensagem de erro.

<languageDataBasePath confirmed="true">D, E, F:</languageDataBasePath>

Também não funcionou

Entre outras tentativas que não funcionaram!

Estou pensando em colocar o software junto com os idiomas no DVD, mas aí eu não sei como devo fazer para ele encontrar os idiomas no mesmo lugar em que ele está.

Desde já agradeço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao tem como nao... o xml nao é uma linguagem de programação... ela nao suporta operadores condicionais/logicos... o xml ai no caso é um representação do arquivo settings...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá index.xp, estou muito grato por seu esclarecimento, agora eu vou parar de quebrar a cabeça com isso e vou mudar a letra do drive para rodar o programa. É bom saber que o xml não aceita esses operadores, pois eu tentei usar o "IF, ELSE e o THEN" e realmente não funcionou, como eu disse: sou leigo nesse assunto!

Só mais uma dúvida para desencargo de consciência: Esse arquivo "settings" faz parte do código fonte do programa?

Muito obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ele está usando o xml como arquivo de configuração, ou como banco de dados.


<DATAPACKET Version="2.0"> [COLOR="red"]versão[/COLOR]
- <METADATA>
- <FIELDS> [COLOR="Red"]campos[/COLOR]
<FIELD attrname="Name" fieldtype="string" WIDTH="24" />
<FIELD attrname="Capital" fieldtype="string" WIDTH="24" />
<FIELD attrname="Continent" fieldtype="string" WIDTH="24" />
<FIELD attrname="Area" fieldtype="r8" />
<FIELD attrname="Population" fieldtype="r8" />
</FIELDS>
</METADATA>
- <ROWDATA> [COLOR="red"]registros[/COLOR]
<ROW Name="Argentina" Capital="Buenos Aires" Continent="South America" Area="2777815" Population="32300003" />
<ROW Name="Bolivia" Capital="La Paz" Continent="South America" Area="1098575" Population="7300000" />
</ROWDATA>
</DATAPACKET>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Merephet, muito obrigado pela ajuda, mas ainda não consegui.

Tentei de várias formas, mas todas deram erro.

Veja o XML original do programa:

- <installerDefaults pathToAllUsers="C:\Curso de Idiomas">

- <databaseConnector>

<localDatabasePath>C:\Curso de Idiomas\tracking.db3</localDatabasePath>

</databaseConnector>

- <defaultLocales>

<installerDefaultLocale>en-US</installerDefaultLocale>

</defaultLocales>

- <directories>

<languageDataBasePath confirmed="true">C\Curso de Idomas</languageDataBasePath>

</directories>

</installerDefaults>

Onde está destacado em vermelho é onde o programa vai buscar o idioma, ou seja, na pasta Curso de Idiomas no Drive C:. Se eu trocar esse caminho por E:, ele vai buscar na raiz do Drive E:, e assim por diante. O problema é que eu estou querendo fazer com que ele procure pelos idiomas na raíz dos Drivers D:, E: e F:, mas do jeito que eu estou fazendo ele só procura no 1° Drive, no caso o D:, e se ele não encontra o idioma nesse local, dá erro.

Eu não entendi direito o código que você postou (não manjo muito desses códigos), mas eu tentei de várias formas e ele continuou procurando somente no 1° Drive.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aquilo é o Xml como banco de dados(o formato), mas no seu caso ficou como arquivo de configuração.


- <installerDefaults pathToAllUsers="C:\Curso de Idiomas"> [COLOR="red"]@[/COLOR]
- <databaseConnector>
<localDatabasePath>[COLOR="DeepSkyBlue"]C:\Curso de Idiomas\[/COLOR]tracking.db3</localDatabasePath> [COLOR="red"]#[/COLOR]
</databaseConnector>
- <defaultLocales>
<installerDefaultLocale>en-US</installerDefaultLocale> [COLOR="red"]$[/COLOR]
</defaultLocales>
- <directories>
<languageDataBasePath confirmed="true">[COLOR="deepskyblue"]C\Curso de Idomas[/COLOR]</languageDataBasePath> [COLOR="red"]%[/COLOR]
</directories>
</installerDefaults>

Legenda

@ = Local de instalação padrão para todos os usuários, se não especificar um local ele será instalado nesse diretório para todos os usuários e não somente o seu(caso tenha mais de um).

# = Local aonde se encontra o banco de dados, e o .db3 é do Acess (.db)

$ = Ambiente em que ele irá funcionar, XX-YY-> X = Lingua Y= País.

% = Se o diretório do banco de dados de linguagem for confirmado, o caminho dele

Pelo que escreveu acho que teria que mudar o que está escrito em azul

Compartilhar este post


Link para o post
Compartilhar em outros sites

É exatamente isso Merephet, agradeço pela ajuda, mas ainda não consegui fazer com que o documento XML faça uma busca nos Drivers D:, E: e F:. Acho que não tem jeito, como disse o nosso amigo index.xp.

De qualquer forma agradeço a ajuda de vocês. Muito obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como o index.xp já comentou, o XML serve apenas como uma representação do arquivo de configuração, ou seja, um metadado que fornece para o programa as informações que este necessita, assim sendo, o programa deve estar previamente apto a obter as informações do XML. Se o programa não possui a funcionalidade interna de modificar os possíveis caminhos de acordo com a leitura do campo correspondente ao caminho no XML, então isto realmente não pode ser feito.

Não sei se ficou claro, mas de forma simplificada o xml pode ser visto como um fornecedor de informações, cabe ao programa manipulá-las corretamente.

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entendi Goliathvv, muito obrigado pelo esclarecimento. Sendo assim, vou alterar a letra da unidade já que é um procedimento simples.

De qualquer forma estou muito agradecido pela ajuda e disposição de todos vocês! Mais uma vez, muito obrigado!

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário






Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×