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 17-01-2005
Delphos Delphos is offline
Miembro
 
Registrado: jun 2003
Ubicación: Valencia (España)
Posts: 45
Poder: 0
Delphos Va por buen camino
Paso de parametros

Hola foro

Resulta que no se como devolver dos parametros de una funcion

Por ejemplo:
Código:
procedure TForm1.Button1Click(Sender: TObject);
  var: Hora1, Min1, Hora2, Min2 : Integer;
        TotHora,TotMin: String
begin
   Instrucciones
    .
    .
   // Se que una llamada normal seria asi
    HorasMinutosEnTurno( Hora1, Min1, Hora2, Min2);
   
  //Pero yo quiero que la funcion me devuelva dos valores
   ¿Como recogo aqui el valor de TotalHoras y el TotalMinutos de la funcion?
end;

Function HorasMinutosEnTurno(HoraInicio,MinutosInicio,HoraFinal,MinutosFinal:Integer):String;
var : TotalHoras, TotalMinutos : String
begin
   Instrucciones
    ...
    ...
   TotalHoras:= a lo que sea
   TotalMinutos := a lo que sea
end ;
Muchas gracias de antemano.

Salu2.
Responder Con Cita
  #2  
Antiguo 17-01-2005
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 23
maeyanes Va por buen camino
Tienes varias posibilidades, la más rápida:

Usar un procedimiento de esta forma:
Código Delphi [-]
Procedure HorasMinutosEnTurno(HoraInicio, MinutosInicio,
  HoraFinal, MinutosFinal:Integer;
  var TotalHoras, TotalMinutos: String);
Así devuelves en TotalHoras y TotalMinutos los valores que necesitas..

Claro, que si necesitas usar el valor de la función original solo para mostrarla, podrías componer la cadena a devolver:
Código Delphi [-]
var
  TotalHoras: Integer;
  TotalMinutos: Integer;

begin
  // Cálculos...
  Result := Format(%d horas %d minutos', [TotalHoras, TotalMinutos])
end;
Otra opción sería crear un tipo registro que tenga los 2 valores y devolver en la función un registro de ese tipo...


Saludos...
Responder Con Cita
  #3  
Antiguo 18-01-2005
Delphos Delphos is offline
Miembro
 
Registrado: jun 2003
Ubicación: Valencia (España)
Posts: 45
Poder: 0
Delphos Va por buen camino
Ok. Mensaje captado.

¿Y la llamada de la funcion como seria para recoger los dos totales en variables diferentes?
Responder Con Cita
  #4  
Antiguo 18-01-2005
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 23
maeyanes Va por buen camino
La primera opción es un procedimiento, y la llamada sería más o menos así:

Código Delphi [-]
var
  HorasTotales: string;
  MinutosTotales: string;

begin
  Procedure HorasMinutosEnTurno(10, 50, 12, 30, HorasTotales, MinutosTotales);
  ShowMessage(Format('El turno duró: %s horas y %s minutos', [HorasTotales,
    MinutosTotales]);
end;
Responder Con Cita
  #5  
Antiguo 18-01-2005
Delphos Delphos is offline
Miembro
 
Registrado: jun 2003
Ubicación: Valencia (España)
Posts: 45
Poder: 0
Delphos Va por buen camino
Vale asunto solucionado.

Muchas gracias Marcos.

Salu2
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


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


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