Como criar um arquivo de configuracoes

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

Como criar um arquivo de configuracoes

psdias2
Pessoal:

Sou novato em Lua.  Conheço apenas o básico.

Obs.: Na verdade, estou usando Lua através de um framework chamado MOAI que, que dizem ser bastante poderoso para criar jogos.
Porém, a documentação sobre MOAI é bastante escassa, e os exemplos não são nada amigáveis para iniciantes, como eu.

Estou criando um jogo bem simples, que está quase terminado (pretendo disponibilizá-lo para iOS e Android).

Gostaria de poder solicitar o idioma que o usuário prefere usar
(português, espanhol ou inglês).  Essa parte da tradução eu já sei fazer.  O que preciso aprender é, após o usuário ter escolhido o idioma, como fazer
para gravar o idioma em um arquivo de configurações do jogo, para que o jogo já entre com aquele idioma selecionado, na próxima vez em que for executado.

Minha idéia é guardar o idioma como uma linha de uma arquivo .TXT, como:

language = "pt"

... ou algo assim.

a) Alguém que já tenha feito algo parecido pode me dar alguma dica se realmente um .TXT é a melhor estratégia para isso ?
Ou em Lua já existe algum recurso (como os arquivos .INI do Windows, por exemplo) para guardar esse tipo de parâmetro ?

b) No ambiente Delphi (no qual eu fui programador durante muitos anos), havia rotinas prontas para ler um arquivo .INI, onde eu passava
o nome do parâmetro (language, no exemplo acima) e a rotina me retorna va o valor (pt, no exemplo acima).  Existe algo pronto em Lua,
ou terei que construir uma rotina que leia as linhas do arquivo (podem haver mais parâmetros, e não apenas o "language"), localize o
parâmetro "language", o símbolo de igualdade (=) e depois retorne o valor "pt" ?

c) Só mais uma questão:  Alguém deste grupo que já programou para iOS ou Android, sabe informar se existe um diretório (pasta)
padronizado onde eu possa gravar o arquivo de configuração ?   Há um modo de eu pedir para o sistema operacional (iOS ou Android) que me
forneça o nome da pasta padrão onde o aplicativo está rodando (no iPad, iPhone, celular, etc.), para que eu possa criar o arquivo de configurações
no local correto ?

Sei que são perguntas de iniciante, mas estou procurando essas informações pela Internet, e até o momento não consegui
localizar.   Se alguém tiver alguma outra idéia sobre como salvar um arquivo de configurações, agradeço muito.

Obs.: No MOAI, já consegui encontrar os comandos que salvam dados em arquivos.

Grato pela atenção de todos !
Paulo


--
--
Lua BR - http://groups.google.com/group/lua-br
 
---
Você está recebendo esta mensagem porque se inscreveu no grupo "Lua BR" dos Grupos do Google.
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para [hidden email].
Para obter mais opções, acesse https://groups.google.com/groups/opt_out.
 
 
Reply | Threaded
Open this post in threaded view
|

Re: Como criar um arquivo de configuracoes

Eric Chiesse
Se seu arquivo txt for um lua bem formado (código lua sem erros) basta fazer:

dofile("config.txt")

Isso irá carregar o código do arquivo colocando todas as variáveis
definidas no seu ambiente global.
---
Eric


Em 23 de fevereiro de 2013 22:45, psdias <[hidden email]> escreveu:

> Pessoal:
>
> Sou novato em Lua.  Conheço apenas o básico.
>
> Obs.: Na verdade, estou usando Lua através de um framework chamado MOAI que,
> que dizem ser bastante poderoso para criar jogos.
> Porém, a documentação sobre MOAI é bastante escassa, e os exemplos não são
> nada amigáveis para iniciantes, como eu.
>
> Estou criando um jogo bem simples, que está quase terminado (pretendo
> disponibilizá-lo para iOS e Android).
>
> Gostaria de poder solicitar o idioma que o usuário prefere usar
> (português, espanhol ou inglês).  Essa parte da tradução eu já sei fazer.  O
> que preciso aprender é, após o usuário ter escolhido o idioma, como fazer
> para gravar o idioma em um arquivo de configurações do jogo, para que o jogo
> já entre com aquele idioma selecionado, na próxima vez em que for executado.
>
> Minha idéia é guardar o idioma como uma linha de uma arquivo .TXT, como:
>
> language = "pt"
>
> ... ou algo assim.
>
> a) Alguém que já tenha feito algo parecido pode me dar alguma dica se
> realmente um .TXT é a melhor estratégia para isso ?
> Ou em Lua já existe algum recurso (como os arquivos .INI do Windows, por
> exemplo) para guardar esse tipo de parâmetro ?
>
> b) No ambiente Delphi (no qual eu fui programador durante muitos anos),
> havia rotinas prontas para ler um arquivo .INI, onde eu passava
> o nome do parâmetro (language, no exemplo acima) e a rotina me retorna va o
> valor (pt, no exemplo acima).  Existe algo pronto em Lua,
> ou terei que construir uma rotina que leia as linhas do arquivo (podem haver
> mais parâmetros, e não apenas o "language"), localize o
> parâmetro "language", o símbolo de igualdade (=) e depois retorne o valor
> "pt" ?
>
> c) Só mais uma questão:  Alguém deste grupo que já programou para iOS ou
> Android, sabe informar se existe um diretório (pasta)
> padronizado onde eu possa gravar o arquivo de configuração ?   Há um modo de
> eu pedir para o sistema operacional (iOS ou Android) que me
> forneça o nome da pasta padrão onde o aplicativo está rodando (no iPad,
> iPhone, celular, etc.), para que eu possa criar o arquivo de configurações
> no local correto ?
>
> Sei que são perguntas de iniciante, mas estou procurando essas informações
> pela Internet, e até o momento não consegui
> localizar.   Se alguém tiver alguma outra idéia sobre como salvar um arquivo
> de configurações, agradeço muito.
>
> Obs.: No MOAI, já consegui encontrar os comandos que salvam dados em
> arquivos.
>
> Grato pela atenção de todos !
> Paulo
>
>
> --
> --
> Lua BR - http://groups.google.com/group/lua-br
>
> ---
> Você está recebendo esta mensagem porque se inscreveu no grupo "Lua BR" dos
> Grupos do Google.
> Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie
> um e-mail para [hidden email].
> Para obter mais opções, acesse https://groups.google.com/groups/opt_out.
>
>

--
--
Lua BR - http://groups.google.com/group/lua-br

---
Você está recebendo esta mensagem porque se inscreveu no grupo "Lua BR" dos Grupos do Google.
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para [hidden email].
Para obter mais opções, acesse https://groups.google.com/groups/opt_out.


Reply | Threaded
Open this post in threaded view
|

Re: Como criar um arquivo de configuracoes

psdias2
Olá, Eric !

a) Muito interessante  o comando "dofile" que você indicou - facílimo de
usar.
Fiz um teste e funcionou.

b) Falta só descobrir como saber os locais (pastas, diretórios...) em
que posso fazer a gravação.
Quando vocês desenvolvem seus aplicativos, como obter do sistema
operacional o nome (e caminho)
da pasta default do aplicativo, ou a pasta default do usuário, onde meu
aplicativo tenha direito de gravação e leitura de arquivos ?
E isso (essa pasta onde o aplicativo tem direito de gravar e ler)
depende do sistema operacional ?

Obs.: Nos testes que estou fazendo, rodando meu aplicativo (um joguinho)
no Windows 7, estou simplesmente indicando o nome
do arquivo ("configuracoes.txt") e o arquivo está sendo salvo na mesma
pasta onde se encontra o arquivo principal do meu código (main.lua).
Mas em sistemas operacionais como o iOS e Android também é simples assim
(basta indicar o nome do arquivo, sem me preocupar se
tenho direito de gravação ou não na pasta) ?

Grato pela atenção, e muito obrigado pela dica do "dofile".
Paulo

> Se seu arquivo txt for um lua bem formado (código lua sem erros) basta fazer:
>
> dofile("config.txt")
>
> Isso irá carregar o código do arquivo colocando todas as variáveis
> definidas no seu ambiente global.
> ---
> Eric
>
>

--
--
Lua BR - http://groups.google.com/group/lua-br

---
Você está recebendo esta mensagem porque se inscreveu no grupo "Lua BR" dos Grupos do Google.
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para [hidden email].
Para obter mais opções, acesse https://groups.google.com/groups/opt_out.


Reply | Threaded
Open this post in threaded view
|

Re: Como criar um arquivo de configuracoes

Eric Chiesse
Normalmente arquivos de configuração referentes ao teu aplicativo
devem ficar na mesma pasta do seu aplicativo e normalmente teu
aplicativo pode escrever nessa pasta. É o que eu faria. Acho que o
projeto fica mais organizado e não polui outros ambientes.

Acho que o MOAI (ainda não usei) não deve te impor restrições quanto a isso.

Agora quanto a gravar e ler coisas fora dessa pasta do aplicativo
realmente vai depender das permissões.

Se teu problema for só gravar as configurações em um arquivo, então o
que a gente viu até agora é suficiente e até elegante eu diria (eu só
trocaria a extensão de .txt para .cfg ou . ini para ficar claro). Se
você quer algo diferente aí é preciso ter mais detalhes.

Valeu! Boa sorte aí!

---
Eric Chiesse


Em 24 de fevereiro de 2013 17:55, psdias2 <[hidden email]> escreveu:

> Olá, Eric !
>
> a) Muito interessante  o comando "dofile" que você indicou - facílimo de
> usar.
> Fiz um teste e funcionou.
>
> b) Falta só descobrir como saber os locais (pastas, diretórios...) em que
> posso fazer a gravação.
> Quando vocês desenvolvem seus aplicativos, como obter do sistema operacional
> o nome (e caminho)
> da pasta default do aplicativo, ou a pasta default do usuário, onde meu
> aplicativo tenha direito de gravação e leitura de arquivos ?
> E isso (essa pasta onde o aplicativo tem direito de gravar e ler) depende do
> sistema operacional ?
>
> Obs.: Nos testes que estou fazendo, rodando meu aplicativo (um joguinho) no
> Windows 7, estou simplesmente indicando o nome
> do arquivo ("configuracoes.txt") e o arquivo está sendo salvo na mesma pasta
> onde se encontra o arquivo principal do meu código (main.lua).
> Mas em sistemas operacionais como o iOS e Android também é simples assim
> (basta indicar o nome do arquivo, sem me preocupar se
> tenho direito de gravação ou não na pasta) ?
>
> Grato pela atenção, e muito obrigado pela dica do "dofile".
> Paulo
>
>
>> Se seu arquivo txt for um lua bem formado (código lua sem erros) basta
>> fazer:
>>
>> dofile("config.txt")
>>
>> Isso irá carregar o código do arquivo colocando todas as variáveis
>> definidas no seu ambiente global.
>> ---
>> Eric
>>
>>
>
> --
> --
> Lua BR - http://groups.google.com/group/lua-br
>
> --- Você está recebendo esta mensagem porque se inscreveu no grupo "Lua BR"
> dos Grupos do Google.
> Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie
> um e-mail para [hidden email].
> Para obter mais opções, acesse https://groups.google.com/groups/opt_out.
>
>

--
--
Lua BR - http://groups.google.com/group/lua-br

---
Você está recebendo esta mensagem porque se inscreveu no grupo "Lua BR" dos Grupos do Google.
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para [hidden email].
Para obter mais opções, acesse https://groups.google.com/groups/opt_out.


Reply | Threaded
Open this post in threaded view
|

Re: Como criar um arquivo de configuracoes

Manoel Campos da Silva Filho
Porque não usa arquivos lua no lugar de txt?
Veja o módulo config disponível

A pasta doc possui documentação do mesmo.
Apesar de ser pra TV Digital, pode ser usado em qualquer plataforma.


2013/2/25 Eric Chiesse <[hidden email]>
Normalmente arquivos de configuração referentes ao teu aplicativo
devem ficar na mesma pasta do seu aplicativo e normalmente teu
aplicativo pode escrever nessa pasta. É o que eu faria. Acho que o
projeto fica mais organizado e não polui outros ambientes.

Acho que o MOAI (ainda não usei) não deve te impor restrições quanto a isso.

Agora quanto a gravar e ler coisas fora dessa pasta do aplicativo
realmente vai depender das permissões.

Se teu problema for só gravar as configurações em um arquivo, então o
que a gente viu até agora é suficiente e até elegante eu diria (eu só
trocaria a extensão de .txt para .cfg ou . ini para ficar claro). Se
você quer algo diferente aí é preciso ter mais detalhes.

Valeu! Boa sorte aí!

---
Eric Chiesse


Em 24 de fevereiro de 2013 17:55, psdias2 <[hidden email]> escreveu:
> Olá, Eric !
>
> a) Muito interessante  o comando "dofile" que você indicou - facílimo de
> usar.
> Fiz um teste e funcionou.
>
> b) Falta só descobrir como saber os locais (pastas, diretórios...) em que
> posso fazer a gravação.
> Quando vocês desenvolvem seus aplicativos, como obter do sistema operacional
> o nome (e caminho)
> da pasta default do aplicativo, ou a pasta default do usuário, onde meu
> aplicativo tenha direito de gravação e leitura de arquivos ?
> E isso (essa pasta onde o aplicativo tem direito de gravar e ler) depende do
> sistema operacional ?
>
> Obs.: Nos testes que estou fazendo, rodando meu aplicativo (um joguinho) no
> Windows 7, estou simplesmente indicando o nome
> do arquivo ("configuracoes.txt") e o arquivo está sendo salvo na mesma pasta
> onde se encontra o arquivo principal do meu código (main.lua).
> Mas em sistemas operacionais como o iOS e Android também é simples assim
> (basta indicar o nome do arquivo, sem me preocupar se
> tenho direito de gravação ou não na pasta) ?
>
> Grato pela atenção, e muito obrigado pela dica do "dofile".
> Paulo
>
>
>> Se seu arquivo txt for um lua bem formado (código lua sem erros) basta
>> fazer:
>>
>> dofile("config.txt")
>>
>> Isso irá carregar o código do arquivo colocando todas as variáveis
>> definidas no seu ambiente global.
>> ---
>> Eric
>>
>>
>
> --
> --
> Lua BR - http://groups.google.com/group/lua-br
>
> --- Você está recebendo esta mensagem porque se inscreveu no grupo "Lua BR"
> dos Grupos do Google.
> Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie
> um e-mail para [hidden email].
> Para obter mais opções, acesse https://groups.google.com/groups/opt_out.
>
>

--
--
Lua BR - http://groups.google.com/group/lua-br

---
Você está recebendo esta mensagem porque se inscreveu no grupo "Lua BR" dos Grupos do Google.
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para [hidden email].
Para obter mais opções, acesse https://groups.google.com/groups/opt_out.



--
--
Lua BR - http://groups.google.com/group/lua-br
 
---
Você está recebendo esta mensagem porque se inscreveu no grupo "Lua BR" dos Grupos do Google.
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para [hidden email].
Para obter mais opções, acesse https://groups.google.com/groups/opt_out.
 
 
Reply | Threaded
Open this post in threaded view
|

Re: Como criar um arquivo de configuracoes

Eric Chiesse
Pode ser config.lua também. Eu só estava enfatizando que o dofile não
olha a extensão do arquivo apenas seu conteúdo.
---
Eric


Em 25 de fevereiro de 2013 13:44, Manoel Campos da Silva Filho
<[hidden email]> escreveu:

> Porque não usa arquivos lua no lugar de txt?
> Veja o módulo config disponível
> em
> http://manoelcampos.com/2010/06/08/aplicacao-de-tv-digital-usando-arquivos-de-dados-em-lua/
>
> A pasta doc possui documentação do mesmo.
> Apesar de ser pra TV Digital, pode ser usado em qualquer plataforma.
>
>
> 2013/2/25 Eric Chiesse <[hidden email]>
>>
>> Normalmente arquivos de configuração referentes ao teu aplicativo
>> devem ficar na mesma pasta do seu aplicativo e normalmente teu
>> aplicativo pode escrever nessa pasta. É o que eu faria. Acho que o
>> projeto fica mais organizado e não polui outros ambientes.
>>
>> Acho que o MOAI (ainda não usei) não deve te impor restrições quanto a
>> isso.
>>
>> Agora quanto a gravar e ler coisas fora dessa pasta do aplicativo
>> realmente vai depender das permissões.
>>
>> Se teu problema for só gravar as configurações em um arquivo, então o
>> que a gente viu até agora é suficiente e até elegante eu diria (eu só
>> trocaria a extensão de .txt para .cfg ou . ini para ficar claro). Se
>> você quer algo diferente aí é preciso ter mais detalhes.
>>
>> Valeu! Boa sorte aí!
>>
>> ---
>> Eric Chiesse
>>
>>
>> Em 24 de fevereiro de 2013 17:55, psdias2 <[hidden email]> escreveu:
>> > Olá, Eric !
>> >
>> > a) Muito interessante  o comando "dofile" que você indicou - facílimo de
>> > usar.
>> > Fiz um teste e funcionou.
>> >
>> > b) Falta só descobrir como saber os locais (pastas, diretórios...) em
>> > que
>> > posso fazer a gravação.
>> > Quando vocês desenvolvem seus aplicativos, como obter do sistema
>> > operacional
>> > o nome (e caminho)
>> > da pasta default do aplicativo, ou a pasta default do usuário, onde meu
>> > aplicativo tenha direito de gravação e leitura de arquivos ?
>> > E isso (essa pasta onde o aplicativo tem direito de gravar e ler)
>> > depende do
>> > sistema operacional ?
>> >
>> > Obs.: Nos testes que estou fazendo, rodando meu aplicativo (um joguinho)
>> > no
>> > Windows 7, estou simplesmente indicando o nome
>> > do arquivo ("configuracoes.txt") e o arquivo está sendo salvo na mesma
>> > pasta
>> > onde se encontra o arquivo principal do meu código (main.lua).
>> > Mas em sistemas operacionais como o iOS e Android também é simples assim
>> > (basta indicar o nome do arquivo, sem me preocupar se
>> > tenho direito de gravação ou não na pasta) ?
>> >
>> > Grato pela atenção, e muito obrigado pela dica do "dofile".
>> > Paulo
>> >
>> >
>> >> Se seu arquivo txt for um lua bem formado (código lua sem erros) basta
>> >> fazer:
>> >>
>> >> dofile("config.txt")
>> >>
>> >> Isso irá carregar o código do arquivo colocando todas as variáveis
>> >> definidas no seu ambiente global.
>> >> ---
>> >> Eric
>> >>
>> >>
>> >
>> > --
>> > --
>> > Lua BR - http://groups.google.com/group/lua-br
>> >
>> > --- Você está recebendo esta mensagem porque se inscreveu no grupo "Lua
>> > BR"
>> > dos Grupos do Google.
>> > Para cancelar a inscrição neste grupo e parar de receber seus e-mails,
>> > envie
>> > um e-mail para [hidden email].
>> > Para obter mais opções, acesse https://groups.google.com/groups/opt_out.
>> >
>> >
>>
>> --
>> --
>> Lua BR - http://groups.google.com/group/lua-br
>>
>> ---
>> Você está recebendo esta mensagem porque se inscreveu no grupo "Lua BR"
>> dos Grupos do Google.
>> Para cancelar a inscrição neste grupo e parar de receber seus e-mails,
>> envie um e-mail para [hidden email].
>> Para obter mais opções, acesse https://groups.google.com/groups/opt_out.
>>
>>
>
> --
> --
> Lua BR - http://groups.google.com/group/lua-br
>
> ---
> Você está recebendo esta mensagem porque se inscreveu no grupo "Lua BR" dos
> Grupos do Google.
> Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie
> um e-mail para [hidden email].
> Para obter mais opções, acesse https://groups.google.com/groups/opt_out.
>
>

--
--
Lua BR - http://groups.google.com/group/lua-br

---
Você está recebendo esta mensagem porque se inscreveu no grupo "Lua BR" dos Grupos do Google.
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para [hidden email].
Para obter mais opções, acesse https://groups.google.com/groups/opt_out.


Reply | Threaded
Open this post in threaded view
|

Re: Como criar um arquivo de configuracoes

psdias2
Olá, Eric e Manoel !

Muito obrigado pelas dicas!  Acho que servirão para minhas necessidades.

Paulo

--
--
Lua BR - http://groups.google.com/group/lua-br
 
---
Você está recebendo esta mensagem porque se inscreveu no grupo "Lua BR" dos Grupos do Google.
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para [hidden email].
Para obter mais opções, acesse https://groups.google.com/groups/opt_out.