Ver Mensaje Individual
  #4  
Antiguo 28-12-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Reputación: 29
Lepe Va por buen camino
Basado en lo anterior, puedes construir dos rutinas:
Código Delphi [-]

function FirstCheckedItem( ctrl:TCheckListBox):integer ;
begin
    for Result:=0 to ctrl.Items.Count-1 do
    if ctrl.Checked[Result] then
    begin
      Break;
    end;
  if Result > ctrl.Items.Count-1 then
    Result := -1;
end;

function NextCheckedItem( ctrl:TCheckListBox;const idxFrom:integer):integer ;
begin
  Result := -1;
  if idxFrom < 0 then
    Result := 0; // si es -1 recorremos todos los items

  if (idxFrom > -1) and (idxFrom > ctrl.Items.Count-2) then
    Exit // habría que empezar en idxFrom+1 pero no hay más items, idxFrom es el último elemento
  else
  for Result :=idxFrom+1  to ctrl.Items.Count-1 do
    if ctrl.Checked[Result ] then
      Break;

  //  si no hay ninguno marcado
  if (Result > ctrl.Items.Count-1) then
    Result:=-1;
end;

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita