Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-07-2007
Avatar de gerupc
gerupc gerupc is offline
Miembro
 
Registrado: jul 2007
Ubicación: Universidad de Deusto
Posts: 61
Poder: 17
gerupc Va por buen camino
Arrow Procedimiento mal invocado

Hola,

tengo un problema al llamar al procedimiento 'absoluto', ya que quiero que el resultado me lo de como valor absoluto y donde yo quiero(donde doy el resultado en cm cuadrados).. EL problema radica en que no sé como llamarlo para que cumpla esa función . Aquí os dejo el código:

Código Delphi [-]
 
var
 resultado,x1,x2,y1,y2: integer;

procedure absoluto(parametro: integer);
 Begin
  if parametro < 0 then
  parametro := -parametro;
  write(parametro);
 End;
Begin
 {Omito esta parte del código, por no ser necesaria}

 Resultado := (x2-x1)*(y2-y1);
 
 Write('El resultado es: ', absoluto(resultado),' cm cuadrados');
 readln;
End.

Pues a ver si alguine me puede guiar un poco, muchísimas gracias de antemano .

Un saludo,

Geru.
__________________
Mi Blog
---------------------
Universidad de Deusto
ESIDE-Escuela Superior de Ingenieros Deusto
Responder Con Cita
  #2  
Antiguo 18-07-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 30
jhonny Va camino a la famajhonny Va camino a la fama
La función de valor absoluto es ABS
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/

Última edición por jhonny fecha: 18-07-2007 a las 23:42:04.
Responder Con Cita
  #3  
Antiguo 18-07-2007
Avatar de gerupc
gerupc gerupc is offline
Miembro
 
Registrado: jul 2007
Ubicación: Universidad de Deusto
Posts: 61
Poder: 17
gerupc Va por buen camino
Aupa,

gracias, pero cómo la tendría que poner??

he probado de la siguiente manera y nada... :

Código Delphi [-]
 
write(ABS ('El resultado es: ', [resultado], ' cm cuadrados'));
readln;

Un saludo,

Geru.
__________________
Mi Blog
---------------------
Universidad de Deusto
ESIDE-Escuela Superior de Ingenieros Deusto
Responder Con Cita
  #4  
Antiguo 18-07-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
gerupc, para que pudieras usar absoluto como indicas, necesitarías que fuera una función, pero tú la definiste como procedimiento. Tendría que ser así:

Código Delphi [-]
function absoluto(parametro: integer);
begin
  if parametro < 0 then
    parámetro := -parametro

  Result := parametro;
end;

Pero, como te comenta Jhonny, ya existe una función que hace eso.

// Saludos
Responder Con Cita
  #5  
Antiguo 18-07-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.114
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Ah... poder "corregir" a Román... ¡qué gusto!

Código Delphi [-]
function absoluto(parametro: integer): integer;
begin
  if parametro < 0 then
    parámetro := -parametro

  Result := parametro;
end;
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #6  
Antiguo 18-07-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 30
jhonny Va camino a la famajhonny Va camino a la fama
Cita:
Empezado por dec
Hola,
Ah... poder "corregir" a Román... ¡qué gusto!
Hola, Ah... poder "corregir" a Román y a dec... ¡qué gusto!

Código Delphi [-]
function absoluto(parametro: integer): integer;
begin  
   if parametro < 0 then    
     parametro := -parametro; //No se noto mucho la negrilla en este punto y coma 
   Result := parametro;
end;
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #7  
Antiguo 19-07-2007
Avatar de gerupc
gerupc gerupc is offline
Miembro
 
Registrado: jul 2007
Ubicación: Universidad de Deusto
Posts: 61
Poder: 17
gerupc Va por buen camino
Aupi,

bien, ahora, desde donde llamo a la función?? ya que me dice que el identificador 'Result' no lo encuentra...

He puesto lo siguiente (la funcion tal y como me comentais), pero la llamo asi:

Código Delphi [-]
 
write(absoluto ('El resultado es: ', [resultado], ' cm cuadrado'); readln;

De todas maneras, porqué la necesidad de hacerlo con una función en lugar de un procedimiento??
Acabo de encontrar en un libro de Delphi 2006, el siguiente procedimiento:

Código Delphi [-]
 
procedure MakeAbsolute(Num: integer);
begin
      if Num < 0 then
      Num := -Num;
WriteLn('Valor absoluto = ', Num);
end;

Por eso no entiendo la necesidad de hacerlo mediante una función en lugar de un procedimiento como este, si los dos tienen la misma función, no?

Un saludo,

Gracias.
__________________
Mi Blog
---------------------
Universidad de Deusto
ESIDE-Escuela Superior de Ingenieros Deusto
Responder Con Cita
  #8  
Antiguo 19-07-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 30
jhonny Va camino a la famajhonny Va camino a la fama
Lo que sucede es que una función te devuelve un valor, mientras que un procedimiento no.

Si usas la función abs, que viene en Delphi solo tendrías que hacer algo asi:
Código Delphi [-]
 
WriteLn('Valor absoluto = ', Abs(Num));
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #9  
Antiguo 19-07-2007
Avatar de gerupc
gerupc gerupc is offline
Miembro
 
Registrado: jul 2007
Ubicación: Universidad de Deusto
Posts: 61
Poder: 17
gerupc Va por buen camino
De acuerdo, una vez más, todo perfecto .

Muchísimas gracias y un saludo,

Geru.
__________________
Mi Blog
---------------------
Universidad de Deusto
ESIDE-Escuela Superior de Ingenieros Deusto
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
procedimiento dentro de procedimiento chechu Varios 6 24-11-2005 23:34:48
Ayuda, como llamar a un procedimiento desde otro procedimiento? Ariatna Varios 1 01-02-2005 04:05:35
procedimiento con componentes. vrortiz Varios 6 07-05-2004 19:07:11
Lanzar procedimiento kalimero MS SQL Server 6 27-04-2004 19:22:33
Procedimiento jobapi Varios 1 27-08-2003 18:25:31


La franja horaria es GMT +2. Ahora son las 15:35:19.


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