Autor |
Mensaje |
bfuldisaster
Nivel 7
Edad: 34
Registrado: 15 Jul 2008
Mensajes: 353
Ubicación: ...perdida por la vida
Carrera: Civil
|
|
Prometo q es la ultima vez q rompo con pascal =)
Me siguen complicando la vida, ahora con registros y archivos de texto....
No entiendo porque no me funciona el programitaaaa :@
Adjunto el programa y el archivo de texto en cuestion que deberia leer (porque no me van a entender nada si lo explico por aca), pero no se por que, me dice q "invalid type format" , cuando llega a la parte de cargar...me lo hizo en 2 programas mas (ergo, no pude hacer funcionar ni 1 de 3 programas... i'm a loser)...jejejeje
Alumnos9 es el archivo de texto, ALU-9 la codificacion en pascal..
|
|
|
|
_________________ ...All around the world, you've got to spread the word
Tell them what you've heard
We're gonna make a better day
All around the world, you've got to spread the word
Tell them what you've heard
You know it's gonna be o.k.
|
|
|
|
|
Izanagi
Nivel 7
Edad: 36
Registrado: 21 Ago 2008
Mensajes: 402
Ubicación: Belgrano
Carrera: No especificada
|
|
Mirando el código.
Consejo, no metas comentario por linea intermedia.
Que se supone que tiene que hacer la aplicacion?
|
|
|
|
_________________
[Campaña]Revivamos el Chat Fiuba
|
|
|
|
|
bfuldisaster
Nivel 7
Edad: 34
Registrado: 15 Jul 2008
Mensajes: 353
Ubicación: ...perdida por la vida
Carrera: Civil
|
|
en teoria tiene que cargar los datos en un registro, y los registros en un vector; escribir el promedio de todas las notas en el mismo archivo donde estan los datos de los alumnos; y escribir el padron y la condicion de si programo o no en un archivo nuevo...
|
|
|
|
_________________ ...All around the world, you've got to spread the word
Tell them what you've heard
We're gonna make a better day
All around the world, you've got to spread the word
Tell them what you've heard
You know it's gonna be o.k.
|
|
|
|
|
Izanagi
Nivel 7
Edad: 36
Registrado: 21 Ago 2008
Mensajes: 402
Ubicación: Belgrano
Carrera: No especificada
|
|
Aunque no haya nada en la linea que estas leyendo le tenes que pasar un string al readln(), sino va a intentar leer de pantalla una variable de tipo texto.
Ahora solo queda el error de que no graba nada en el archivo de destino
|
|
|
|
_________________
[Campaña]Revivamos el Chat Fiuba
|
|
|
|
|
Izanagi
Nivel 7
Edad: 36
Registrado: 21 Ago 2008
Mensajes: 402
Ubicación: Belgrano
Carrera: No especificada
|
|
y el formato del archivo de texto como es?
6,53 87654 A True
Supongo que el tercero es el numero de padron, pero el resto ni idea.
|
|
|
|
_________________
[Campaña]Revivamos el Chat Fiuba
|
|
|
|
|
Izanagi
Nivel 7
Edad: 36
Registrado: 21 Ago 2008
Mensajes: 402
Ubicación: Belgrano
Carrera: No especificada
|
|
|
|
|
Izanagi
Nivel 7
Edad: 36
Registrado: 21 Ago 2008
Mensajes: 402
Ubicación: Belgrano
Carrera: No especificada
|
|
Errores
Cita:
|
-Falta la validacion de apertura de archivo de origen
- Cuando lees la cabecera tenes que hacerlo con un readln(<file>,<string>), aun cuando no quieras saber que viene en esa linea.
-Evitar division por cero en el calculo de promedio
-Cierra el archivo antes de grabar el promedio
-No coloca parametros en el writeln(<file>, '')
-el readln(<file>, <param1>,<param2>,..,<paramn>) lee entre espacios y no entre comas.
-EOF(<file>)
-El separador de decimal tiene que ser PUNTO
-En caso de volver a operar tira error. Supongo que hay que poner el promedio en la cabecera.
-Cuando graba el archivo con experiencia esta colocando una letra después del número de padrón
Falta leer un campo en el archivo de origen
|
Enjoy.
|
|
|
|
_________________
[Campaña]Revivamos el Chat Fiuba
|
|
|
|
|
MirianQ
Nivel 8
Edad: 35
Registrado: 29 Feb 2008
Mensajes: 675
Ubicación: Siempre desvirtuando... siempre.
Carrera: Electrónica y Informática
|
|
Yo no entiendo esta linea
ReadLn(DatosL,calific,padr,cond,progsn);
Se supone que si estas leyendo una linea en un archivo de texto, todo se trata como caracteres... No podes levantar los numeros como numeros y las letras como letras. Vas a tener que hacer una conversion de los campos, para eso se usan los separadores (en tu caso son espacios en blanco, tambien se usan comas o el tabulador). Lo que tenes que hacer es; al levantar la linea completa "6,53 87654 A True" extraer el string "6,53" y convertirlo en un numero. Lo mismo con los demas campos numericos. Para ello vas a usar las funciones "copy", "delete" y el procedimiento "Val" (buscalos en interné que te explican como se usan).
En fin, la linea tendria que ser:
linea:string;
readln(<file>,linea);
procesarLinea(linea);
Ese fue el primer error que encontre. Luego esta lo del EOF que dice Izanagui.
Hasta aca llegue.
|
|
|
|
_________________
|
|
|
|
|
Izanagi
Nivel 7
Edad: 36
Registrado: 21 Ago 2008
Mensajes: 402
Ubicación: Belgrano
Carrera: No especificada
|
|
bullets, si podes usar el readln de esa forma
Si funciona cuando lees por pantalla, funciona para archivos.
La observación importante, esto parsea con espacios, asi que si es un csv va a tener que hacer como vos dijiste (parseo y toda la sanata).
|
|
|
|
_________________
[Campaña]Revivamos el Chat Fiuba
|
|
|
|
|
bfuldisaster
Nivel 7
Edad: 34
Registrado: 15 Jul 2008
Mensajes: 353
Ubicación: ...perdida por la vida
Carrera: Civil
|
|
No, igual no podia usar ni copy, ni delete, ni nada q no haya visto, es super rompepelotas Jimenez Rey con eso... "Solo se podran utilizar conceptos vistos en clase"...
|
|
|
|
_________________ ...All around the world, you've got to spread the word
Tell them what you've heard
We're gonna make a better day
All around the world, you've got to spread the word
Tell them what you've heard
You know it's gonna be o.k.
|
|
|
|
|
|