Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-08-2007
Avatar de MaMu
MaMu MaMu is offline
Miembro
 
Registrado: abr 2006
Ubicación: Argentina
Posts: 863
Poder: 19
MaMu Va por buen camino
Lo que se me ocurrio es hacer lo siguiente:

Código Delphi [-]
 Pagina:=20;
  for i:=1 to List.Count do
    begin
      w:=w+1;  //acumulador
      if w=Pagina     //Conto 20?
        then begin
          w:=0;
          ListBox1.Items.Add('Pagina de '+IntToStr(i-Pagina)+' a '+IntToStr(i));
        end;
    end;

Y si por ejemplo el List.Count=100 me funciona, pero no se me ocurre, como hacer cuando List.Count=105, tengo que resolver eso.

Lo de los grupos lo habia pensado, pero tengo tan ordenado el tema de la lista que me da miedo cambiar el codigo.

Saludos
__________________
Código Delphi [-]
 
try 
ProgramarMicro(80C52,'Intel',MnHex,True);
except
On Exception do
MicroChip.IsPresent(True);
end;
Responder Con Cita
  #2  
Antiguo 03-08-2007
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Mamu, hace tiempo tuve que manejar algo parecido a lo que tu buscas. Tenía que implementar el test Chi-Cuadrado que lo que hace es armar grupos (series) de elementos de una lista de números y con ellos calcula unos estadísticos.

Al algoritmo lo implementé con arrays dinámicos. Y me olvidaba de la creación de TList. Si estas interesado, te lo puedo enviar para que lo estudies. Yo lo que hice fue aplicar el artilugio que te comentaba anteriormente.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #3  
Antiguo 03-08-2007
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
Cita:
Empezado por mamu Ver Mensaje
Y si por ejemplo el List.Count=100 me funciona, pero no se me ocurre, como hacer cuando List.Count=105, tengo que resolver eso.
Prueba esta modificacion a ver si va, pero la verdad no entiendo exactamente cual es el problemas, si entiendo lo que quieres hacer mas no el problema que describes al comienzo

Código Delphi [-]
 Pagina:=20;
  for i:=1 to List.Count do
    begin
      w:=w+1;  //acumulador
      if w=Pagina     //Conto 20?
        then begin
          w:=0;
          ListBox1.Items.Add('Pagina de '+IntToStr(i-Pagina)+' a '+IntToStr(i));
        end;
    end;
   //Si sale valida que no tenga nada w, es decir imprimio todos los valores
   if w<>0 then
      ListBox1.Items.Add('Pagina de '+IntToStr(i-w)+' a '+IntToStr(i));    //Muestra los que falta
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #4  
Antiguo 03-08-2007
Avatar de MaMu
MaMu MaMu is offline
Miembro
 
Registrado: abr 2006
Ubicación: Argentina
Posts: 863
Poder: 19
MaMu Va por buen camino
SOLUCIONADO

Implemente esto como prueba y funciona perfecto, tal cual lo necesitaba.
Luego lo voy a adaptar a una funcion.

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var i,w,z,cant,porcion:integer;
begin
  w:=0;
  z:=20;
  porcion:=0;
  cant:=StrToInt(Edit1.Text);
  for i:=1 to cant  do
    begin
      w:=w+1;
      if w=z  //Conto 20?
        then begin
            w:=0;
            ListBox1.Items.Add('Pagina de '+IntToStr(i-z+1)+' a '+IntToStr(i));
            porcion:=porcion+1;
          end;
    end;
  //Faltan??? menores a Z=20
  if w<>0
  then ListBox1.Items.Add('Pagina de '+IntToStr(i-w)+' a '+IntToStr(cant));
end;

Delphius es interesante el dato, y desde ya cuando quieras compartirlo, bienvenido sea.

Saludos y Gracias a todos.
__________________
Código Delphi [-]
 
try 
ProgramarMicro(80C52,'Intel',MnHex,True);
except
On Exception do
MicroChip.IsPresent(True);
end;
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
Fragmentar Imagenes... DarkDrakon Gráficos 1 01-03-2007 09:50:19
sql resultado carols018 MySQL 2 23-11-2006 16:48:17
Como paginar una tabla de 2000 renglones GCASTILLO Internet 0 03-10-2006 01:42:51
Resultado extraño... vantta C++ Builder 5 01-02-2005 11:45:33
Paginar registros JulioGO PHP 4 25-10-2004 01:50:32


La franja horaria es GMT +2. Ahora son las 18:42: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