Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 22-05-2015
wolfran_hack wolfran_hack is offline
Miembro
 
Registrado: abr 2013
Posts: 97
Poder: 12
wolfran_hack Va por buen camino
Post Obtener dato de listview y moverlo a un memo, esperar 2 min, enviar y volver a cargar

Hola a todos los miembros del foro, básicamente esta explicado mi problema en el titulo de este hilo pero les comento nuevamente:

Tengo un ListView1 que tiene cargados unos datos, vamos a decir que tenemos 3 datos:

Código:
dato1
dato2
dato3
teniendo estos datos hay que pasarlos a un memo1 de a uno!, utilice el codigo:

Código Delphi [-]
procedure TForm1.BitBtn3Click(Sender: TObject);
var
n: integer;
begin
for n:=0 to ListView1.Items.Count-1 do
  begin
       memo1.Text := ListView1.Items.Item[n].Caption;
       // rutina
  end;
end;

perfectamente el dato que estaba en el listview se movio al memo1, ahora el problema esta en que el no puedo para el bucle, teniendo 3 datos, me muestra solo el dato3 que seria el ultimo de la lista, ahora trate de utilizar un:

Código Delphi [-]
Sleep(5000);

sigue igual, probe:

Código Delphi [-]
for n:=0 to ListView1.Items.Count-1 do
  begin
       Sleep(5000);
       memo1.Text := ListView1.Items.Item[n].Caption;
  end;

Código Delphi [-]
for n:=0 to ListView1.Items.Count-1 do
  begin
       memo1.Text := ListView1.Items.Item[n].Caption;
       Sleep(5000);
  end;

mi pregunta principal es si puedo parar el bucle para tener el tiempo necesario para completar la rutina que continua?
Responder Con Cita
  #2  
Antiguo 23-05-2015
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola wolfran_hack.

No entiendo la totalidad de tu planteo, pero en referencia a este punto:
Cita:
Empezado por wolfran_hack Ver Mensaje
...
, me muestra solo el dato3 que seria el ultimo de la lista, ahora trate de utilizar un:
...

Código Delphi [-]
for n:=0 to ListView1.Items.Count-1 do
  begin
       Sleep(5000);
       memo1.Text := ListView1.Items.Item[n].Caption;
  end;
El problema es que estas asignando a la propiedad Text del memo, por lo que cada nueva asignación sobreescribe a la anterior.

Si deseas pasar los captions de los N Items, tendrías que hacer:
Código Delphi [-]
var
  i: Integer;
begin
  for i := 0 to ListView1.Items.Count-1 do
    Memo1.Lines.Add(ListView1.Items[i].Caption);

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 23-05-2015
wolfran_hack wolfran_hack is offline
Miembro
 
Registrado: abr 2013
Posts: 97
Poder: 12
wolfran_hack Va por buen camino
En realidad lo que quiero es que se sobre escriba, básicamente en ves de usar un Edit, use un Memo por la multilinea (aunque también pude haber usado el edit.).

En el ListView se van generando textos que indican por ejemplo un historial o algo que pasa en la rutina del programa por ejemplo un error, ahora yo lo muevo a ese memo para básicamente analizarlo y si es necesario enviarlo por mail, la rutina seria:

Contador de Historial llega a tope = 150 >
Tomo la primer linea del listview y la muevo al memo >
Al tener contenido en el memo este se analiza según las palabras y se determina y hay o no que enviar un mail >
Si se envia un mail el bucle tiene que "parar" y esperar 1 o 2 o los minutos que quiera >
terminado el tiempo limpia y toma una nueva linea del listview y así con todo.
Si no se requiere sigue con otra linea del list.

Necesito ese tiempo ya que el servidor que se utiliza para enviar el mail te bloquea si se envían masivos muy rápido, por ende tengo que poder contar el tiempo de algún proceso para que no se bloquee el sistema básicamente.
Responder Con Cita
  #4  
Antiguo 23-05-2015
wolfran_hack wolfran_hack is offline
Miembro
 
Registrado: abr 2013
Posts: 97
Poder: 12
wolfran_hack Va por buen camino
Solucionado con

http://www.clubdelphi.com/foros/show...50&postcount=5
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
cargar datos a listview desde bd sqlite jonydread Conexión con bases de datos 2 06-04-2013 16:04:24
esperar que el windows termine de cargar todo para iniciar aplicacion dephi petete2008 Varios 6 26-02-2012 21:43:31
problema al cargar dato fernando1973 SQL 5 25-04-2007 15:39:24
Como cargar Imagenes en un ListView johurgi Varios 0 16-08-2006 12:07:53
Cargar un campo en un listview juanchi Conexión con bases de datos 3 29-01-2004 16:41:00


La franja horaria es GMT +2. Ahora son las 06:29:13.


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
Copyright 1996-2007 Club Delphi