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 11-06-2004
JorgeBec JorgeBec is offline
Miembro
 
Registrado: jul 2003
Posts: 159
Poder: 21
JorgeBec Va por buen camino
Analogia con Clipper

otra pregunta Comunidad, tengo un problema, resultase que necesito hacer una funcion que obviamente sirva para varios procesos, y uno de los parametros seria enviarle un Tquery, o sease que ese parametro variara de acuerdo al proceso, siendo mas claro. Ejemplo

Prorrateo('qryVentas');
.
.
.
Prorrateo('qryVentas2');

Function Prorrateo(<pQuery>)
begin
dmDatos.pQuery.First;
....Mas lineas

end;

por ejemplo necesito recibir en pQuery qryVentas o qryVentas2, el problema es para que en la funcion prorrateo pQuery realmente tome qryVentas o qryVentas2...esto para quienes fuimos clipperos se podia hacer con un &pQuery (sino mal recuerdo), pero en Delphi???...espero me haya explicado...saludos
Responder Con Cita
  #2  
Antiguo 11-06-2004
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
Simplemente declaras un parámetro de tipo TQuery:

Código Delphi [-]
procedure Prorrateo(Query: TQuery);
begin
end;

y le pasas cualquiera de los Query:

Código Delphi [-]
Prorrateo(qryVentas);
Prorrateo(qryVentas2);

etcétera

// Saludos
Responder Con Cita
  #3  
Antiguo 11-06-2004
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 23
guillotmarc Va por buen camino
Hola Jorge.

Pues casi tienes bien el código, solo te falta indicar que el parámetro que pasas es de tipo TQuery (pasa directamente el Query, no una cadena con el nombre del Query para usarlo en una macro) ... y a correr :

Prorrateo(dmDatos.qryVentas); /* Pasas realmente el Query */
...
...
Prorrateo(dmDatos.qryVentas2);

Function Prorrateo(pQuery: TQuery) /* En el parámetro indicas que pasas un Query */
begin
pQuery.First; /* Puedes trabajar normalmente con el Query */
....
end;

NOTA: He puesto TQuery asumiendo que es un Query del BDE, pero deberias cambiarlo por TADOQuery, TSQLQuery, TIBQuery, ... si estas usando ADO, BDE, IBX, ...

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #4  
Antiguo 11-06-2004
JorgeBec JorgeBec is offline
Miembro
 
Registrado: jul 2003
Posts: 159
Poder: 21
JorgeBec Va por buen camino
Solo para aclarar Roman entonces de acuerdo al ejemplo que me das quedaria asi


procedure Prorrateo(Query: TQuery);
begin
dmDatos.Query.First;
....Mas lineas

end;


???
Responder Con Cita
  #5  
Antiguo 12-06-2004
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 23
guillotmarc Va por buen camino
Hola.

No funcionaria ese código. En el ejemplo que te he propuesto tienes incluído como debes tratar el datamodule.

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
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 22:52:47.


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