Hola Daniel.
Por lo que interpreto en un CheckListBox tenés cargados los apellidos+nombres de una tabla, en una variable 'apenom' un apellido+nombre y para que un dato sea borrado, son requisitos:
- Que esté tildado en el CheckListBox.
- Que el item sea igual al contenido de la variable 'apenom'.
Si no me equivoco, podrías hacer algo así:
Código Delphi
[-]
procedure TForm1.btBorraSelecClick(Sender: TObject);
var
i: Integer;
Ape,Nom: string;
begin
with CheckListBox1 do
begin
for i:= 0 to Items.Count -1 do
if (Checked[i])and(Items[i] = apenom) then
if MessageDlg('¿Desea borrar '+Items[i]+'?',mtConfirmation,[mbYes,mbNo],0)= mrYes then
begin
Ape:= Copy(Items[i],1,Pos(' ',Items[i])-1);
Nom:= Copy(Items[i],Pos(' ',Items[i])+1,MaxInt);
ADOTabla.Locate('APELLIDO;NOMBRE',VarArrayOf([Nom,Ape]),[loCaseInsensitive]);
ADOTabla.Delete;
end;
end;
end;
Esto siguiendo el planteo que indicas, pero coincido con
Casimiro que es más sencillo con una sentencia SQL.
Saludos.