Programación de FasNet en Delphi

Tengo una pequeña duda que seguramente puedas solucionarme. Estoy aun aprendiendo a programar en Delphi, y utilizo la versión número 5. Bueno, el caso es que estoy intentando hacer un administrador de correo, para chapucear un rato, y me estoy trabando un poco. Tengo un ListBox, que es donde recibo los emails. A este ListBox le he puesto la propiedad `MultiSelect' a true. Ahora bien, mi duda es, ¿cómo puedo hacer para que me elimine los emails seleccionados? Ya sean uno, dos, tres... O cualquier cantidad. Para eliminar uno sólo utilizaba:
NMPOP31.DeleteMailMessage(ListBox3.ItemIndex);
Ah! Otra cosilla. ¿Cómo puedo saber cuando se hace click sobre el scrollbar de un ListBox, y si se hace arriba, o abajo?
Gracias de antemano.
Un saludo,
dali.

1 Respuesta

Respuesta
1
Hi,
Mira, primero te aclaro que el componente NMPOP3 de Delphi no elimina el mensaje hasta que se realiza la desconexión. En vez de borrarlos se marca como borrados. Por lo tanto vas a poder borrar varios mensajes sin que se modifiquen los indices de los mensajes.
Lo que tienes que hacer es recorrer el TListBox en busca de los seleccionados. El código siguiente borraría los mensajes seleccionados:
*********************************
for i := 0 to correos.Items.Count - 1 do
if correos.Selected then
NMPOP3.DeleteMailMessage(i+1);
*********************************
Si quieres actualizar los indices y que te liste los mensajes que quedaros tienes que reconectarte al servidor de correo.
Sobre la pregunta de si se puede saber si se clickea el scrollbar, la respuesta es que con los componentes que tra Delphi no se puede. Fíjate en www.torry.net si hay otras TListBox que permitan esto.
nahuelon..

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas