Leer Archivo en pascal

Iniciado por ¡Micronet!, 24 Enero 2011, 00:47 AM

0 Miembros y 1 Visitante están viendo este tema.

¡Micronet!

Bueno mi objetivo es basico ya que anteriormente ya habia utilizado pascal...y habia logrado imprimir datos dentro de un documento apartir de Pascal pero perdi el archivo  :-\.

Entonces mi nuevo objetivo es, conseguir leer un archivo .txt que tengo en el escritorio, cuyo archivo lo que tiene es la siguiente informacion:

1124535h

solo eso, lo que quiero es abrir el archivo, checar numero por numero y en el momento en que llegue a la "h" me salga error por ser un caracter.

Entonces segun mi codigo compila bien, pero no me aparece mi pantalla que no surte efecto mi pause de "readln" y si me pego a la computadora a esperar que aparece me salen como numeros hexadecimales.

Entonces queria ver si alguien me puede ayudar a:

Segundo Post


Saludos :(
espero que me puedan ayudar.



"La Tarea No Se Hace, Pero No Indica Que No Se Ayude Al Estudiante"

skapunky

Le veo un fallo, no recorres todo el archivo mediante EOF leyenda línea por línea, debería el codigo tener un estilo al siguiente:

Código (pascal) [Seleccionar]
WHILE NOT EOF(Archivo) DO
BEGIN
ReadLn(Archivo, Datos);
WriteLn(Datos);
END;


Mientras no finalize la lectura del archivo, se va colocando la información en "Datos". En tu caso, has utilizado el EOF pero haciendo una asignación que no le veo sentido.
Killtrojan Syslog v1.44: ENTRAR

¡Micronet!

#2
Cita de: skapunky en 24 Enero 2011, 21:35 PM
Mientras no finalize la lectura del archivo, se va colocando la información en "Datos". En tu caso, has utilizado el EOF pero haciendo una asignación que no le veo sentido.


Saludos skapunky... bueno pues ya avance mas pero con otro programa... tengo ahora duda nueva :/....


Listo. :) 



Tengo mi codigo asi... lo que quiero es hacer que en el momento en el que detecte la letra me arroje error. :/ pero no ce como hacerle
ya que intento forzar cambiar el tipo de dato de char a int... pero pss no ce como hacerle  :-(

"La Tarea No Se Hace, Pero No Indica Que No Se Ayude Al Estudiante"

skapunky

Cambia la siguiente linea:

if n <= 9 then

Por:

if n <= '9' then

---------------------------------------------------------------------------------------------------

Por otro lado, existen constantes del pascal para cambiar el formato del tipo de variable, entre otras:

strtoInt --> String a Entero.
InttoStr --> Entero a string.
val --> Convertir string o char a entero
....Exísten gran cantidad mas, para mas info consultar google ya que hay bastantes.
Killtrojan Syslog v1.44: ENTRAR

¡Micronet!

#4
Cita de: skapunky en 25 Enero 2011, 15:19 PM
Cambia la siguiente linea:

if n <= 9 then

Por:

if n <= '9' then

---------------------------------------------------------------------------------------------------

Por otro lado, existen constantes del pascal para cambiar el formato del tipo de variable, entre otras:

strtoInt --> String a Entero.
InttoStr --> Entero a string.
val --> Convertir string o char a entero
....Exísten gran cantidad mas, para mas info consultar google ya que hay bastantes.

Muchas Gracias :)...solo una ultima pregunta para ya no molestar jejeje  :-[
Si yo quiero que termine el programa en el momento en el que me lea la letra... y yo quisiera terminar el programa ¿?



if caracter <= '9' then
begin
writeln('', caracter);
 end
else
begin
writeln('Error: ', caracter);

end;
   end;
 



Habia intentado poner en el "else"
-end.
-cerrar el archivo close(Letras);
y
ambas me salio error... crees que me podrias ayudar en eso ultimo nada mas porfa.

"La Tarea No Se Hace, Pero No Indica Que No Se Ayude Al Estudiante"

skapunky

#5
claro que si, hay una instrucción que fuerza el cerrado del programa, como mas o menos lo hace un (end.), esta funcion es "Halt".

Antes de escribir HALT, recuerda cerrar el archivo y dejar el codigo lo mas arreglado posible, ya que esta instrucción forzará el cerrado y mejor que tu archivo no quede abierto.
Killtrojan Syslog v1.44: ENTRAR

¡Micronet!

Cita de: skapunky en 26 Enero 2011, 01:02 AM
claro que si, hay una instrucción que fuerza el cerrado del programa, como mas o menos lo hace un (end.), esta funcion es "Halt".

Antes de escribir HALT, recuerda cerrar el archivo y dejar el codigo lo mas arreglado posible, ya que esta instrucción forzará el cerrado y mejor que tu archivo no quede abierto.

Muchisimas gracias amigo :) ^^...
Ahora solo me falta algo del manejo del archivo y listo :)
pero eso ai yo me encargo jejeje :)
no quiero ser una molestia ya me ayudaste lo suficiente :) ^^

::) Te debo una :) jejeje

"La Tarea No Se Hace, Pero No Indica Que No Se Ayude Al Estudiante"