• Domingo 22 de Diciembre de 2024, 08:02

Autor Tema:  :blink: Error 113: Error In Statement!!!!!!!!!  (Leído 7265 veces)

M4R14N0

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
:blink: Error 113: Error In Statement!!!!!!!!!
« en: Miércoles 14 de Diciembre de 2005, 20:59 »
0
primero saludos a todos, y felicitaciones porque esta muy bueno el foro.
bueno voy a grano. no tengo mucha idea y estoy empesando a practicar programacion en turbo pascal, estoy tratando de hacer una agenda, media precaria por ahora pero bue :P . necesito ayuda cuando compilo el programita me tira un error en el primer procedimiento y no me puedo dar cuenta cual es el problma :angry: . no me cabe duda q sea una pavada :rolleyes:, porque empese hace un tiempito nomas :D  .

bueno ak les dejo el codigo para q lo miren, aver si me pueden dar una ayudita por favor. bueno desde ya les agradesco. chau muchas gracias.

Código: Text
  1.  
  2. program agenda1;
  3.  
  4. uses crt;
  5.  
  6. const nombrearchivo='agenda.dat';
  7. type
  8.      tagenda = record
  9.              nombre:string;
  10.              apellido:string;
  11.              telefono:integer;
  12.       end;
  13.  
  14.       tarchivo=file of tagenda;
  15.  
  16. var
  17.    agenda:tarchivo;
  18.  
  19.  
  20. (************FUNCION Q ME DICE SI EXISTE NOMBRE EN EL REGISTRO*****************)
  21.  
  22. function existe_nombre(var archivo:tarchivo; temporal:tagenda):boolean;
  23. var aux:tagenda;
  24.  
  25. begin
  26. reset(archivo);
  27. while not eof(archivo) do
  28. begin
  29.      read(archivo,aux);
  30.      if (temporal.nombre = aux.nombre) then
  31.         begin
  32.              existe_nombre:=true;
  33.              exit;
  34.         end
  35.      else
  36.          existe_nombre:=false;
  37. close(archivo);
  38. end;
  39.  
  40.  
  41. (**************************CARGARA LOS DATOS EN EL ARCHIVO*********************)
  42.  
  43. procedure cargar(var archivo:tarchivo);
  44.  
  45. var temporal:tagenda;
  46.  
  47. begin
  48. reset(archivo);
  49. write('ingrese nombre completo : '); readln(temporal.nombre);
  50. write('ingrese apellido : '); readln(temporal.apellido);
  51. write('ingrese telefono : '); readln(temporal.telefono);
  52. if not existe_nombre(archivo,temporal) then write(archivo,temporal); //sino existe se cargan los datos
  53. else
  54.     begin
  55.          writeln('el nombre q esta ingresando ya existe ');
  56.  
  57.          cargar(archivo); //si existe el nombre, se llama al procedimiento nuevamente
  58.     end;
  59. close(archivo);
  60. end;
  61.  

micropais

  • Miembro activo
  • **
  • Mensajes: 93
    • Ver Perfil
Re: :blink: Error 113: Error In Statement!!!!!!!!!
« Respuesta #1 en: Miércoles 14 de Diciembre de 2005, 23:27 »
0
borrado  :hola:

Enko

  • Miembro de PLATA
  • *****
  • Mensajes: 1562
  • Nacionalidad: 00
    • Ver Perfil
Re: :blink: Error 113: Error In Statement!!!!!!!!!
« Respuesta #2 en: Miércoles 14 de Diciembre de 2005, 23:36 »
0
Citar
- usas comentarios en C , en Pascal son así
{un comentario de texto}
(* otro comentario las dos estrellas son obligatorias *)
(* {un comentario dentro de otro} *)
En pascal se aceptan tanto los comentarios con {} como con (* *). El último estilo fue muy popular en EUROPA debido por la facilidad de los () y complicación de {}.

Los nuevos compiladores de pascal tambien aceptan los comentarios de linea cono C y otros lenguajes.

Código: Text
  1.  
  2. {comentario}
  3. (* comentario *)
  4. //comentario de una linea sola
  5.  
  6.  

micropais

  • Miembro activo
  • **
  • Mensajes: 93
    • Ver Perfil
Re: :blink: Error 113: Error In Statement!!!!!!!!!
« Respuesta #3 en: Jueves 15 de Diciembre de 2005, 13:57 »
0
borrado

Enko

  • Miembro de PLATA
  • *****
  • Mensajes: 1562
  • Nacionalidad: 00
    • Ver Perfil
Re: :blink: Error 113: Error In Statement!!!!!!!!!
« Respuesta #4 en: Jueves 15 de Diciembre de 2005, 15:55 »
0
M4R14N0:
               tenías un par de errores "tontos", en la primer funcion te faltaba un end del while not eof, y en la segunda, en el if tenías un ; de más.
Fijate que te agregue comentarios en donde estaban los errores. Eso si, ahora compila pero no se si funciona ya que no es todo el programa lo que pasaste.
Código: Text
  1.  
  2. function existe_nombre(var archivo:tarchivo; temporal:tagenda):boolean;
  3. var aux:tagenda;
  4. begin
  5.   reset(archivo);
  6.   while not eof(archivo) do
  7.   begin
  8.     read(archivo,aux);
  9.       if (temporal.nombre = aux.nombre) then
  10.        begin
  11.          existe_nombre:=true;
  12.          Exit;
  13.        end else
  14.         existe_nombre:=false;
  15.    end; (*te faltaba este end*)
  16.   close(archivo);
  17. end;
  18.  
  19.  
  20. procedure cargar(var archivo:tarchivo);
  21. var temporal:tagenda;
  22. begin
  23.   reset(archivo);
  24.   write('ingrese nombre completo : '); readln(temporal.nombre);
  25.   write('ingrese apellido : '); readln(temporal.apellido);
  26.   write('ingrese telefono : '); readln(temporal.telefono);
  27.   if not existe_nombre(archivo,temporal) then
  28.     write(archivo,temporal) (* el ";" no va*)
  29.   else begin
  30.      writeln('el nombre q esta ingresando ya existe ');
  31.       cargar(archivo);
  32.    end;
  33.   close(archivo);
  34. end;
  35.  
  36.  

micropais:

Citar
TP7 sigue sin aceptarlos - ó eso creo - , si halguien quiere que le revisen el programa , por lo menos tendria que decir la version pascal que utiliza , yo
asumo tp5 6 ó 7 de borlan como estandard , ya que algunas de estas versiones estan liberadas y son gratuitas y además faciles de obtener.

Si alguien me dice que el codigo está escrito con otro tipo de compilador o bajo
otra plataforma ,ó incluso delfi , o pascal IBM o incluso GNU linux . No solo no lo corrijo si no que ni siquiera leo el mensaje . ya que desconozco totalmente las caracteristicas de susodicho compilador.
Calculo que usa Free Pascal, Delphi no es por el Uses CRT;
Respecto a los compiladores..... relativamente son bastante compatibles pero hay cositas que se diferencian.
El FP (FreePascal) deja usar los comentarios de una linea solo como C y ademas asignaciones del tipo   i := i+5;  pueden ser como i+=5;
por supuesto que hay otras cosas, pero como dije antes, son bastante compatibles.


yo la verdad que prefiero programar en delphi, hago aplicaciones consola para no tener que meterme con las guis. El tema es que TP7 es muuuy obsoleto y no te permite hacer un monton de cosas que por ejemplo el FreePascal Si.

Respecto al estandar de pascal, cuando salió el TP no era estandar, se consideraba estandar al ISO Pascal pero aun así fue un éxito. Inovaba un monton de cosas, no solo el entorno sino que el lenguaje permitía POO en pascal cosa que antes no se podía.
Ahora quedó un tanto viejito, y realmente el FreePascal lo supera en eso, además el free pascal utiliza ya el lenguaje Object Pascal que es mucho más comodo  el POO que trae el TP. (Al menso que no te interese la Programcion Objeto Orientado, te lo recomiendo).

por sierto, ¿programas por hobby o estas en una carrera de ingeniería?

Saludos :hola:  :P

micropais

  • Miembro activo
  • **
  • Mensajes: 93
    • Ver Perfil
Re: :blink: Error 113: Error In Statement!!!!!!!!!
« Respuesta #5 en: Viernes 16 de Diciembre de 2005, 00:01 »
0
borrado

Enko

  • Miembro de PLATA
  • *****
  • Mensajes: 1562
  • Nacionalidad: 00
    • Ver Perfil
Re: :blink: Error 113: Error In Statement!!!!!!!!!
« Respuesta #6 en: Viernes 16 de Diciembre de 2005, 00:10 »
0
Citar

En serio, un estudiante universitario aprende más cosas innecesarias de las que deberia utilizar , No, no soy Universitario , ni siquiera estudio, no te creas que no se de lo que hablo ...aveces me bajo los cursos y ph34r.gif no solocursos ph34r.gif informaticos , de muchas Universidades ' HTTrack '.

Tambien programo por hobby, solo que hace  3 años. Muy de acuerdo. :)

Citar
Irie Pascal for Windows v2.01 - Pascal CompilerInterpreter
lo probé en alguna oportunidad, mhhhh, no me acuerdo como es, pero seguramente malo :lol:

micropais

  • Miembro activo
  • **
  • Mensajes: 93
    • Ver Perfil
Re: :blink: Error 113: Error In Statement!!!!!!!!!
« Respuesta #7 en: Viernes 16 de Diciembre de 2005, 10:30 »
0
borrado

M4R14N0

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re: :blink: Error 113: Error In Statement!!!!!!!!!
« Respuesta #8 en: Viernes 16 de Diciembre de 2005, 19:36 »
0
Muchas gracias enko y micropais.

acomode el programa segun las modificaciones q me dijistes enko y lo pude compilar bien, bueno ahora me queda por acomodar bien la funcion que me dice si el nomber q estoy ingresando ya existe, el procedimiento q muestra los datos, y bueno despues me ire fijando q correcciones mas tendre q hacerle. una ves q lo tenga terminado lo pongo en el foro para que le eche un vistaso el que quiera :) .

bueno les cuento, curse primer año de ing. en sistemas en tandil hace 4 años (programaba en turbo pascal 7, por un tema economico y otro q lo unico q me interesaba era programar, tuve q dejar.
hace rato q queria empesar de nuevo a programar y no encontraba un solo manual q me ayudara, me baje cantidad de manuales...bla bla bla...
ahora empese a practicar de nuevo, encontre un buen manual de free pascal y estoy usando ese :comp: .
cuando empese me sorprendi de la cantidad de cosas q me avia olvidado. bueno programo porque me gusta-hobby y tambien porque me gustaria hacer plata con esto :D .

lo que me recomendaron fue q practique bien con pascal y despues me pase a delphi, que opinan de esto?.

Amilius

  • Miembro HIPER activo
  • ****
  • Mensajes: 665
    • Ver Perfil
Re: :blink: Error 113: Error In Statement!!!!!!!!!
« Respuesta #9 en: Viernes 16 de Diciembre de 2005, 20:30 »
0
Cita de: "M4R14N0"
Muchas gracias enko y micropais.

acomode el programa segun las modificaciones q me dijistes enko y lo pude compilar bien, bueno ahora me queda por acomodar bien la funcion que me dice si el nomber q estoy ingresando ya existe, el procedimiento q muestra los datos, y bueno despues me ire fijando q correcciones mas tendre q hacerle. una ves q lo tenga terminado lo pongo en el foro para que le eche un vistaso el que quiera :) .

bueno les cuento, curse primer año de ing. en sistemas en tandil hace 4 años (programaba en turbo pascal 7, por un tema economico y otro q lo unico q me interesaba era programar, tuve q dejar.
hace rato q queria empesar de nuevo a programar y no encontraba un solo manual q me ayudara, me baje cantidad de manuales...bla bla bla...
ahora empese a practicar de nuevo, encontre un buen manual de free pascal y estoy usando ese :comp: .
cuando empese me sorprendi de la cantidad de cosas q me avia olvidado. bueno programo porque me gusta-hobby y tambien porque me gustaria hacer plata con esto :D .

lo que me recomendaron fue q practique bien con pascal y despues me pase a delphi, que opinan de esto?.
Pasate a delphi de una vez.   ;)
La ayuda que tiene es bastante buena, muchisimo mejor que la de otros IDEs como visual studio. Ademas que existe gran variedad de componentes gratuitos para bajarlos y en mi opinion tiene el mejor balance de facilidad de uso y tiempo de programacion vs eficiencia de codigo. De hecho puedes programar codigo tan eficiente como si utilizaras  C (compatible con todos los tipos de datos de C), puedes optimizarlo con ASM, pero si no tienes tiempo para darte esos lujos puedes ahorrarte trabajo utilizando componentes, ni que decir de sus capacidades para aplicaciones de bases de datos.

Tambien seria bueno que echaras un ojo a compiladores como http://www.lazarus.freepascal.org/

Enko

  • Miembro de PLATA
  • *****
  • Mensajes: 1562
  • Nacionalidad: 00
    • Ver Perfil
Re: :blink: Error 113: Error In Statement!!!!!!!!!
« Respuesta #10 en: Viernes 16 de Diciembre de 2005, 20:47 »
0
Citar
Tambien seria bueno que echaras un ojo a compiladores como http://www.lazarus.freepascal.org/
Lazarus no está mal, pero un "hola mundo" ocupa algo de 1 mega :(

Si quieres pasarte a Delphi, práctica POO, es lo que más cuesta en el cambio.

micropais

  • Miembro activo
  • **
  • Mensajes: 93
    • Ver Perfil
Re: :blink: Error 113: Error In Statement!!!!!!!!!
« Respuesta #11 en: Sábado 17 de Diciembre de 2005, 00:08 »
0
Saludos a los tres  :)

Enko

  • Miembro de PLATA
  • *****
  • Mensajes: 1562
  • Nacionalidad: 00
    • Ver Perfil
Re: :blink: Error 113: Error In Statement!!!!!!!!!
« Respuesta #12 en: Sábado 17 de Diciembre de 2005, 02:00 »
0
Te cuento las ventajas de POO que conozco.

Encapsulacion:
Viste cuando programas algo muy grande, muchas veces ocurre que el proyecto es tan amplio que te podes olvidar despues de como funcionaba cierta rutina, que parametros pasarles o cosas por el estilo, con la encapsulacion ese problema está bastante solucionado, porque, la idea de un objeto encapsulado es que lo puedas usar sin saber como funciona.
Imaginate un video juego, el que anima al personaje principal tiene que dibujarlo en la pantalla, pero la pantalla es un objeto encapsulado escrito por otro programador, entonces, el que anima al personaje, no sabe como funciona la pantalla pero aun así la puede usar.

Herencia:
Te facilita a la hora de escribir código:
por ejemplo, en una base de datos, tenes un objeto Persona y otro Alumno.
Un alumno tiene todas las características de una persona mas Grado, promedio, etc... Podría Heredar todas esas caractrísticas de la persona.

hay muhcas más..... pero con esas ya alcanza.

Todos los nuevos lenguajes son POO, por algo será ¿NO?

micropais

  • Miembro activo
  • **
  • Mensajes: 93
    • Ver Perfil
Re: :blink: Error 113: Error In Statement!!!!!!!!!
« Respuesta #13 en: Sábado 17 de Diciembre de 2005, 20:23 »
0
borrado

micropais

  • Miembro activo
  • **
  • Mensajes: 93
    • Ver Perfil
Re: :blink: Error 113: Error In Statement!!!!!!!!!
« Respuesta #14 en: Sábado 17 de Diciembre de 2005, 20:39 »
0
borrado

Amilius

  • Miembro HIPER activo
  • ****
  • Mensajes: 665
    • Ver Perfil
Re: :blink: Error 113: Error In Statement!!!!!!!!!
« Respuesta #15 en: Sábado 17 de Diciembre de 2005, 21:43 »
0
Cita de: "micropais"
Citar
Todos los nuevos lenguajes son POO, por algo será ¿NO?

¿Para sacarnos la PASTA? (PLATA).

Te voy a poner un ejemplo en VB
has visto alguna vez Visual Basic , los modulos que acompañan al lenguaje,
mira Crystal Report , se engancha al programa y permite entre otras Navegar
por internet , imprimir en cualquier impresora  etc.
has visto el control RichTexBox que permite editat ficheros RFT importar y pegar ventanas de cualquier aplicación que soporte windows.
bueno precisamente estos controles y otros muchos más que de echo facilitan
la programacion con el solo echo de heredarlos y que realmente ahorran muchisimo trabajo , precisamente  los controles que nesecitas , los mejores ,
 :o  - NO SON GRATUITOS - :o  . y en caso de crear una aplicacion comercial deberas pagar un canon por cada objeto y copia suministrada , al estilo canon MP3, aparte que quien utilice esos controles deberá notificarselo a microsoft .

No se si realmente es una ventaja , lo que si es verdad que ahorran
muchissisimo trabajo a la hora de programar.
 :whistling:

Pero realmente no me referia a eso , me referia , a usar nuetrsos poropios controles , o crear objetos para despues reutilizarlos , no creo que llegemos
a ser comerciales ya que los mejores controles no estan echos en ningún
lenguaje de alto nivel ya que estos suelen ser lentisimos , los mejores se programan en Assembler.
En cuanto a reutilizar el código , podemos hacerlo mediante funciones o procedimientos , y aun así , está comprobado que es más rápido crear código
lineal que generar un bucle aunque tambien genere más gasto de espacio en memoria .
- Reducir el código, compactar  , Pa Qe, si nos sobran TeraByts


por cierto:
has programado alguna vez en P.O.O? ,aunque realmente no sea un
nuevo tipo de programacion si no otra forma de pensar.

- ¿cuanto tiempo de más has gastado en crear pastillas reutilizables propias?
 y ¿cuantas realmente has reutilizado?.

 :whistling:  :whistling:  :whistling:

Salu-  D.O.S  ;)
La verdad es que por experiencia personal veo que la gran mayoria no aprende bien a sacar provecho de la POO, pueden dominar la teoria pero en la practica al usar POO se enredan solos. La idea basica de la POO es facilitarte las cosas, no enredarlas.

Cuanto más grande el proyecto más notarás el impacto beneficioso de la POO, si es que el sistema esta diseñado correctamente, caso contrario las cosas sólo se complicarán cada vez más y nunca llegarás a notar que tus clases y objetos te estan ahorrando trabajo. Esto de dominar realmente la POO no es trivial, como ya dijeron, es otra forma de pensar y a menos que te pongas a vibrar a la misma frecuencia estarás como un carpintero usando un serrucho como martillo.  :P

P.D. Si estas haciendo un programa muy muy chico que no esperas convertirlo en algo más grande, olvidate de la POO.

Amilius

  • Miembro HIPER activo
  • ****
  • Mensajes: 665
    • Ver Perfil
Re: :blink: Error 113: Error In Statement!!!!!!!!!
« Respuesta #16 en: Sábado 17 de Diciembre de 2005, 22:10 »
0
Cita de: "Enko"
Citar
Tambien seria bueno que echaras un ojo a compiladores como http://www.lazarus.freepascal.org/
Lazarus no está mal, pero un "hola mundo" ocupa algo de 1 mega :(

Si quieres pasarte a Delphi, práctica POO, es lo que más cuesta en el cambio.
:P  Es cierto los .exe crecen y crecen sin medida... :P

Es el costo de la comodidad: cientos de miles de lineas de codigo (no exagero) que posiblemente no serán utilizados pero estan alli de todos modos.

Pero ese es un problema bastante común, aunque algunas veces los disimulan bien como con el vs c#.NET.  Los .exe tienen tamaño proporcional a tu codigo, un hola mundo es diminuto, pero por detras están varios de megas del .NET framework. :P

P.D.

Adjunto un pequeño hola mundo para delphi3 en modo consola, para que a partir de el puedan hacer sus aplicaciones el modo consola teniendo los ejecutables bastante chicos siempre y cuando no utilicen otras bibliotecas con "uses". ( Hola mundo de 16KB, nada de POO para los que no les guste :D )

¿Que hace esto en el foro de pascal?

Pues simplemente para mostrar que con delphi pueden programar de la forma que lo hacian en pascal, sin tener que meterse con POO, al menos en aplicaciones exclusivas de modo consola. El siguiente paso será utilizar los objetos de delphi pero programando en forma estructurada (es decir sin crear tus propias clases ni extender las que ya existen). Y finalmente, si es que lo necesitan y realmente empiezan a ver que les facilita las cosas empezar a programar sus propias clases.
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.

M4R14N0

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re: :blink: Error 113: Error In Statement!!!!!!!!!
« Respuesta #17 en: Sábado 17 de Diciembre de 2005, 22:25 »
0
bueno ya tengo terminada mi agenda :D . voy a ver como puedo hacer para ponerla mas linda, un poco de "grafico" y esas cosas :P .

bueno gente por ahora voy a practicar vastante y ver q onda con POO porque no tengo ni idea, ni siquiera he leido algo :unsure: , asi q me voy a buscar un buen manual para estudiar :smartass:  :comp:.

micropais

  • Miembro activo
  • **
  • Mensajes: 93
    • Ver Perfil
Re: :blink: Error 113: Error In Statement!!!!!!!!!
« Respuesta #18 en: Domingo 18 de Diciembre de 2005, 13:00 »
0
borrado