SALVAR MATRIZ NO ARQUIVO INI

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

SALVAR MATRIZ NO ARQUIVO INI

Mensagem por diassis em Dom 13 Mar 2011, 22:14

Olá pessoal!!!!! Podem me ajudar???

Preciso salvar uma MATRIZ num arquivo ini, é mais ou menos assim:
Código:
ini_open(nome);
ini_write_real('FORÇA','001',fogo[0,0])
ini_close()
no ini ele aparece assim:
[FORÇA]
001=50

Mas o que presiso, é que ele apareça assim:
[FORÇA]
001=50,55,58,60,63,65 (não há a necessidade da vírgula)

com os outros valores da MATRIZ que seriam:
fogo[0,1]
fogo[0,2]
fogo[0,3]
fogo[0,4]
fogo[0,5]
fogo[0,6]

Alguém me dá uma força???? falou!!!!

diassis

Número de Mensagens : 310
Idade : 40
Data de inscrição : 07/11/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 1
   : 0

Voltar ao Topo Ir em baixo

Re: SALVAR MATRIZ NO ARQUIVO INI

Mensagem por Markituh em Dom 13 Mar 2011, 22:21

Hmmm, teriámos que usar um loop for para armazenar a cada dois valores. Mas primeiro, precisamos definir: O valor máximo do fogo é 100? Pois se for, é TOTALMENTE VIÁVEL usar classificação centesimal, por exemplo: 050,055,100,020. Pois o Game Maker não sabe diferenciar 100 de 10.

___________

"Não deixe para amanhã o que se pode fazer hoje"

Links úteis:
Índice de Tutoriais
Manual online do GMS

Markituh

Ranking : Sem avaliações
Número de Mensagens : 2183
Data de inscrição : 11/10/2009
Reputação : 106
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: SALVAR MATRIZ NO ARQUIVO INI

Mensagem por diassis em Dom 13 Mar 2011, 22:25

O VALOR MÍNIMO É "1 "E O MÁXIMO É "75"

diassis

Número de Mensagens : 310
Idade : 40
Data de inscrição : 07/11/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 1
   : 0

Voltar ao Topo Ir em baixo

Re: SALVAR MATRIZ NO ARQUIVO INI

Mensagem por ricaun em Seg 14 Mar 2011, 13:12

Hmm acho que tenho o que tu queres, tenho que procurar depois edito!

Té.

ricaun

Número de Mensagens : 169
Idade : 27
Data de inscrição : 23/09/2008
Reputação : 9
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: SALVAR MATRIZ NO ARQUIVO INI

Mensagem por vinians em Seg 14 Mar 2011, 14:04

Pode tentar isso:
Código:

var the_line, i, sep, mx;
ini_open(nome);
the_line = '';
mx = 6;
for (i = 1; i <= mx; i += 1)
{
  if (i < mx) sep = ',' else sep = '';
  the_line += string(i) + sep;
}
ini_write_string('FORÇA', '001', the_line)
ini_close()
Basicamente seria isso, basta mudar o valor de mx para o maximo do vetor.


Última edição por vinians em Seg 14 Mar 2011, 17:49, editado 1 vez(es)

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: SALVAR MATRIZ NO ARQUIVO INI

Mensagem por ricaun em Seg 14 Mar 2011, 17:16

Hmmm...

vinians escreveu:Pode tentar isso:
Código:

var the_line, i, sep, mx;
ini_open(nome);
the_line = '';
mx = 6;
for (i = 1; i <= mx; i += 1)
{
  if (i < mx) sep = ',' else sep = '';
  the_line += string(i) + sep;
}
ini_write_real('FORÇA', '001', the_line)
ini_close()
Basicamente seria isso, basta mudar o valor de mx para o maximo do vetor.

Acho que tem um erro no code, vc botou ini_write_real deveria ser ini_write_string.

Ahh, agora não sei se tu quer só ver os valores ou quer guardar eles pra depois ler eles dentro do jogo... Tu pode usar isso, vai guardar os valores.

Código:
// write(size1,size2)

var i,j,fileid;

for(i=0;i<10;i+=1)
    for(j=0;j<10;j+=1)
        array2D[i,j] = i+1000*j

fileid = file_text_open_write("test.ini")

for(i=0;i<argument0;i+=1)
{
    for(j=0;j<argument1;j+=1)
        file_text_write_real(fileid,array2D[i,j])   
    file_text_writeln(fileid)
}
file_text_close(fileid)

Eu criei a array2D pra testar, na verdade não ta como .ini ta como texto. Eu prefiro usar assim, não sei bem pra que vc vai usar isso, mas ta ai pra vc curtir...

Té.

ricaun

Número de Mensagens : 169
Idade : 27
Data de inscrição : 23/09/2008
Reputação : 9
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: SALVAR MATRIZ NO ARQUIVO INI

Mensagem por vinians em Seg 14 Mar 2011, 17:49

ricaun escreveu:Hmmm...

vinians escreveu:Pode tentar isso:
Código:

var the_line, i, sep, mx;
ini_open(nome);
the_line = '';
mx = 6;
for (i = 1; i <= mx; i += 1)
{
  if (i < mx) sep = ',' else sep = '';
  the_line += string(i) + sep;
}
ini_write_real('FORÇA', '001', the_line)
ini_close()
Basicamente seria isso, basta mudar o valor de mx para o maximo do vetor.

Acho que tem um erro no code, vc botou ini_write_real deveria ser ini_write_string.

Ahh, agora não sei se tu quer só ver os valores ou quer guardar eles pra depois ler eles dentro do jogo... Tu pode usar isso, vai guardar os valores.

Código:
// write(size1,size2)

var i,j,fileid;

for(i=0;i<10;i+=1)
    for(j=0;j<10;j+=1)
        array2D[i,j] = i+1000*j

fileid = file_text_open_write("test.ini")

for(i=0;i<argument0;i+=1)
{
    for(j=0;j<argument1;j+=1)
        file_text_write_real(fileid,array2D[i,j])   
    file_text_writeln(fileid)
}
file_text_close(fileid)

Eu criei a array2D pra testar, na verdade não ta como .ini ta como texto. Eu prefiro usar assim, não sei bem pra que vc vai usar isso, mas ta ai pra vc curtir...

Té.
A verdade, fiz correndo e passou batido! Vou arrumar lá!

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: SALVAR MATRIZ NO ARQUIVO INI

Mensagem por diassis em Qua 16 Mar 2011, 13:57

OBRIGADO GALERA!!!!! vou testar amanhã aviso se funfou!!!!!

diassis

Número de Mensagens : 310
Idade : 40
Data de inscrição : 07/11/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 1
   : 0

Voltar ao Topo Ir em baixo

Re: SALVAR MATRIZ NO ARQUIVO INI

Mensagem por diassis em Qui 17 Mar 2011, 10:16

mil perdões pelo duplo post! "mas o oureo foi ontem" rsrsrsr!!!


De acordo com minhas necessidades não funcionou
-1º criou uma linha sequancial de 1-6
-2º um arquivo em branco

talvez minha pergunta não tenha sido clara.

quaro salvar no ini uma matriz, seus valores são:

fogo[0,0]=10
fogo[1,0]=15
fogo[2,0]=35
fogo[3,0]=40
o cod:
Código:

ini_open('nome.ini');
ini_write_real('FORÇA','001',fogo[0,0])
ini_write_real('FORÇA','002',fogo[1,0])
ini_write_real('FORÇA','003',fogo[2,0])
ini_write_real('FORÇA','004',fogo[3,0])
ini_close()

no ini aparece assim:
[FORÇA]
001=10
002=15
003=35
004=40

Mas presiso que ele apareça assim:

[FORÇA]
001=10,15,35,40

não sei como eliinar as outras chaves 002, 003 e 004 já tentei....

lguém me dá uma força???? falou!!!!

diassis

Número de Mensagens : 310
Idade : 40
Data de inscrição : 07/11/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 1
   : 0

Voltar ao Topo Ir em baixo

Re: SALVAR MATRIZ NO ARQUIVO INI

Mensagem por vinians em Qui 17 Mar 2011, 10:35

Amigo, isso aqui:
Código:

var the_line, i, sep, mx;
ini_open(nome);
the_line = '';
mx = 6;
for (i = 1; i <= mx; i += 1)
{
  if (i < mx) sep = ',' else sep = '';
  the_line += string(fogo[0,i]) + sep;
}
ini_write_string('FORÇA', '001', the_line)
ini_close()
Deveria funcionar... tem certeza que voce colocou exatamente esse codigo?

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: SALVAR MATRIZ NO ARQUIVO INI

Mensagem por diassis em Qui 17 Mar 2011, 10:41

SIM só que no ini criou isso:

[força]
001=01,02,03,04,05,06
eo que quero são os valores da matriz

diassis

Número de Mensagens : 310
Idade : 40
Data de inscrição : 07/11/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 1
   : 0

Voltar ao Topo Ir em baixo

Re: SALVAR MATRIZ NO ARQUIVO INI

Mensagem por vinians em Qui 17 Mar 2011, 10:43

Vixi é verdade:

Código:

var the_line, i, sep, mx;
ini_open(nome);
the_line = '';
mx = 6;
for (i = 1; i <= mx; i += 1)
{
  if (i < mx) sep = ',' else sep = '';
  the_line += string(fogo[0,i]) + sep;
}
ini_write_string('FORÇA', '001', the_line)
ini_close()
Verifique se funciona agora...
flws!

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: SALVAR MATRIZ NO ARQUIVO INI

Mensagem por Markituh em Qui 17 Mar 2011, 11:05

Como está tudo junto, para ler posteriormente você precisaria de um loop for que lê a cada 2 caracteres. Eu ia postar um esquema que eu fiz, mas como não deu tempo, não postei. Ainda sim, se você quiser...

Gravar:
Código:
ini_open(nome)
var fire;
fire = string(fogo[0,0])+string(fogo[0,1])+string(fogo[0,2])+string(fogo[0,3])+string(fogo[0,4])+string(fogo[0,5])+string(fogo[0,6])
ini_write_real("FORÇA","001",fire)
ini_close()
Ler:
Código:
var fires,firea;
ini_open(nome)
fires = ini_read_real("FORÇA","001")
for (i=1;i<string_length(fires);i+=2)
{
firea[i-1] = string_copy(fires,0,2)
}
ini_close()
Os valores foram armazenados numa array chamada firea, que tem valores a de 2 em 2:
firea[0] = primeiro valor
firea[2] = segundo valor
firea[4] = terceiro valor
firea[6] = quarto valor
firea[8] = quinto valor
firea[10] = sexto valor

Se você for usar em algum lugar fora do código, retira o "firea" da declaração "var" e coloque a firea no Create. O código do vinians parece muito mais limpo, mas veja se o meu funciona contigo.

___________

"Não deixe para amanhã o que se pode fazer hoje"

Links úteis:
Índice de Tutoriais
Manual online do GMS

Markituh

Ranking : Sem avaliações
Número de Mensagens : 2183
Data de inscrição : 11/10/2009
Reputação : 106
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: SALVAR MATRIZ NO ARQUIVO INI

Mensagem por diassis em Qui 17 Mar 2011, 11:35

ta legal galera, tô no trabalho agora e não tenho como testar só em casa a noite, mas acredito que agora funcione, brigadão!!!

============= EDITADO ================

GALERA!!!!!!! O CÓDIGO FICOU ASSIM....
COLOCA TUDO NO CREATE MESMO
Código:
name="nome";
fogo[0,0]=10
fogo[1,0]=20
fogo[2,0]=30
fogo[3,0]=40

line = '';

line+=string(fogo[0,0])+','+string(fogo[1,0])+','+string(fogo[2,0])+','+string(fogo[3,0])

ini_open('nome.ini');
ini_write_string('FORÇA', '001',line)
ini_close()

O INI aparece assim:

[FORÇA]
001=10,20,30,40

juntei as idéas de vocês ficou show!!!!! SEM VOCÊS NÃO TERIA CONSEGUIDO Brigadão!!! bounce cheers lol!

diassis

Número de Mensagens : 310
Idade : 40
Data de inscrição : 07/11/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 1
   : 0

Voltar ao Topo Ir em baixo

Re: SALVAR MATRIZ NO ARQUIVO INI

Mensagem por Conteúdo patrocinado Hoje à(s) 23:54


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