Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Como puedo obtener la posicion de un CheckListBox1 (https://www.clubdelphi.com/foros/showthread.php?t=38770)

alexander66 28-12-2006 00:18:11

Como puedo obtener la posicion de un CheckListBox1
 
buenas tardes club

estoy usando el componente CheckListBox de la ficha Additional que me va a servir por que puedo seleccionar mas de un check a la vez, en este componente estoy llenandolo con datos de una tabla, cuando yo seleccione alguno como puedo saber en que posicion esta y eso me de el check para usarlo porteriormente

mi ciclo esta asi:
Código PHP:

while not eof do
 
campo:=Fields[0].AsString);
 
Descripcion:=Fields[1].AsString);
 
CheckListBox1.Items.Add(campo '       ' Descripcion); 

encontre esto pero como lo obtengo CheckListBox1.Checked.
me puden ayudar
gracias.

vtdeleon 28-12-2006 00:45:41

Con la propiedad ItemIndex del ChecklistBox.

Saludos

Onti 28-12-2006 00:54:53

Código Delphi [-]
CheckListBox1.Checked[CheckListBox1.ItemIndex]

Este código te obtiene si el registro seleccionado del CheckListBox tiene el check marcado o no


Salu2

Lepe 28-12-2006 12:51:47

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


La franja horaria es GMT +2. Ahora son las 05:40:37.

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