Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-08-2015
JPSepu96 JPSepu96 is offline
Registrado
NULL
 
Registrado: ago 2015
Posts: 4
Poder: 0
JPSepu96 Va por buen camino
Error en la codificación

Hola a todos!
Soy nuevo en el foro e inauguro con una consulta.
Estoy estudiando Analisis de Sistemas y estoy en el primer año, por lo que empezamos a ver Delphi hace poco. Nos dieron para hacer un trabajo obligatorio de un software de control de Stock y tengo un error que no puedo ver donde está!
Me pueden ayudar?
Gracias

Última edición por Casimiro Notevi fecha: 02-08-2015 a las 12:16:38.
Responder Con Cita
  #2  
Antiguo 02-08-2015
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Poder: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
Bienvenido a ClubDelphi

Copia y peganos el codigo fuente en la parte que te da error y cual es el error, no acostumbramos a subir archivos para compartir codigo
Responder Con Cita
  #3  
Antiguo 02-08-2015
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 21
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
JPSepu96,

Cita:
Empezado por JPSepu96
...Nos dieron para hacer un trabajo obligatorio de un software de control de Stock y tengo un error que no puedo ver donde está...
¡Bienvenido al Club Delphi!

Por favor toma en consideración las siguientes recomendaciones:
Cita:
Guía Estándar

7- Formular las preguntas con el mayor detalle posible evitando todo tipo de ambigüedad, facilita el análisis del problema planteado y aumenta la probabilidad de obtener una solución a la consulta realizada.

8- Especificar siempre la versión del SO, lenguaje, BD y componentes utilizados, para una mejor comprensión del entorno del problema.
Tomado de : Guía de estilo de los foros.

¡Gracias por tu cooperación!

Nelson.

Última edición por nlsgarcia fecha: 17-08-2015 a las 23:27:04.
Responder Con Cita
  #4  
Antiguo 02-08-2015
JPSepu96 JPSepu96 is offline
Registrado
NULL
 
Registrado: ago 2015
Posts: 4
Poder: 0
JPSepu96 Va por buen camino
Repeat que da error

Acá les pego el repeat que me da error.
Código Delphi [-]
  Repeat
  Write ('Ingrese el codigo del producto (1-5): '); Readln (producto);
  If (producto > 0) and (producto < 6) then
    Write ('Ingrese el movimiento a realizar (E/S): '); Readln (movimiento);
      If ( upcase (movimiento)='E') or (upcase (movimiento)='S') then
            Write ('Ingrese la cantidad de unidades: '); Readln (unidades);
             if (unidades > 0) then
                {Calculo de stock y movimientos}
                Case producto of
                  1: begin
                      if (upcase (movimiento) = 'E' )
                        then
                          begin
                           entrada1:=entrada1+1;
                           stock11:=stock11+unidades;
                           unentrante1:=unentrante1+unidades;
                           end
                        else
                          if (stock11 > unidades)
                              then
                                begin
                                 salida1:=salida1+1;
                                 stock11:=stock11-unidades;
                                 unsalida1:=unsalida1+unidades;
                                end
                              else
                                Writeln ('La cantidad a extraer supera el stock');
                      end;
                  2: begin
                      if (upcase (movimiento) = 'E' )
                        then
                          begin
                           entrada2:=entrada2+1;
                           stock22:=stock22+unidades;
                           unentrante2:=unentrante2+unidades;
                           end
                        else
                          if (stock22 > unidades)
                            then
                               begin
                                salida2:=salida2+1;
                                stock22:=stock22-unidades;
                                unsalida2:=unsalida2+unidades;
                               end
                            else
                             Writeln ('La cantidad a extraer supera el stock');
                      end;
                  3: begin
                      if (upcase (movimiento) = 'E' )
                        then
                          begin
                           entrada3:=entrada3+1;
                           stock33:=stock33+unidades;
                           unentrante3:=unentrante3+unidades;
                          end
                        else
                          if (stock33 > unidades)
                           then
                             begin
                              salida3:=salida3+1;
                              stock33:=stock33-unidades;
                              unsalida3:=unsalida3+unidades;
                             end
                           else
                            Writeln ('La cantidad a extraer supera el stock');
                     end;
                  4: begin
                      if (upcase (movimiento) = 'E' )
                        then
                          begin
                           entrada4:=entrada4+1;
                           stock44:=stock44+unidades;
                           unentrante4:=unentrante4+unidades;
                           end
                        else
                             if (stock44 > unidades)
                               then
                                begin
                                 salida4:=salida4+1;
                                 stock44:=stock44-unidades;
                                 unsalida4:=unsalida4+unidades;
                                end
                               else
                              Writeln ('La cantidad a extraer supera el stock');
                     end;
                  5: begin
                      if (upcase (movimiento) = 'E' )
                        then
                          begin
                           entrada5:=entrada5+1;
                           stock55:=stock55+unidades;
                           unentrante4:=unentrante5+unidades;
                           end
                        else
                            if (stock55 > unidades)
                              then
                                begin
                                salida5:=salida5+1;
                                stock55:=stock55-unidades;
                                unsalida5:=unsalida5+unidades;
                                 end
                               else
                                Writeln ('La cantidad a extraer supera el stock');
                     end;
                end
             Else
              Writeln ('La cantidad de unidades deben ser mayores a 0')
       Else
        Writeln ('Movimiento invalido')
  Else
    Writeln ('Codigo de producto invalido');

    Write ('Desea cargar otra operacion? S/N '); readln (op);

 until upcase(op) = 'N';
El lenguaje es Delphi y no se utiliza ninguna base de datos.

Gracias

Última edición por nlsgarcia fecha: 02-08-2015 a las 16:08:10. Razón: Sintaxis Delphi
Responder Con Cita
  #5  
Antiguo 02-08-2015
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola JPSepu96.

¿ Y cuál es el error que te da ?

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #6  
Antiguo 02-08-2015
JPSepu96 JPSepu96 is offline
Registrado
NULL
 
Registrado: ago 2015
Posts: 4
Poder: 0
JPSepu96 Va por buen camino
Smile

El error me lo marca en el anteultimo else. Me tira:" Se esperaba Until pero Else ha sido encontrado".
Ya revise todo y todos los If están con los then y else correspondientes.

Gracias!
Responder Con Cita
  #7  
Antiguo 02-08-2015
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola JPSepu96.

Intentalo así:
Código Delphi [-]
  repeat
    Write ('Ingrese el codigo del producto (1-5): ');
    Readln (producto);
    if (producto > 0) and (producto < 6) then
    begin   // (*)
      Write ('Ingrese el movimiento a realizar (E/S): ');
      Readln (movimiento);  // (*)
      if (Upcase(movimiento)='E') or (Upcase (movimiento)='S') then
      begin   // (*)
        Write ('Ingrese la cantidad de unidades: ');
        Readln (unidades);
        if (unidades > 0) then
        begin
          case producto of
            1: begin
                 if (upcase (movimiento) = 'E' )then
                 begin
                   entrada1:=entrada1+1;
                   stock11:=stock11+unidades;
                   unentrante1:=unentrante1+unidades;
                 end
                 else if (stock11 > unidades) then
                 begin
                   salida1:=salida1+1;
                   stock11:=stock11-unidades;
                   unsalida1:=unsalida1+unidades;
                 end
                 else
                   Writeln ('La cantidad a extraer supera el stock');
               end;
            2: begin
                 if (upcase (movimiento) = 'E' )then
                 begin
                   entrada2:=entrada2+1;
                   stock22:=stock22+unidades;
                   unentrante2:=unentrante2+unidades;
                 end
                 else if (stock22 > unidades) then
                 begin
                   salida2:=salida2+1;
                   stock22:=stock22-unidades;
                   unsalida2:=unsalida2+unidades;
                 end
                 else
                   Writeln ('La cantidad a extraer supera el stock');
               end;
            3: begin
                 if (upcase (movimiento) = 'E' ) then
                 begin
                   entrada3:=entrada3+1;
                   stock33:=stock33+unidades;
                   unentrante3:=unentrante3+unidades;
                 end
                 else if (stock33 > unidades) then
                 begin
                   salida3:=salida3+1;
                   stock33:=stock33-unidades;
                   unsalida3:=unsalida3+unidades;
                 end
                 else
                   Writeln ('La cantidad a extraer supera el stock');
               end;
            4: begin
                 if (upcase (movimiento) = 'E' )then
                 begin
                   entrada4:=entrada4+1;
                   stock44:=stock44+unidades;
                   unentrante4:=unentrante4+unidades;
                 end
                 else if (stock44 > unidades) then
                 begin
                   salida4:=salida4+1;
                   stock44:=stock44-unidades;
                   unsalida4:=unsalida4+unidades;
                 end
                 else
                   Writeln ('La cantidad a extraer supera el stock');
               end;
            5: begin
                 if (upcase (movimiento) = 'E' )then
                 begin
                   entrada5:=entrada5+1;
                   stock55:=stock55+unidades;
                   unentrante4:=unentrante5+unidades;
                 end
                 else if (stock55 > unidades) then
                 begin
                   salida5:=salida5+1;
                   stock55:=stock55-unidades;
                   unsalida5:=unsalida5+unidades;
                 end
                 else
                   Writeln ('La cantidad a extraer supera el stock');
               end;
            end { case }
        end { if (unidades > 0)... }
        else
          Writeln ('La cantidad de unidades deben ser mayores a 0');
      end { if (Upcase(movimiento)='E')... }
      else
        Writeln ('Movimiento invalido')
    end { if (producto > 0)... }
    else
      Writeln ('Codigo de producto invalido');

    Write ('Desea cargar otra operacion? S/N ');
    Readln (op);
  until Upcase(op) = 'N';
Revisa las líneas faltantes comentadas por: "(*)".

Sólo verifiqué los errores de compilación, no sé si la lógica del código cumple su cometido.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #8  
Antiguo 02-08-2015
JPSepu96 JPSepu96 is offline
Registrado
NULL
 
Registrado: ago 2015
Posts: 4
Poder: 0
JPSepu96 Va por buen camino
Perfecto!! Era eso!
Me faltan los begin y end de los if.
Muchisimas Gracias!!
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Codificacion seryo Varios 1 08-02-2010 20:55:38
codificacion en IE ebeltete Windows 3 27-02-2008 12:53:55
Codificacion ean 128 sur-se Varios 0 30-03-2007 11:54:23
Error codificación caracteres en web papulo PHP 11 17-11-2006 16:11:25
Codificacion... chileno Varios 7 10-06-2006 20:47:48


La franja horaria es GMT +2. Ahora son las 09:28:40.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi