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 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
  #2  
Antiguo 13-05-2013
cloayza cloayza is offline
Miembro
 
Registrado: may 2003
Ubicación: San Pedro de la Paz, Chile
Posts: 948
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
  #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, gracias por la ayuda, estoy intentando implementar mi programa con este codigo por que ya tengo echa la parte que genera los numeros aleatorios y por tema de diseño y demas, no quisiera modificarlo, asi en que en vez de copiar y pegar miro el codigo y me rompo un poco mas la cabeza, pero me esta costando un poco, ademas tengo dos label, en uno me dira los 6 numeros que mas se repiten de entre todo el listado y en otro label, mostrare cual seria la combinación una vez se tengan los 6 numeros.

A ver si lo consigo, saludos y gracias.
Responder Con Cita
  #4  
Antiguo 14-05-2013
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 23
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
danielmj,

Cita:
Empezado por danielmj
...tengo un problema con un Tlistview...seis columnas...100 filas...cada celda almacena un numero aleatorio del 1 al 49...
...El problema...buscar los 6 numeros que mas se repiten de entre todas las celdas...
Revisa este código:
Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls;

type
  TForm1 = class(TForm)
    ListView1: TListView;
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

  TModa = record
     Number : Integer;
     Count : Integer;
  end;

const
  Secuencia : Array[0..5] of String = ('primero','segundo', 'tercero', 'cuarto', 'quinto', 'sexto');
  Max = 50; // Número máximo de elementos a generar aleatoriamente
  Rows = 100; // Número máximo de lineas del control TListview

var
  Form1: TForm1;

implementation

{$R *.dfm}

// Genera números aleatorios de 0 a Max-1
procedure TForm1.Button1Click(Sender: TObject);
var
   i : Integer;
begin
   Randomize;
   ListView1.Clear;
   for i := 1 to Rows do
   begin
     with ListView1.Items.Add do
     begin
        SubItems.Add(IntToStr(Random(Max)));
        SubItems.Add(IntToStr(Random(Max)));
        SubItems.Add(IntToStr(Random(Max)));
        SubItems.Add(IntToStr(Random(Max)));
        SubItems.Add(IntToStr(Random(Max)));
        SubItems.Add(IntToStr(Random(Max)));
     end;
   end;
   ListView1.Items.Count
end;

// Muestra los seis primeros números repetidos de una secuencia aleatoria
procedure TForm1.Button2Click(Sender: TObject);
var
   i, j, p : Integer;
   ModaCount : Array[0..Max] of Integer;
   AModa : Array[0..5] of TModa;
   b : Boolean;

begin

   // Cuenta cuantas ocurrencia hay de un número
   // la posición del arreglo corresponde al número generado aleatoriamente
   // El valor del arreglo corresponde a la cantidad de ocurrencias encontradas para ese número
   FillChar(ModaCount,Sizeof(ModaCount),0);
   for i := 0 to ListView1.Items.Count - 1 do
   begin
      for j := 0 to ListView1.Items.Item[i].SubItems.Count - 1 do
      begin
         p := StrToInt(ListView1.Items.Item[i].SubItems.Strings[j]);
         ModaCount[p] := ModaCount[p] + 1;
      end;
   end;

   // Genera un arreglo con los 6 primeros números en orden de repetición
   FillChar(AModa,Sizeof(AModa),-1);
   for i := Low(AModa) to High(AModa) do
      for j := Low(ModaCount) to High(ModaCount) do
      begin
         if AModa[i].Count < ModaCount[j] then
         begin

            for p := 0 to 5 do
               if (AModa[p].Number = j) then
                  b := True;

            if not b then
            begin
               AModa[i].Number := j;
               AModa[i].Count := ModaCount[j];
            end;

            b := False;

         end;
      end;

   // Muestra los primeros números repetidos en secuencia hasta un máximo de 6
   for i:= 0 to 5 do
   begin
      if (AModa[i].Count <> 0) then
         ShowMessage(Format('El %s número es %d con %d ocurrencias',[Secuencia[i],AModa[i].Number,AModa[i].Count]));
   end;

end;

end.
El código anterior genera números aleatorios entre 0 y 49 en un control TListView de 100 filas. Variando los valores de las constantes Max y Rows se puede analizar la salida del código de forma más manejable.

El ejemplo esta disponible en el link: http://terawiki.clubdelphi.com/Delph...om_Numbers.rar

Espero sea útil

Nelson.
Responder Con Cita
  #5  
Antiguo 14-05-2013
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 23
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
Casimiro Notevi,

Cita:
Empezado por Casimiro Notevi
...Recuerda poner los tags al código fuente...
Cita:
Empezado por danielmj
...cuando le doy a previsualizar mensaje, desaparece y lo pone como texto normal y corriente...
Cita:
Empezado por Casimiro Notevi
...solución..."no le des primero a "previsualizar"...
Un procedimiento para poder pre visualizar y enviar el código fuente con sus correspondientes Tags es el siguiente:

1- Colocar el código fuente a enviar con sus correspondientes Tags y texto asociados y pulsar Vista Previa de Mensaje.

2- Si hay errores pulsar el Botón de Página Previa en el Navegador y corregir el error, nuevamente pulsar Vista Previa de Mensaje y repetir el paso 1 y 2 tantas veces se requiera.

3- Cuando la información a enviar este debidamente formateada y verificada en la opción de Vista Previa de Mensaje no utilizar el botón de Enviar Respuesta, en su defecto pulsar el Botón de Página Previa en el Navegador y desde esa página pulsar Enviar Respuesta con lo cual el código fuente quedara debidamente formateado.

Espero sea útil

Nelson.

Última edición por nlsgarcia fecha: 14-05-2013 a las 05:41:01.
Responder Con Cita
  #6  
Antiguo 14-05-2013
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is online now
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.682
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Buena idea
Responder Con Cita
  #7  
Antiguo 14-05-2013
Avatar de danielmj
danielmj danielmj is offline
Miembro
 
Registrado: jun 2011
Posts: 383
Poder: 16
danielmj Va por buen camino
Lo tendre en cuenta para futuros post jeje. gracias.

En cuanto al codigo nlsgarcía, sencillamente perfecto, es lo que buscaba, de todos modos, voy a ver como hago para que envez de usar un msg muestre los 6 numeros en etiquetas a modo de resumen, sin tener que pulsar el boton 5 veces.

saludos y gracias!
Responder Con Cita
  #8  
Antiguo 14-05-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
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
Cita:
Empezado por nlsgarcia Ver Mensaje
danielmj,



Revisa este código:

...

El ejemplo esta disponible en el link: http://terawiki.clubdelphi.com/Delph...om_Numbers.rar

Espero sea útil

Nelson.
Muy buen ejemplo Nelson.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #9  
Antiguo 13-05-2013
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is online now
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.682
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 08:24:37.


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