Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

TTable

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: TTable Responder citando

Hola

Como hago para saber cuando el cursor de una tabla (TTable) se encuentra posicionado en el primer registro o en el ultimo registro.

PD: estoy trabajando con una base de datos paradox

Gracias
Volver arriba
Mensaje    Asunto: Responder citando

Si lo que deseas es saber nada mas la posicion, puedes utilizar el
Código:
Table->Eof;  // final
o el
Código:
Table->Bof;  // principio


si deseas ir al Primer Registro

Código:
Table->First();
si deseas ir al Ultimo
Código:
Table->Last();

_________________
Cool
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

Para saber en que registro estas puedes utilizar :

Código:
TTable->RecNo


Te indica en que posicion te encuentras. Y como decia cesar si solo es comprobar el primero o el ultimo BOF, EOF.

Un saludo.
Volver arriba
Ver perfil de usuario Enviar mensaje privado MSN Messenger
Mensaje    Asunto: Responder citando

hola nuevamente,

ahora como hago para saber estas mismas posiciones (primera y ultima), pero cuando recorro los registros por medio de un DBGrid.

Ya que con un DBGrid me puedo desplazar por los registros por medio del scrollbar, y los eventos no capturan este movimiento.

Gracias
Volver arriba
Mensaje    Asunto: Responder citando

¿Has probado en el evento AfterScroll del TTable al cual está enlazado tu DBGrid?
ejemplo sencillo:
void __fastcall TForm1::Table1AfterScroll(TDataSet *DataSet)
{
ShowMessage("Estás en el registro número "+IntToStr(Table1->RecNo));
}
_________________
¡ADELANTE CON ESTE SUPER FORO!
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Para realizar esto, dentro de la funcion KeyDown, Del DBGrid, pon lo siguiente.

Código:

void __fastcall TForm1::DBGrid1KeyDown(TObject *Sender, WORD &Key,
      TShiftState Shift)
{
    switch(Key){
        case VK_DOWN:
            this->Table1->Next(); // tu tabla
            if(this->Table1->Eof){
                ShowMessage("Ultimo Registro");
                this->Perform(WM_NEXTDLGCTL, 0, 0);//Adelante otro componente
            }
            break;
        case VK_UP:
            this->Table1->Prior();
            if(this->Table1->Bof){
                ShowMessage("Primer Registro");
                this->Perform(WM_NEXTDLGCTL, 1, 0);//ATRAZ otro componente
            }
            break;
    }
                Key=0;// esto lo pongo para que no suene cada vez
                          // que presionas la tecla arriba o abajo..

}
//---------------------------------------------------------------------------


Espero te sirva ....
la parte de Perform, se realiza si quieres que al llegar al primer regitro pase al anterior componente, que tengas en el form, o siguiente, cuando termines de recorrer la tabla, prueba con un boton, DBGrid, y otro boton,
creados en ese mismo orden...
Volver arriba
Mensaje    Asunto: Responder citando

Cuantos enlaces habre puesto asi.. como invitado, je je
_________________
Cool
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.