Salvando lista em um file

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

Salvando lista em um file

Mensagem por Gordyne em Qua 07 Abr 2010, 03:50

Olá estou aprendendo essa linguagem na marra e preciso de uma ajudinha aqui...
Programei no meu objeto inv_other para criar uma lista com cada nome, posição x ,y, e peso da instância encontrada.

{
var i,a,c,l,px,py,inst;
inst = 0;
px = inv_other.x + 6;
py = inv_other.y + 6;

if (lista == 1)
{
lista1 = ds_list_create();
for (l=0; l<=12; l+=1)
{
for (c=0; c<=13; c+=1)
{

inst = instance_position(px,py,gun_parent)
ds_list_add(lista1,inst);
with (inst) do
{
ds_list_add(inv_other.lista1,nome);
ds_list_add(inv_other.lista1,posx);
ds_list_add(inv_other.lista1,posy);
ds_list_add(inv_other.lista1,peso);
instance_destroy();
}

px = px + 36;
}
px = inv_other.x + 6;
py = py + 36;
}
lista1 = ds_list_write(lista1);
}

Depois programei no evento key press L o seguinte:

{
var f;
f = file_text_open_write(working_directory + '\listas\stash1.dat')
file_text_write_string(f,inv_other.lista1)
file_text_close(f);
}

Soh que parece que não há uma conversão de valores para str pois o meu stash1.dat parece com:

2D010000BA00000000000000000000008072F840000000000100000000000000

Na verdade, umas 4 linhas iguais a essas...

Se alguem puder ajudar...

Gordyne

Número de Mensagens : 33
Data de inscrição : 22/07/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Salvando lista em um file

Mensagem por Cainã em Qua 07 Abr 2010, 12:32

Não sei se pode ser isso mas parece que você gravou no arquivo de texto o ID da lista e não nenhum valor dela.

(P.S. Usa variáveis e arrays, é mais fácil e eficiente ;) )

Cainã

Número de Mensagens : 1335
Idade : 22
Data de inscrição : 07/03/2010
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://cai.na.tl/

Voltar ao Topo Ir em baixo

Re: Salvando lista em um file

Mensagem por vinians em Qua 07 Abr 2010, 14:25

Na verdade voce salvou sua informação de cada instancia em várias linhas. Ou seja, o nome numa linha, a posicao X na outra etc. Pra ficar mais facil seria melhor voce somar essas informações em uma unica linha e depois na hora de ler voce separar.
Voce pode fazer assim:

with (inst) do
{
sLinha := nome + '|' + string(posx) + '|' + string(posy) + '|' + string(peso);
ds_list_add(inv_other.lista1, sLinha);
instance_destroy();
}

Isso vai gravar os dados em cada linha, uma instancia por linha.
Pra salvar em um arquivo texto Evento Keyboard L voce tem que percorrer a lista a savar cada linha assim:


var f;
f = file_text_open_write(working_directory + '\listas\stash1.dat')
for (i = 0; i < ds_list_size(inv_other.lista1); i += 1)
{
sLinha := ds_list_find_value(inv_other.lista1, i);
file_text_write_string(f, sLinha)
file_text_writeln(f);
}
file_text_close(f);

Depois você pode ler cada linha e decofica-las usando o separador.
Qualquer duvida pergunte!

vinians

Ranking : Nota B
Número de Mensagens : 2490
Idade : 27
Data de inscrição : 18/09/2008
Notas recebidas : B-C-A-C
Reputação : 52
Insignia 1 x 0 Insignia 2 x 1 Insignia 3 x 0
Prêmios
   : 0
   : 2
   : 1

http://xcreatorgames.weebly.com/

Voltar ao Topo Ir em baixo

Re: Salvando lista em um file

Mensagem por Gordyne em Qui 08 Abr 2010, 03:09

Valeu, ajudou bastante! Very Happy

Gordyne

Número de Mensagens : 33
Data de inscrição : 22/07/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Salvando lista em um file

Mensagem por Conteúdo patrocinado Hoje à(s) 11:34


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