Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-05-2013
Avatar de danielmj
danielmj danielmj is offline
Miembro
 
Registrado: jun 2011
Posts: 383
Poder: 16
danielmj Va por buen camino
Problema recorriendo ListView

Hola, tengo un problema con un Tlistview, estoy tonteando con el tipico programa de los numeros de la loteria, es decir, el listView tiene seis columnas y (por el momento) 100 filas, en cada celda se almacena un numero aleatorio del 1 al 49, hasta ahí todo bien. El problema viene cuando quiero recorrer todo el listView para buscar los 6 numeros que mas se repiten de entre todas las celdas.
El codigo ahora mismo lo tengo escrito para buscar un solo numero, en teoria el que mas se repite de entre todos.

Código Delphi [-]
procedure TForm1.Button2Click(Sender: TObject);
var
  elemento: tlistitem;
begin
numtot:= 0;
for y := 0 to listView1.Items.Count -1 do
  for z := 0 to 49 - 1 do
      begin

        elemento := listView1.FindCaption(0,(IntToStr(z)),true,true,true); //.Findcaption(0,18,true,true,false) then
          if (elemento <> nil) and (z = 10) then
           inc(numtot);
           label7.Caption:= IntToStr(numtot);
      end;

end;

Cuando se ejecuta este trozo del codigo, el resultado siempre es 0
¿donde está el error? ¿no debería ir aumentando el valor de 'numtot' según se vaya repitiendo el número 18 y mostrarlo luego en el label7?
¿Existe otra forma de encontrar los numeros que mas se repiten de entre todas las celdas?

Otro problema que tengo y esto si es un error, es que si ejecuto la aplicacion el pc se cuelga, pero si la ejecuto con delphi abierto de fondo, NO se cuelga. ¿? abajo pongo el texto de la ventana de error que devuelve windows. El numero de veces que se realizan los cálculos aletarios es 21.600.000 veces, por que recorre dos FOR, uno que va hasta 100.000 y otro que va hasta 216 (que es multiplo de 6 (6*6*6)) igual el numero es muy elevado pero deberia fallar aunque delphi este abierto y no solo cuando ejecuto la aplicación con delphi cerrado.

Cita:
Firma con problemas:
Nombre del evento de problema: AppHangB1
Nombre de aplicación: aleatorios.exe
Versión de la aplicación: 0.0.0.0
Marca de tiempo de la aplicación: 5190d797
Firma de bloqueo: 0c4f
Tipo de bloqueo: 0
Versión del sistema operativo: 6.1.7600.2.0.0.256.48
Id. de configuración regional: 3082
Firma adicional de bloqueo 1: 0c4f0997d399d366524a814f7832f13b
Firma adicional de bloqueo 2: 57cc
Firma adicional de bloqueo 3: 57ccfdb22112c570b5d960f240e02003
Firma adicional de bloqueo 4: 0c4f
Firma adicional de bloqueo 5: 0c4f0997d399d366524a814f7832f13b
Firma adicional de bloqueo 6: 57cc
Firma adicional de bloqueo 7: 57ccfdb22112c570b5d960f240e02003
Gracias y saludos.

Última edición por Casimiro Noteví fecha: 13-05-2013 a las 16:48:20.
Responder Con Cita
  #2  
Antiguo 13-05-2013
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.671
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Recuerda poner los tags al código fuente, ejemplo:



Gracias
Responder Con Cita
  #3  
Antiguo 13-05-2013
Avatar de danielmj
danielmj danielmj is offline
Miembro
 
Registrado: jun 2011
Posts: 383
Poder: 16
danielmj Va por buen camino
hola casimiro, lo hice creeme, pero cuando le doy a previsualizar mensaje, desaparece y lo pone como texto normal y corriente, siempre me pasa lo mismo cuando he escrito en este foro, y ya aburrido (te soy sincero), opte por ponerlo asi como aparece en el mensaje.

un saludo.
Responder Con Cita
  #4  
Antiguo 13-05-2013
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.671
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
La solución es fácil y simple: "no le des primero a "previsualizar"
Verás que sale bien. Y si acaso hay algo mal, no te preocupes, porque podrás editarlo sin problema.
Es un pequeño fallo que tiene esa opción.
Responder Con Cita
  #5  
Antiguo 13-05-2013
Avatar de danielmj
danielmj danielmj is offline
Miembro
 
Registrado: jun 2011
Posts: 383
Poder: 16
danielmj Va por buen camino
ah, vale gracias por el aviso. saludos.
Responder Con Cita
  #6  
Antiguo 13-05-2013
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.610
Poder: 32
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Código Delphi [-]
A ver, esto es una prueba.
  Segunda línea con sangrado de dos espacios.
    Tercera línea con sangrado de cuatro espacios.
Acá no hubo ningún problema cuando presioné el botón de vista previa (Firefox 20.0.1).
Responder Con Cita
  #7  
Antiguo 13-05-2013
cloayza cloayza is offline
Miembro
 
Registrado: may 2003
Ubicación: San Pedro de la Paz, Chile
Posts: 947
Poder: 25
cloayza Tiene un aura espectacularcloayza Tiene un aura espectacular
Prueba este código a ver si te sirve...

Crea un nuevo proyecto
Código Delphi [-]
procedure TForm3.BitBtn1Click(Sender: TObject);
var
  Item, Item2:TlistItem;
  Col:TListColumn;
  i, j, Value, count:Integer;
begin
     Randomize;

     Col:=ListView1.Columns.Add;
     Col.Caption:='Número';
     Col:=ListView1.Columns.Add;
     Col.Caption:='Frecuencia';

     Col:=ListView2.Columns.Add;
     Col.Caption:='Fila';

     Col:=ListView2.Columns.Add;
     Col.Caption:='Col 1';

     Col:=ListView2.Columns.Add;
     Col.Caption:='Col 2';

     Col:=ListView2.Columns.Add;
     Col.Caption:='Col 3';

     Col:=ListView2.Columns.Add;
     Col.Caption:='Col 4';

     Col:=ListView2.Columns.Add;
     Col.Caption:='Col 5';

     Col:=ListView2.Columns.Add;
     Col.Caption:='Col 6';

     ListView1.ViewStyle:=vsReport;
     ListView2.ViewStyle:=vsReport;

     ListView1.Items.Clear;  //Frecuencias de aparición del número en la tabla...
     ListView2.Items.Clear;  //Tabla con números aleatorios...

     {Completado de Tabla de Números para contar la frecuencia...}
     for i:=0 to 49 do
     begin
          Item2:=ListView1.Items.Add;
          Item2.Caption:=IntToStr(i);
          Item2.SubItems.Add('0');
     end;

     //Completado de Tabla con números aleatorios.
     for i:=1 to 100 do
     begin
          Item:=ListView2.Items.Add;

          Item.Caption:=IntToStr(i);

          for j := 0 to 5 do
          begin
               Value:=Random(49);
               Item.SubItems.Add(IntToStr(Value));

               //Busqueda del número aleatorio generado en tabla de Frecuencias...
               Item2:=ListView1.FindCaption(0,IntToStr(Value),false,True,true);
               if Item2<>nil then
               begin
                    //Incrementa la frecuencia del número aleatorio generado...
                    TryStrToInt(Item2.SubItems[0],Count);
                    Inc(Count);
                    Item2.SubItems[0]:=IntToStr(Count);
               end;
          end;

     end;
end;

Saludos cordiales...
Responder Con Cita
  #8  
Antiguo 13-05-2013
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.671
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Cita:
Empezado por Al González Ver Mensaje
Código Delphi [-]A ver, esto es una prueba. Segunda línea con sangrado de dos espacios. Tercera línea con sangrado de cuatro espacios.

Acá no hubo ningún problema cuando presioné el botón de vista previa (Firefox 20.0.1).
Es cuando le das a "vista previa" antes de nada, antes de guardar incluso.

je, je... me he citado a mí mismo
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
Problema con ListView, angelp4492 Varios 2 12-05-2011 18:07:13
Problema con ListView angelp4492 Varios 2 21-12-2007 10:52:04
Problema con ListView angelp4492 Varios 1 21-12-2007 06:06:06
problema con listview cristian_abb Varios 2 22-06-2006 16:47:12
Problema con ListView Magneto Varios 2 18-07-2003 15:55:39


La franja horaria es GMT +2. Ahora son las 02:43:32.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi