Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-09-2012
LuisMiguel LuisMiguel is offline
Miembro
NULL
 
Registrado: mar 2012
Posts: 33
Poder: 0
LuisMiguel Va por buen camino
Devolver varios valores en una función c++

Saludos Amigos
Me gustaria que me aclararan lo siguiente:
como puedo hacer que una función devuelva varios valores, y despues de llamar a esa funcion como hago para que cada valor se guarde en una variable ya declarada, muestro lo que tengo:
Tengo la siguiente clase:
Código:
class Persona{
    private:
    -------//Aqui estan todos los atributos
    public:
    Persona(){
    }  
  
    String BuscarSexo(String);
};
//En la implementacion cpp
Código:
String Persona::BuscarSexo(String Sexo) {
   Form2->ADOQueryBuscarPadres->Active = false;
   Form2->ADOQueryBuscarPadres->SQL->Clear();
   String SQLSexo = "select * from persona where Sexo="+Sexo;
   Form2->ADOQueryBuscarPadres->SQL->Add(SQLSexo);
   Form2->ADOQueryBuscarPadres->Open();
   String  CI=Form2->ADOQueryBuscarPadres->FieldByName("CI")->AsString;
   int  Anno=Form2->ADOQueryBuscarPadres->FieldByName("Anno")->AsInteger;
   return Anno,CI;
Como ven hay 2 valores con los que quisiera trabajar en otro formulario(CI,Anno)
Estuve probando de esta forma pero solo me devuelve un valor y no creo que sea la forma correcta,estuve probando hacerlo con apuntadores pero no di con la solucion
Código:
Paloma * PalomaA = new Paloma;
String x = PalomaA->BuscarpalomaSexo(Sexo);
Gracias de antemano
Responder Con Cita
  #2  
Antiguo 23-09-2012
LuisMiguel LuisMiguel is offline
Miembro
NULL
 
Registrado: mar 2012
Posts: 33
Poder: 0
LuisMiguel Va por buen camino
Disculpen,aqui puse lo que no era!.
Código:
Persona * PersonaA = new Persona;
String x = PersonaA->BuscarSexo(Sexo);
Responder Con Cita
  #3  
Antiguo 23-09-2012
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Pasa uno por referencia, por ejemplo Anno:

Código:
String Persona::BuscarSexo(String Sexo, int &Anno)
{
   .........
   Anno=Form2->ADOQueryBuscarPadres->FieldByName("Anno")->AsInteger;
   return Form2->ADOQueryBuscarPadres->FieldByName("CI")->AsString; 
}

Saludos.
Responder Con Cita
  #4  
Antiguo 23-09-2012
LuisMiguel LuisMiguel is offline
Miembro
NULL
 
Registrado: mar 2012
Posts: 33
Poder: 0
LuisMiguel Va por buen camino
Eso estaba tratando de hacer pero aun no lo logro, podria indicarme como quedaria el codigo completo despues de pasar el parametro por referencia, ese parametro tambien va incluido en el metodo de la clase?
Responder Con Cita
  #5  
Antiguo 23-09-2012
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
La función estaría declarada como:
Código:
 
class Persona{
    ........
   public:
   String BuscarSexo(String Sexo, int &Anno);
    ........
};
y luego...
Código:
 
String Persona::BuscarSexo(String Sexo, int &Anno)
{
  Anno = 2012;
  Return "Eureca";
}

Saludos.
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
¿Una función en Delphi, puede devolver varios parámetros? socger Varios 6 27-02-2009 18:00:07
Como hacer para que una funcion regrese varios valores jangel_ramirezm Varios 11 07-03-2008 22:14:49
devolver valores al form que lo llamo djanp Conexión con bases de datos 9 20-12-2007 13:36:12
Devolver varios registro desde SP lucasarts_18 Oracle 2 27-12-2005 15:16:57
problema para devolver 2 valores en una funcion tiagor64 OOP 4 06-05-2005 15:38:59


La franja horaria es GMT +2. Ahora son las 13:19:12.


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