Ver Mensaje Individual
  #1 (permalink)  
Antiguo 31/08/2006, 12:17
RaymerBol
 
Fecha de Ingreso: diciembre-2005
Ubicación: Bolivia
Mensajes: 58
Antigüedad: 19 años, 1 mes
Puntos: 0
Saber numero de registro en que estoy en un DBGrid y acceder a Uno

Hola amigos del foro me perdi por un tiempo, y muchisimas gracias por su ayuda de antemano.

Miren tengo el siguiente problemon en Delphi:
Lo que quiero: Un simulador de Sorteo teniendo una base de datos plana en Access, en mi formulario tengo un Boton donde me diga SORTEAR (Habilito el timer puesto mas antes en falso) y luego PARAR (Deshabilito el timer) haciendo el doble clic en el Timer tengo el siguiente Codigo:

procedure TFPrincipal.Timer1Timer(Sender: TObject);
var ContadorReg,PUNTERO:integer;
begin
Randomize; //empieza a funcionar los numeros aleatorios
ContadorReg:=dm1.Tagenda.RecordCount; //Cuento la cantidad de registros que tengo.
Puntero:=round(random(ContadorReg)+1); //Genero un # aleatorio
TStringGrid(DBGrid1).Row:=puntero; //Accedo a una fila determinado por el puntero
SetFocus;//Me voy alli... enfoco
//Para que sea consecutivo
{if i=ContadorReg then
Begin
dm1.Tagenda.Next;
DM1.Tagenda.First;
i:=0;
End
else
Begin
i:=i+1;
dm1.Tagenda.Next;
End;
Label1.Caption:='No Regs:'+inttostr(ContadorReg)+' Selector:'+'en Proceso';}
end;


Teniengo este procedimiento me corre normalmente para unos 2 a 7 registros máximo, mayor a esta me pone un error de index fuera de rango o algo por ahi, por favor amigos. ¿Porque el error esta? ¿Habrá otra forma de hacer este proceso que quiero? ¿Cual serìa mi forma de acceder a una fila(registro) específica de me DBGrid?

Por fa... amigos estoy ansioso de tener respuestas a estas mis dudas, que tal vez es muy novato...
__________________
Con estudio, dedicación y mucho trabajo logras tus metas amig@ [email protected]
Caracollo-Oruro-Bolivia
RMA Soft System