Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: hgcp en Abril 21, 2010, 10:33:47 PM

Título: Ayuda con crear archivo de texto
Publicado por: hgcp en Abril 21, 2010, 10:33:47 PM
Buenas.

Me consegu? un engine pero tengo un error al tratar de guardar un archivo txt.
lo que pasa es que me guarda 2 archivos. uno que es el "miarchivo.txt" y el otro que es "miarchivo" Es decir... Sin extencion.

?Cual es el error?

Aqui el codigo.
lastfile = file
file = get_save_filename("Archivo de texto (*.txt)|*.txt","Texto")
if file = "" {
file = lastfile
exit
}
if file_exists(file+".txt") {
if !show_question("El archivo filename_name(file) ya existe. ?Desea reemplazarlo?") {
  file = lastfile
  exit
}
}
f = file_text_open_write(file)
file_text_close(f)
if !file_exists(file) {
show_message("No se pudo guardar el archivo")
file = lastfile
exit
}
f = file_text_open_write(file+".txt")
for (m = 0; m < lines; m += 1) {
file_text_write_string(f,line[m])
if m < lines - 1 { file_text_writeln(f) }
}
file_text_close(f)
saved = true


Creo que mi error es este:
f = file_text_open_write(file+".txt")
for (m = 0; m < lines; m += 1) {
file_text_write_string(f,line[m])
if m < lines - 1 { file_text_writeln(f) }
}


Pero no se como mas ponerlo  :'(

Gracias y Saludos
Título: Re: Ayuda con crear archivo de texto
Publicado por: Killer en Abril 21, 2010, 11:37:23 PM
El problema esta en esta parte:

f = file_text_open_write(file)
file_text_close(f)
if !file_exists(file) {
show_message("No se pudo guardar el archivo")
file = lastfile
exit
}


Cambia la primera linea:

f = file_text_open_write(file)

Por esta:

f = file_text_open_write(file+".txt")
Título: Re: Ayuda con crear archivo de texto
Publicado por: hgcp en Abril 22, 2010, 01:53:38 AM
Cita de: Killer en Abril 21, 2010, 11:37:23 PM
El problema esta en esta parte:

f = file_text_open_write(file)
file_text_close(f)
if !file_exists(file) {
show_message("No se pudo guardar el archivo")
file = lastfile
exit
}


Cambia la primera linea:

f = file_text_open_write(file)

Por esta:

f = file_text_open_write(file+".txt")

No creo..
Ahora me aparese el error de no se pudo guardar..
Pero.. Sin embargo me lo guarda pero sin contenido...

:S
Me ayudan en eso?
El error que tengo es que me guarda 2 archivos.. uno con extencion y el otro sin extencion, como hacer para que solo guarde 1?
Título: Re: Ayuda con crear archivo de texto
Publicado por: Killer en Abril 22, 2010, 04:47:46 AM
Vas a perdonar, pero el problema que describes al inicio, que crea dos archivos, es indudablemente debido a lo que te dije. Una vez solucionado deber?as haber hecho las correcciones correspondientes a tu c?digo para evitar los problemas que la soluci?n pueda causar.

No niego, sin embargo, que mi respuesta no fue completa, adem?s del cambio en la primera l?nea deb?as cambiar la tercera para que buscara por file+".txt" y no por file, pero pens? que seria obvio:

if !file_exists(file+".txt") {
Título: Re: Ayuda con crear archivo de texto
Publicado por: hgcp en Abril 23, 2010, 03:57:00 AM
Cita de: Killer en Abril 22, 2010, 04:47:46 AM
Vas a perdonar, pero el problema que describes al inicio, que crea dos archivos, es indudablemente debido a lo que te dije. Una vez solucionado deber?as haber hecho las correcciones correspondientes a tu c?digo para evitar los problemas que la soluci?n pueda causar.

No niego, sin embargo, que mi respuesta no fue completa, adem?s del cambio en la primera l?nea deb?as cambiar la tercera para que buscara por file+".txt" y no por file, pero pens? que seria obvio:

if !file_exists(file+".txt") {

Definitivamente... Muchisimas Gracias!
logre corregir el error pero...

?Como hago para guardar con varias extenciones?
Es decir... ustedes saben que se abre la ventana de guardar de windows, Abajo pones el nombre del archivo y mas abajo estan los formatos que en este caso deberia de apareser el: "Archivo de texto (*.txt)" (ya que fue el que coloque)

?Como hago para poder guardar en mas formatos?
Gracias.
Título: Re: Ayuda con crear archivo de texto
Publicado por: Killer en Abril 23, 2010, 09:34:16 PM
Cuando usas la funci?n get_savefile_name puedes agregar filtros para las extensiones de los archivos que se muestran, con la forma "Nombre1|Mascara1|Nombre2|Mascara2...", por ejemplo:

get_save_filename("Documento de Texto|*.txt|Documento de Word|*.doc|Archivo de Configuraci?n|*.ini","c:\Archivo")

Pero no agrega al final del archivo la extensi?n seleccionada, para que los archivos sean salvados con distintas extensiones tu debes agregar la extensi?n manualmente.
Título: Re: Ayuda con crear archivo de texto
Publicado por: hgcp en Abril 23, 2010, 11:46:32 PM
Cita de: Killer en Abril 23, 2010, 09:34:16 PM
Cuando usas la funci?n get_savefile_name puedes agregar filtros para las extensiones de los archivos que se muestran, con la forma "Nombre1|Mascara1|Nombre2|Mascara2...", por ejemplo:

get_save_filename("Documento de Texto|*.txt|Documento de Word|*.doc|Archivo de Configuraci?n|*.ini","c:\Archivo")

Pero no agrega al final del archivo la extensi?n seleccionada, para que los archivos sean salvados con distintas extensiones tu debes agregar la extensi?n manualmente.


Gracias Nuevamente xDDDD
Pero... Como seria la forma manual en la que tendria que agregar cada formato?

Soy Nuevo en esto del GML xD
Título: Re: Ayuda con crear archivo de texto
Publicado por: Killer en Abril 24, 2010, 12:09:37 AM
Simplemente agregas la extensi?n al final del nombre del archivo, el autentico problema es saber que clase de archivo es el que se quiere salvar.

Podr?as hacer algo como esto:

File = get_save_filename("Documento de Texto|*.txt|Documento de Word|*.doc|Archivo de Configuraci?n|*.ini","c:\Archivo");
if filename_ext(File)="" File = File += ".txt";


De esta manera cualquier archivo al que no se le agregara la extensi?n al nombrarlo seria autom?ticamente un txt.
Título: Re: Ayuda con crear archivo de texto
Publicado por: hgcp en Abril 24, 2010, 12:24:10 AM
Cita de: Killer en Abril 24, 2010, 12:09:37 AM
Simplemente agregas la extensi?n al final del nombre del archivo, el autentico problema es saber que clase de archivo es el que se quiere salvar.

Podr?as hacer algo como esto:

File = get_save_filename("Documento de Texto|*.txt|Documento de Word|*.doc|Archivo de Configuraci?n|*.ini","c:\Archivo");
if filename_ext(File)="" File = File += ".txt";


De esta manera cualquier archivo al que no se le agregara la extensi?n al nombrarlo seria autom?ticamente un txt.

De esa forma al elegir por lo menos "Documento de Word" me lo va a guardar en .doc?

pero me imagino que debo borrar el +".txt" que puse anterior mente no?

Es algo dificil esto :S

Lo puse asi tu codigo:
lastfile = file
file = get_save_filename("Documento de Texto|*.txt|Documento de Word|*.doc|Archivo de Configuraci?n|*.ini","c:\Archivo");
if filename_ext(file)="" file = file+".txt";

if file_exists(file+".txt") {
if !show_question("El archivo filename_name(file) ya existe. ?Desea reemplazarlo?") {
  file = lastfile
  exit
}
}
f = file_text_open_write(file+".txt")
file_text_close(f)
if !file_exists(file+".txt") {
show_message("No se pudo guardar el archivo")
file = lastfile
exit
}
f = file_text_open_write(file+".txt")
for (m = 0; m < lines; m += 1) {
file_text_write_string(f,line[m])
if m < lines - 1 { file_text_writeln(f) }
}
file_text_close(f)
saved = true

Título: Re: Ayuda con crear archivo de texto
Publicado por: Killer en Abril 24, 2010, 12:33:33 AM
Si, debes eliminar el resto de +".txt" que hay en el c?digo.

Sobre tu seg?nda pregunta, solamente lo guardara como .doc si cuando eliges el nombre del archivo agregas .doc al final:

(http://img153.imageshack.us/img153/4926/image4g.jpg)

Lamentablemente no conosco ninguna manera de evitar esto.
Título: Re: Ayuda con crear archivo de texto
Publicado por: hgcp en Abril 24, 2010, 12:49:08 AM
Cita de: Killer en Abril 24, 2010, 12:33:33 AM
Si, debes eliminar el resto de +".txt" que hay en el c?digo.

Sobre tu seg?nda pregunta, solamente lo guardara como .doc si cuando eliges el nombre del archivo agregas .doc al final:

(http://img153.imageshack.us/img153/4926/image4g.jpg)

Lamentablemente no conosco ninguna manera de evitar esto.

Entonses no se podra hacer que al seleccionar el formato lo guarde en ese formato?  :'(
Título: Re: Ayuda con crear archivo de texto
Publicado por: soccer2008 en Abril 24, 2010, 07:23:31 PM
Si se puede eso lo estableces en el filtro o manualmente, saludos XD XD XD
Título: Re: Ayuda con crear archivo de texto
Publicado por: hgcp en Abril 28, 2010, 02:14:39 AM
Otra pregunta...
Como sustituyo los mensajes del Game Maker por mensajes de windows?

Sabes de cual hablo no? los negros... Quiero que en ves de mostrarse asi... se muestre como uno de windows