Donar $20 Donar $50 Donar $100 Donar mensualmente
 


Enviar respuesta 
 
Calificación:
  • 0 votos - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Buscar en el tema
Me dan una mano?
Autor Mensaje
bareel Sin conexión
Profesor del Modulo A
Moving Forward.
*****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 207
Agradecimientos dados: 34
Agradecimientos: 7 en 5 posts
Registro en: Oct 2011
Mensaje: #1
Me dan una mano? Dudas y recomendaciones Algoritmos y Estructuras de Datos
Se que me pongo pesado con esto, pero no se que hago mal.

Quiero leer un txt y generar otro con lo que tiene este. (2 oraciones).
El programa genera el archivo pero no copia nada.


begin

assign (fl, 'arch1.txt');
reset (fl);
assign (fx, 'nuevo.txt');
rewrite (fx, 'nuevo.txt');

readln(fl);
writeln(fx);

end;


Todo esta declarado en la seccion var, por esto copio solo el bloque principal. ALguna idea?
03-07-2012 16:37
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
nanuiit Ausente
♫ I'm Blue ...
... Da ba dee, da ba da ♫
**********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 8.880
Agradecimientos dados: 216
Agradecimientos: 574 en 201 posts
Registro en: Aug 2010
Mensaje: #2
RE: Me dan una mano?
Básicamente encuentro un problemín acá:

assign (fx, 'nuevo.txt'); <--- Esto está OK
rewrite (fx, 'nuevo.txt'); <--- Esto NO está OK

Para operaciones sobre archivos como rewrite, reset, erase, el nombre FÍSICO del archivo no lo tenés que usar.
Por qué no? Porque para eso tuviste que hacer un assign primero.

Assign lo que intenta hacer es relacionar el nombre FÍSICO del archivo (es decir, el nombre con el que vos tenés guardado el archivo en tu PC) con un nombre LÓGICO; nombre que vas a usar para tu programa en Pascal Y NADA MÁS (hasta ahí llega su alcance)

En criollo, con assign lo que hacés es: A este archivo 'nuevo.txt' quiero llamarlo FX que DE ACÁ A QUE TERMINE el programa
Entonces, cuando leés un archivo, escribís un archivo, lo reseteás, lo borrás, etc.., no lo llamás por su nombre que tiene en la PC sino por el nombre que vos decidiste ponerle en tu programa Pascal

----

Por otro lado.. eso es un programa o un procedimiento? Porque si es un procedimiento, está bien que lo finalices con un ;
En caso de ser un programa, tenés que finalizarlo con un punto.

ALGORITMOS

Apuntes: Mem. Dinámica - Mem. Estática - Proc. y Funciones || Guías: Módulos + 83 Ejercicios || Finales: 2004-2013


[Imagen: digitalizartransparent.png]

[Imagen: firmananiv2.png]
03-07-2012 19:52
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
gosfede Sin conexión
Empleado del buffet
Cursando materias de 3er año
*

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 7
Agradecimientos dados: 0
Agradecimientos: 0 en 0 posts
Registro en: Mar 2012
Mensaje: #3
RE: Me dan una mano?
Faltará hacer el close del archivo???....close(fl);

"No discutas nunca con un idiota, la gente podría no notar la diferencia".(Arthur Bloch)
(Este mensaje fue modificado por última vez en: 03-07-2012 21:54 por gosfede.)
03-07-2012 21:53
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
nanuiit Ausente
♫ I'm Blue ...
... Da ba dee, da ba da ♫
**********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 8.880
Agradecimientos dados: 216
Agradecimientos: 574 en 201 posts
Registro en: Aug 2010
Mensaje: #4
RE: Me dan una mano?
(03-07-2012 21:53)gosfede escribió:  Faltará hacer el close del archivo???....close(fl);

También. Lo que dije antes, y cerrar el archivo
Y ver qué pasa cuando realice los cambios, porque huelo que algún problema más también tiene eso

ALGORITMOS

Apuntes: Mem. Dinámica - Mem. Estática - Proc. y Funciones || Guías: Módulos + 83 Ejercicios || Finales: 2004-2013


[Imagen: digitalizartransparent.png]

[Imagen: firmananiv2.png]
03-07-2012 22:30
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
el pibe Sin conexión
Presidente del CEIT
Benderista
********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 1.235
Agradecimientos dados: 5
Agradecimientos: 102 en 28 posts
Registro en: May 2011
YouTube
Mensaje: #5
RE: Me dan una mano?
cuando lees de un archivo lo guardas en una estructura

read(archivo,registro);
write(otroarchivo,registro);

[Imagen: tolivi10.jpg]
2 Veces congresista por eArgentina
13 Veces congresista por eBolivia
1 Vez Emperador por eBolivia
Ex-Ministro de Salud eArgentino

[Imagen: Necromancer616.png]
03-07-2012 22:55
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
nanuiit Ausente
♫ I'm Blue ...
... Da ba dee, da ba da ♫
**********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 8.880
Agradecimientos dados: 216
Agradecimientos: 574 en 201 posts
Registro en: Aug 2010
Mensaje: #6
RE: Me dan una mano?
No precisamente...

Fijate que está trabajando con un .txt plano

Ejemplo de Módulo II:


program curso; { grabar archivo de texto }
var
legajo:longint;
nota1,nota2:byte;
promedio:real;
archout:text; { declaración del identificador que corresponde
al nombre lógico del archivo de texto }
begin
assign(archout,'CURSO.TXT');{relacionar archivo lógico con físico}
rewrite(archout); {abrir archivo para grabar}
writeln('Ingrese legajo, o un número negativo para finalizar');
readln(legajo);
while legajo >=0 do
begin
writeln('Ingrese 2 notas');
readln(nota1,nota2);
promedio:=(nota1+nota2)/2;
writeln(archout,legajo,promedio:5:2); {grabar línea}
writeln('Ingrese legajo, o un numero negativo para finalizar');
readln(legajo);
end;
close(archout) {cerrar archivo}
end.


ALGORITMOS

Apuntes: Mem. Dinámica - Mem. Estática - Proc. y Funciones || Guías: Módulos + 83 Ejercicios || Finales: 2004-2013


[Imagen: digitalizartransparent.png]

[Imagen: firmananiv2.png]
03-07-2012 23:09
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
el pibe Sin conexión
Presidente del CEIT
Benderista
********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 1.235
Agradecimientos dados: 5
Agradecimientos: 102 en 28 posts
Registro en: May 2011
YouTube
Mensaje: #7
RE: Me dan una mano?
writeln(archout,legajo,promedio:5:2)

en ningun lado hace readln(archout)


mi punto es que no podes llamar al read y al write solo con el nombre del archivo.

[Imagen: tolivi10.jpg]
2 Veces congresista por eArgentina
13 Veces congresista por eBolivia
1 Vez Emperador por eBolivia
Ex-Ministro de Salud eArgentino

[Imagen: Necromancer616.png]
03-07-2012 23:15
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
bareel Sin conexión
Profesor del Modulo A
Moving Forward.
*****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 207
Agradecimientos dados: 34
Agradecimientos: 7 en 5 posts
Registro en: Oct 2011
Mensaje: #8
RE: Me dan una mano?
Muchachos, muchachas, muchísimo más que claro. Mil gracias.

Lo último,


cuando hago un

read(archivo, registro);
write(archivo,registro);

Me dice que registro no es una variable en la cual se pueda grabar o leer.


La verdad no sé que hacer.
03-07-2012 23:44
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
nanuiit Ausente
♫ I'm Blue ...
... Da ba dee, da ba da ♫
**********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 8.880
Agradecimientos dados: 216
Agradecimientos: 574 en 201 posts
Registro en: Aug 2010
Mensaje: #9
RE: Me dan una mano?
Qué salame, no era ese el ejemplo que iba a copiar =P

Iba a que en realidad es un archivo de texto plano, y no un archivo de registros.

"Me dice que registro no es una variable en la cual se pueda grabar o leer."

Definiste el registro en el type y en el var?

ALGORITMOS

Apuntes: Mem. Dinámica - Mem. Estática - Proc. y Funciones || Guías: Módulos + 83 Ejercicios || Finales: 2004-2013


[Imagen: digitalizartransparent.png]

[Imagen: firmananiv2.png]
04-07-2012 09:23
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
el pibe Sin conexión
Presidente del CEIT
Benderista
********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 1.235
Agradecimientos dados: 5
Agradecimientos: 102 en 28 posts
Registro en: May 2011
YouTube
Mensaje: #10
RE: Me dan una mano?
tenes que definir que registro es una variable asociada al archivo, lamentablemente no tengo codigo de un ejemplo encima

[Imagen: tolivi10.jpg]
2 Veces congresista por eArgentina
13 Veces congresista por eBolivia
1 Vez Emperador por eBolivia
Ex-Ministro de Salud eArgentino

[Imagen: Necromancer616.png]
04-07-2012 09:27
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
nanuiit Ausente
♫ I'm Blue ...
... Da ba dee, da ba da ♫
**********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 8.880
Agradecimientos dados: 216
Agradecimientos: 574 en 201 posts
Registro en: Aug 2010
Mensaje: #11
RE: Me dan una mano?
Se lo expliqué acá los otros dias. Puede que el problema esté en eso tambien

http://www.utnianos.com.ar/foro/tema-pascal-tp

ALGORITMOS

Apuntes: Mem. Dinámica - Mem. Estática - Proc. y Funciones || Guías: Módulos + 83 Ejercicios || Finales: 2004-2013


[Imagen: digitalizartransparent.png]

[Imagen: firmananiv2.png]
04-07-2012 10:33
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
bareel Sin conexión
Profesor del Modulo A
Moving Forward.
*****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 207
Agradecimientos dados: 34
Agradecimientos: 7 en 5 posts
Registro en: Oct 2011
Mensaje: #12
RE: Me dan una mano?
Bueno, muchísimas gracias.

Definí en la sección type y una variable de ese tipo.
Pero bueno, ahora funcionó.


Un saludo y no molesto más.
04-07-2012 11:57
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Buscar en el tema
Enviar respuesta 




Usuario(s) navegando en este tema: 1 invitado(s)



    This forum uses Lukasz Tkacz MyBB addons.