Ir al contenido


Foto

Problema al generar archivo


  • Por favor identifícate para responder
4 respuestas en este tema

#1 Thron1

Thron1

    Newbie

  • Miembros
  • Pip
  • 1 mensajes

Escrito 17 julio 2012 - 07:16

Hola para toda la comunidad!! Les comento, recien me estoy iniciando en la programacion y estoy resolviendo algunos ejercicios bastante basicos seguro para ustedes, les pido que me perdonen si hay una solucion a mi problema en el foro pero la verdad no la encontre, desde ya mil gracias.

Mi problema es asi, necesito generar un archivo de productos para un comercio con los campos Codigo de producto, precio unitario, cantidad restante de stock, y stock minimo recomendable. Solo eso. Mi problema es que al generar el archivo me salta un runtime error (65216) que segun entiendo es por usar espacio en memoria restringido. Les copio y pego el codigo.



delphi
  1. program GenerarArchivoProductos;
  2. type
  3.     TRProd=RECORD
  4.       CodP: word;
  5.       PU: real;
  6.       Cstock: integer;
  7.       Stmin: integer
  8.     end;
  9. var
  10.   RProd: TRProd;
  11.   Producs: File of TRProd;
  12. begin
  13.   assign(Producs, 'C:/Productos.dat');
  14.   rewrite(Producs);
  15.   write('Ingrese el codigo de producto: ');
  16.   read(Producs, RProd);
  17.   write(RProd.CodP);
  18.   while RProd.CodP<>0 do
  19.         begin
  20.           writeln();
  21.           write('Ingrese el precio unitario: ');
  22.           write(RProd.PU);
  23.           writeln();
  24.           write('Ingrese la cantidad restante en stock: ');
  25.           write(RProd.Cstock);
  26.           writeln();
  27.           write('Ingrese el stock minimo recomendable: ');
  28.           write(RProd.Stmin);
  29.           read(Producs, RProd);
  30.           write('Ingrese el codigo de producto: ');
  31.           write(RProd.CodP);
  32.           writeln();
  33.         end;
  34.   close(Producs);
  35. end.

 

Mil gracias por leer y perdon de nuevo por ser algo tan basico!!
  • 0

#2 monchito_elroro

monchito_elroro

    Advanced Member

  • Miembros
  • PipPipPip
  • 260 mensajes

Escrito 18 julio 2012 - 10:29

Hola, yo también soy principiante en Lazarus y despues de ver tu código no me parece tan básico  :)

A lo mejor puedas poner todo el código de error que te sale o también subir un pequeño ejemplo...

:) :)
  • 0

#3 German

German

    Member

  • Miembros
  • PipPip
  • 40 mensajes

Escrito 21 julio 2012 - 05:39

Hola, no entiendo bien que es lo que quieres hacer, pero el codigo me parece que que no es lo que tu quieres, a ver:



delphi
  1.    
  2.   program GenerarArchivoProductos;
  3.     type
  4.         TRProd=RECORD
  5.           CodP: word;
  6.           PU: real;
  7.           Cstock: integer;
  8.           Stmin: integer
  9.         end;
  10.     var
  11.       RProd: TRProd;
  12.       Producs: File of TRProd;
  13.     begin
  14.       assign(Producs, 'C:/Productos.dat');
  15.       rewrite(Producs); <<-- abres el archivo para escritura o lo creas
  16.       write('Ingrese el codigo de producto: ');
  17.       read(Producs, RProd); <<-- Lees un registro del archivo, y si esta vacio?
  18.       write(RProd.CodP); <<-- escribes el codigo por pantalla
  19.       while RProd.CodP<>0 do
  20.             begin
  21.               writeln();
  22.               write('Ingrese el precio unitario: ');
  23.               write(RProd.PU); <<-- Escribes el precio por pantalla, no deberia ser un read para leerlo?
  24.               writeln();
  25.               write('Ingrese la cantidad restante en stock: ');
  26.               write(RProd.Cstock); <<-- Escribes el stock por pantalla, no deberia ser un read para leerlo?
  27.               writeln();
  28.               write('Ingrese el stock minimo recomendable: ');
  29.               write(RProd.Stmin); <<-- Escribes el minimo por pantalla, no deberia ser un read para leerlo?
  30.               read(Producs, RProd); <<-- Vuelves a leer el registro del archivo?
  31.               write('Ingrese el codigo de producto: ');
  32.               write(RProd.CodP);  <<-- Escribes el codigo por pantalla, no deberia ser un read para leerlo?
  33.               writeln();
  34.               <<-- No deberias escribir el registro ahora en el archivo?
  35.             end;
  36.       close(Producs);
  37.     end.



Saludos.
  • 0

#4 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 21 julio 2012 - 09:17

German, por favor utiliza las etiquetas cuando expongas código. Muchas gracias.

Saludos,
  • 0

#5 German

German

    Member

  • Miembros
  • PipPip
  • 40 mensajes

Escrito 29 julio 2012 - 06:52

Mil disculpas!!!  :undecided:
  • 0




IP.Board spam blocked by CleanTalk.