Duvida, Save, Database

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Duvida, Save, Database

Mensagem por lucazn1 em Seg 27 Fev 2012, 19:59

Boa noite pessoal Very Happy
Aprendi hoje como salvar minhas var em um arquivo ini, e dei uma pesquisada sobre db...
Pelo que entendi/aprendi eu apenas posso criar "uma sessão" no .ini, e no db parece ser a mesma coisa...
Só que eu estou a procura de algo um pouco mais "completo", como uma ou mais sessão dentro de uma sessão com var's dentro delas... Isso é possivel usando db ou ini ou algum outro metodo ?


Última edição por lucazn1 em Ter 28 Fev 2012, 09:37, editado 1 vez(es)

lucazn1

Número de Mensagens : 30
Idade : 20
Data de inscrição : 25/02/2012
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Duvida, Save, Database

Mensagem por saim em Seg 27 Fev 2012, 21:41

Não há limite de seções num .ini, nem limite de tamanho pra cada sessão.

Se por dbs você quer dizer data structures (lists, grids, maps, etc), também não há limites. Quer dizer, lists só têm uma dimensão mesmo, mas grids têm duas dimensões.

Que estrutura de código você está usando pra gravar suas variáveis?

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Re: Duvida, Save, Database

Mensagem por lucazn1 em Seg 27 Fev 2012, 22:11

Então cara, no gm eu estou usando os comandos ini_ ... pra mecher com o .ini (criar,ler,altera,excluir), porem esse comandos (até onde eu aprendi) só me permitem criar uma sessão com var's...
Spoiler:

[info]
nome=fulano
idade=20
[info2]
nome=ciclano
idade=22

e por ai vai...
só que eu queria fazer algo parecido com oq eu fazia quando mechia com python, que era salvar uma "info", dentro de outra. (q era +ou- assim)
Spoiler:

[info]
fulano
{
idade=20
sexo=M
gosto
{
cor_favorita= vermelho
musica
{
rock=1
axe=0
sertanejo=0
funk=-1
}
}
}
ciclano
{
....
}
e por ai vai

lucazn1

Número de Mensagens : 30
Idade : 20
Data de inscrição : 25/02/2012
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Duvida, Save, Database

Mensagem por saim em Ter 28 Fev 2012, 08:49

Ah, tá, entendi...
Não, isso não dá pra fazer com .ini mesmo. Mas dá pra cortar a seção (é sessão ou seção? Como é "pedaço", acho que é seção) "info" e fazer seções "fulano", "cicrano", etc. Pra aninhar as informações, a coisa tem que ser mais manual mesmo, infelizmente. Tipo:
[fulano-geral]
idade=20
sexo=M
[fulano - gosto]
cor_favorita= vermelho
[fulano - gosto - musica]
rock=1
axe=0
sertanejo=0
funk=-1
[cicrano - geral]
...
No final, esse aninhamento não tem valor nenhum para a máquina, então se você conseguir se organizar, não estará perdendo nada.

Mas eu concordo que a estrutura do python parece ser mais fácil de se lidar.

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Re: Duvida, Save, Database

Mensagem por lucazn1 em Ter 28 Fev 2012, 09:37

Poxa é uma pena saber disso ;/
Mas valeu pela ajuda cara, e eu tb acho, q deve ser chamado "secção" mesmo Smile
Abraço

lucazn1

Número de Mensagens : 30
Idade : 20
Data de inscrição : 25/02/2012
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Duvida, Save, Database

Mensagem por PedroX em Ter 28 Fev 2012, 12:20

Você pode tentar fazer por objeto.
Isso poderia ser feito com apenas um objeto extra (de nome obj).

Seria algo como:

Código:
fulano=instance_create(x, y, obj);
fulano.gosto=instance_create(x, y, obj);

fulano.idade=12;

fulano.gosto.cor="vermelho"

fulano.gosto.musica.rock=1

Para facilitar a criação, você poderia criar um script chamado: new_obj

Nele você coloca:
return instance_create(0, 0, obj);

Ai, seria algo assim para criar:
fulano=new_obj();

Isso é o começo, se você se interessar, posso tentar fazer algo para salvar.

PedroX

Ranking : Nota C
Número de Mensagens : 6034
Idade : 21
Data de inscrição : 26/07/2008
Notas recebidas : C+B
Reputação : 286
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Duvida, Save, Database

Mensagem por lucazn1 em Ter 28 Fev 2012, 13:14

Cara bem interessante, ia ser bem util não só pra mim, e sim pra todos Happy
Porem seria uma solução parcial, pois no momento estou criando uma engine de rpg e mais pra frente irei transforma-la em uma engine pro meu mmorpg.
Eu estava com outra deuvida, e acho q ela pode solucionar 2 problemas que eu estou tendo de uma só vez, e antes d'eu criar um novo topico, vcs poderiam me responder ? (por favor *o*)
Eu não sei como explicar oq eu quero, entã ovou dar um exemplo:
Spoiler:

Normalmente pra criar var's se usaria:
var1=99
var2=1234
var3=234
porem eu quero fazer algo assim:
global.numero+=1
var#=99
var#=1234
var#=234
#=seria a var global.numero
e o resultado seria o mesmo que o acima...
Very Happy

lucazn1

Número de Mensagens : 30
Idade : 20
Data de inscrição : 25/02/2012
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Duvida, Save, Database

Mensagem por PedroX em Ter 28 Fev 2012, 13:41

Use arrays.

var[0] = 99
var[1] = 1234
var[2] = 234

var[global.numero]=20

Entendeu?

PedroX

Ranking : Nota C
Número de Mensagens : 6034
Idade : 21
Data de inscrição : 26/07/2008
Notas recebidas : C+B
Reputação : 286
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Duvida, Save, Database

Mensagem por saim em Ter 28 Fev 2012, 14:40

Embora eu concorde que usar arrays seja mais prático, existe um outro método. Não sei como se chama, acho que já ouvi isso sendo chamado de variáveis "dinâmicas". Seja qual for o nome, a função é
Código:
variable_local_set(nome, valor);
, onde "nome", o nome da variável, é uma string que pode ser construída de forma dinâmica:
Código:
i = 0;
variable_local_set("var"+string(i), 99); i += 1;
variable_local_set("var"+string(i), 1234); i += 1;
variable_local_set("var"+string(i), 234); i += 1;
Isso NÃO É igual a usar arrays e depois você vai ter que saber o NOME da variável. Particularmente, recomendo o uso de arrays, mas você pode gostar de saber que existe esse método.

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Re: Duvida, Save, Database

Mensagem por PedroX em Ter 28 Fev 2012, 14:48

Os dois modos são úteis.
Só que há fatores a considerar.
Por exemplo, no caso do variable_local_set, o computador demora mais para responder. Ou seja, arrays seriam mais rápidas.
Uma coisa mais rápida que array é estrutura de dados. Conhecida como ds_list, ds_map, etc. Mas eu ficaria com as arrays, nesse caso.

PedroX

Ranking : Nota C
Número de Mensagens : 6034
Idade : 21
Data de inscrição : 26/07/2008
Notas recebidas : C+B
Reputação : 286
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Duvida, Save, Database

Mensagem por lucazn1 em Ter 28 Fev 2012, 17:29

Okay valeu pela ajuda, vou usar array mesmo Happy
Uma coisa q nunca consegui entender foi o uso de "string", eu sei pra que elas servem, mas nunca consegui aprender como usar Razz

lucazn1

Número de Mensagens : 30
Idade : 20
Data de inscrição : 25/02/2012
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Duvida, Save, Database

Mensagem por PedroX em Ter 28 Fev 2012, 17:50

String coloca o numero entre aspas, dizendo em grosso modo.

Converte um valor numérico em uma string, que é um conjunto de caracteres que não podem ser usados em operações matemáticas, mas sim para escrever na tela.

PedroX

Ranking : Nota C
Número de Mensagens : 6034
Idade : 21
Data de inscrição : 26/07/2008
Notas recebidas : C+B
Reputação : 286
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Duvida, Save, Database

Mensagem por Conteúdo patrocinado Hoje à(s) 13:55


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum