Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 21-02-2007
mr_mustard mr_mustard is offline
Registrado
 
Registrado: feb 2006
Posts: 8
Poder: 0
mr_mustard Va por buen camino
Problema con Rewrite

Estoy trabajando con Delphi 7 y experimenté el sigte. caso:
PROBLEMA: no podía ejecutar el siguiente código:
AssignFile(F,'ip_servidor.txt');
Rewrite(F);
writeln(F, s);
closefile(F);

daba un error Project xxxx.exe raised exception class EInOutError with message 'I/O error 32'. Process stopped.

SOLUCION:
AssignFile(F,'ip_servidor.txt');

Rewrite(F);
writeln(F, s);
closefile(F);
No sé que tiene que ver la linea en blanco, pero solucionó el estupido problema que me ha quitado varios minutos de valioso desarrollo.
Responder Con Cita
  #2  
Antiguo 23-02-2007
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 21
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
Respuesta a Problema con Rewrite

Hola:

Yo tuve un problema relacionado con archivos UDT y creo que la causa son fallas en el compilador, revisa el tema Una Pregunta Teórica sobre Archivos UDT en: http://www.clubdelphi.com/foros/showthread.php?t=40605 y me comentas si el error es de concepto o de compilador.


Gracias
Responder Con Cita
  #3  
Antiguo 23-02-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Las líneas en blanco las elimina el compilador antes de hacer el ejecutable, así que... no van por ahí los tiros.

Lo que veo en un principio, es que pasas la ruta relativa, por tanto, el archivo se creará en el directorio de windows o a saber donde.

No usas ninguna estructura try except para cerrar el archivo en caso de problemas y precisamente ese es el 'I/O ERROR 32' el archivo ya se encuentra abierto (habrás pulsado dos veces en el botón de abrir el archivo).

Por otra parte, no compruebas si el directorio donde se va a crear existe o no (el usuario puede borrar cualquier carpeta), haz un ForceDirectories si es necesario.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.

Última edición por Lepe fecha: 23-02-2007 a las 14:33:04.
Responder Con Cita
  #4  
Antiguo 23-02-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Un detalle para ambos:

Si el archivo o la ruta puede tener espacios en su nombre, o ser mayor a 8 caracteres, usad dobles comillas para encerrarlo todo, la ruta y nombre de archivo:
Código Delphi [-]
var ruta:string;
begin
ruta := '"c:\Archivos de programa\mi programa\ip_servidor.txt"';
// observen, primero una comilla simple, para iniciar un string y dentro las dobles 
// comillas tipográficas. Al terminar la ruta, al contrario.

AssignFile(F,ruta);

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Dudas en el uso del Write y rewrite. alfredosg19 Varios 1 23-01-2005 14:08:25


La franja horaria es GMT +2. Ahora son las 01:10:41.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi