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 07-04-2006
Choclito Choclito is offline
Miembro
 
Registrado: jul 2004
Posts: 169
Poder: 20
Choclito Va por buen camino
Lightbulb problema al crear tabsheet

hola amigos del foro mi problema es el siguiente:
En tiempo de ejecucion quiero crear n tabshet que la creacion sea la cantidad de registros de un query
el codigo en el oncreate del form es el siguiente

Código Delphi [-]
while modulo_cita.MDOQ_Doctor.Eof do
begin
 Aux := TTabSheet.Create(self);
     Aux.Name := modulo_cita.MDOQ_Doctor.Fields[0].asstring;
     Aux.PageControl := f_cita.PageControl1;
     Aux.Caption := modulo_cita.MDOQ_Doctor.Fields[1].asstring;;
     aux.Visible:=true;
     f_cita.PageControl1.ActivePageIndex := (f_cita.PageControl1.PageCount - 1);
     modulo_cita.MDOQ_Doctor.Next;
end;

pero no hace nada... quiero q en cada tabsheet este el nombre del doctor pero no hace nada no crea ni un tabsheet, quiero crear n tabsheet pero no hace nada , como arreglo esto?????
como siempre les estare muy agradecido por su valiosa ayudaaaaaa

Última edición por dec fecha: 07-04-2006 a las 18:05:45.
Responder Con Cita
  #2  
Antiguo 07-04-2006
alapaco alapaco is offline
No confirmado
 
Registrado: jun 2003
Ubicación: Buenos Aires
Posts: 287
Poder: 0
alapaco Va por buen camino
El código parece funcionar...
Estas seguro que el query MDOQ_Doctor trae datos ???
Responder Con Cita
  #3  
Antiguo 07-04-2006
Choclito Choclito is offline
Miembro
 
Registrado: jul 2004
Posts: 169
Poder: 20
Choclito Va por buen camino
gracias por responder

muchas gracias por la respuesta pero te cuento q el query trae datos pues coloque un dblookcombobox y ahi me muestra ,cual puede ser otra forma de hacer esto , me explico mejor.. tengo un query con datos de los doctores nombres y codigo, lo que quiero es q en cada tabsheet del page control este los nombres de los doctores registrados , todo esto con el fin de mostrar luego las citas de pacientes por doctor
les estare muy agradecido por las respuestas
Responder Con Cita
  #4  
Antiguo 07-04-2006
alapaco alapaco is offline
No confirmado
 
Registrado: jun 2003
Ubicación: Buenos Aires
Posts: 287
Poder: 0
alapaco Va por buen camino
Insisto, probé el código y me funcionó.

Esta línea:
f_cita.PageControl1.ActivePageIndex := (f_cita.PageControl1.PageCount - 1);
podría ponerse fuera del while. (igual no es el problema por el cual no se muestra nada.)

Podrías copiar TODO el código (incluyendo lo que está arriba y abajo del while ??
Responder Con Cita
  #5  
Antiguo 07-04-2006
Choclito Choclito is offline
Miembro
 
Registrado: jul 2004
Posts: 169
Poder: 20
Choclito Va por buen camino
rarisimo pero no da

te cuento q ahora probe en un boton q puse en el form y tampoco no da
el codigo es el siguiente:

Código Delphi [-]
procedure TF_Cita.Button2Click(Sender: TObject);
var Aux:TTabSheet;
begin
modulo_cita.MDOQ_Doctor.Open;
while modulo_cita.MDOQ_Doctor.Eof of
begin
 Aux := TTabSheet.Create(self);
     Aux.Name :=modulo_cita.MDOQ_Doctor.Fields[0].asstring;
     Aux.PageControl := PageControl1;
     Aux.Caption :=modulo_cita.MDOQ_Doctor.Fields[1].asstring;;
     aux.Visible:=true;
     PageControl1.ActivePageIndex := (PageControl1.PageCount - 1);
     modulo_cita.MDOQ_Doctor.Next;
end;
end;

hay otra forma de hacer ??? te estare agradecido por tu ayuda

Última edición por dec fecha: 07-04-2006 a las 18:06:48.
Responder Con Cita
  #6  
Antiguo 07-04-2006
alapaco alapaco is offline
No confirmado
 
Registrado: jun 2003
Ubicación: Buenos Aires
Posts: 287
Poder: 0
alapaco Va por buen camino
Pusiste un punto de control en la linea:
Aux := TTabSheet.Create(self);

Y pasó por ahí ??
Responder Con Cita
  #7  
Antiguo 07-04-2006
Choclito Choclito is offline
Miembro
 
Registrado: jul 2004
Posts: 169
Poder: 20
Choclito Va por buen camino
no lo puse

no puse nada mas el codigo q puse es tal como lo coloque.... hay otra forma de caminar en un query y esos datos colocarlos a los tabsheet del pagecontrol? muchas gracias por responder
Responder Con Cita
  #8  
Antiguo 07-04-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Creo que te falta:

Aux.Parent := Pagecontrol1

Realmente no he mirado Aux.Pagecontrol := Pagecontrol1 qué es lo que hace, pero creo que es Parent la que debes tocar.

SAludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #9  
Antiguo 07-04-2006
Choclito Choclito is offline
Miembro
 
Registrado: jul 2004
Posts: 169
Poder: 20
Choclito Va por buen camino
sigue el problema

les cuento q en el form coloque un lookcombobox y muestra los datos del query luego tambien coloque
Aux.Parent := Pagecontrol1;
pero tampco da .... pense q el problema en el while, asi q utilice un for del 1 al 5 y me crea los tabsheet. la verdad nose donde estoy errando para q no pueda crear los tabsheet con los datos del query
gracias por la ayuda amigos del foro
Responder Con Cita
  #10  
Antiguo 07-04-2006
alapaco alapaco is offline
No confirmado
 
Registrado: jun 2003
Ubicación: Buenos Aires
Posts: 287
Poder: 0
alapaco Va por buen camino
Repito, pusiste un punto de control sobre la primer linea que esta dentro del while ??

Debugueaste el while ?
Responder Con Cita
  #11  
Antiguo 08-04-2006
Ruben_Cu Ruben_Cu is offline
No confirmado
 
Registrado: oct 2003
Ubicación: Mariel, Cuba
Posts: 271
Poder: 0
Ruben_Cu Va por buen camino
Hola alapaco, el código debe funcionar yo lo estructuraría de la siguiente forma:
Código Delphi [-]
procedure TF_Cita.Button2Click(Sender: TObject);
var Aux:TTabSheet;
begin
  With modulo_cita.MDOQ_Doctor do begin
        open;
        while not eof do begin
        Aux := TTabSheet.Create(self);
        with Aux do begin
              Name :=Fields[0].asstring;
              PageControl := PageControl1;
              Caption :=Fields[1].asstring;;
              //aux.Visible:=true; true es el valor de la propiedad por defecto por tanto no es necesaria la declaración
              PageControl1.ActivePageIndex := (PageControl1.PageCount - 1);
              end;
        Next;
        end;
   end;
end;

Este procedimiento debe trabajarte bien es lo mismo que tienes pero mas simplificado, no obstante debes fijarte si el query está cerrado cuando lo mandas a abrir con Open puesto que si ocurre que ya esta abierto el puntero del query está en el último registro tendrías los registros resultantes pero no te crearía ningún TabSheet en ese caso tendrías que sustituir Open por First, esto opino yo que puede ser la causa de lo que te ocurre.
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
tabsheet chechu Varios 1 15-11-2005 16:48:33
TabSheet REHome OOP 4 03-12-2004 05:33:23
TabSheet ramonibk Varios 3 23-09-2004 12:47:07
Crear TabSheet en Runtime previamente diseñado cacuna Varios 4 22-09-2004 06:52:10
Como Crear un TabSheet en Tiemo de Ejecucion Michel OOP 1 08-08-2003 00:43:32


La franja horaria es GMT +2. Ahora son las 20:30:07.


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