Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Ayuda con error "Not enough actual parameters" (https://www.clubdelphi.com/foros/showthread.php?t=88787)

irurueta 30-07-2015 19:39:21

Ayuda con error "Not enough actual parameters"
 
2 Archivos Adjunto(s)
Hola a todos, soy estudiante y soy un ñoqui para esto!
Tengo un problema con un programa cuando lo compilo, y no se como solucionarlo!
Dejo una imagen de el procedure y otra del error!

AgustinOrtu 30-07-2015 20:15:32

Bienvenido

No se ve nada en las imágenes, sería mejor que nos copies el código y nos digas cual es el error

irurueta 30-07-2015 20:20:19

Cita:

Empezado por AgustinOrtu (Mensaje 495071)
Bienvenido

No se ve nada en las imágenes, sería mejor que nos copies el código y nos digas cual es el error

Código Delphi [-]
procedure calc_desc(contE_1,contE_2,contE_3,contE_4,contE_5:integer;var desc_1,desc_2,desc_3,desc_4,desc_5:real;
                             var aux_1,aux_2,aux_3,aux_4,aux_5:real;var porc1,porc2,porc3,porc4,porc5:real;var tot1,tot2,tot3,tot4,tot5:real);
//Calcular descuento.
begin
 aux_1:=130*contE_1;
 if aux_1>1000 then
  begin
  porc1:=aux_1*0.1;
  desc_1:=porc1-aux_1;
  tot1:=aux1-porc1

Código Delphi [-]
calc_desc(cont1,cont2,cont3,cont4,cont5,desc1,desc2,desc3,desc4,desc5,aux1,aux2,
 aux3,aux4,aux5,tot1,tot2,tot3,tot4,tot5); //aca me tira error :

Código:

[Error] Project2.dpr(224): Not enough actual parameters
Código Delphi [-]
 if aux1>1000 then
  begin
  writeln('El producto 1 tiene un descuento del 10%, debe pagar $',tot1:8:2);
  end;

dec 30-07-2015 20:32:17

Hola,

He cambiado el título de este hilo y he formateado tu último mensaje, irurueta. Por favor, revisa la guía de estilo de los foros.

dec 30-07-2015 20:40:23

Hola,

El mismo mensaje de error te está diciendo el problema: "No se han proporcionado los argumentos necesarios". Contando los argumentos de la declarada función (una verdadera barbaridad, por cierto) estos no coinciden con los que usas al llamar a dicha función y de ahí el problema.

irurueta 30-07-2015 20:43:30

Gracias bro, no tenia ni idea como hacer eso jaja!

(MAJ) 31-07-2015 18:34:32

otra solucion
 
mira, como tenes veinticinco parametros y a la vez esos estan divididos en cinco grupos de cinco, estoy segudo de que mas de una vez te va a causar problemas el pasar tantos parametros, lo mejor seria pasar un array de dos dimensiones 5x5, o sino 5 arrays independientes

irurueta 31-07-2015 21:44:30

Cita:

Empezado por (MAJ) (Mensaje 495105)
mira, como tenes veinticinco parámetros y a la vez esos están divididos en cinco grupos de cinco, estoy segudo de que mas de una vez te va a causar problemas el pasar tantos parámetros, lo mejor seria pasar un array de dos dimensiones 5x5, o sino 5 arrays independientes

Holaaa, tiene muchos parámetros, porque debía hacer un sistema para un deposito de elementos de soldadura (Trabajo practico de la facu), en el cual tenían 5 productos y de allí tenia que sacar si se compraban mas de 1000 artículos el 10% y descontarlo, o sea hacer el 10% de descuento!

Ya pude solucionarlo, el problema era que cuando llamaba al procedure, no declaraba las variables.

Gracias...

ecfisa 31-07-2015 22:55:04

Hola irurueta.

Tal vez te resulte mas simple organizarlo de forma similar a esta:
Código Delphi [-]
type
  TProducto = record
    ContE : Integer;
    Desc  : Real;
    Aux   : Real;
    Porc  : Real;
    Tot   : Real;
  end;

procedure calc_desc(p1, p2, p3, p4, p5: TProducto);
begin
  p1.Aux := 130 * p1.ContE;
  if p1.Aux > 1300 then
  begin
    p1.Porc := p1.Aux * 0.1;
    p1.Desc := p1.Porc - p1.Aux;
    p1.Tot  := p1.Aux -p1.Porc;
    ...

Saludos :)


La franja horaria es GMT +2. Ahora son las 18:19:38.

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