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 31-08-2006
DM2005 DM2005 is offline
Miembro
 
Registrado: abr 2005
Posts: 41
Poder: 0
DM2005 Va por buen camino
recorrer listbox

Hola a todos, estoy trabajando en un proyecto, el cual carga en un listbox un archivo txt, y hasta ahora no eh conseguido, que, por medio de un speedbutton, recorra el .txt y cuando encontrar un dato mi form por ejemplo cambie el tamaño.

Código Delphi [-]
procedure TForm1.ListBox1DblClick(Sender: TObject);
begin
       ListBox2.Items.LoadFromFile('C:\IPMaximizada.txt');
end;

Código Delphi [-]
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
      
recorrer y al encontrar 'N', el form cambie el tamaño, ej. height:=200; widht:=300;
 
end;

agradeceria muchisimo por la ayuda...
saludos
Responder Con Cita
  #2  
Antiguo 31-08-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Código Delphi [-]
procedure TForm1.SpeedButton1Click(Sender: TObject);
var
  I := Integer;

begin
  for I := 0 to ListBox2.Items.Count - 1 do
    if ListBox2.Items[i] = 'N' then
    begin
      Height := 200;
      Width := 300;

      break;
    end;      
end;

// Saludos
Responder Con Cita
  #3  
Antiguo 31-08-2006
DM2005 DM2005 is offline
Miembro
 
Registrado: abr 2005
Posts: 41
Poder: 0
DM2005 Va por buen camino
Hola Roman, sabes que coloque el codigo, y el carga el txt, y cuando hago el primer clique para que el recorra, el ya modifica el tamaño del form, mi txt, esta compuesto de la siguiente informacion:

S
S
S
N
N
S

por logica, deberia recorrer 3 cliques antes de cambiar el tamaño de mi form, eh intentado otras formas, y me acontence lo mismo.
Agradeceria si pudieras ayudarme con este pequeño problema.
Gracias.
//Saludos
Responder Con Cita
  #4  
Antiguo 31-08-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

No entiendo muy bien qué es lo que quieres conseguir, puesto que el código de Román debería irte bien, ¿no? Yo voy a comentarlo a modo de "ruta" de lo que vamos a hacer. Si quieres tú puedes hacer lo propio, de manera que ayude a comprender qué es lo que necesitas.

Código Delphi [-]
procedure TForm1.SpeedButton1Click(Sender: TObject);
var
  I := Integer;
begin
  // Recorremos los elementos de la lista
  for I := 0 to ListBox2.Items.Count - 1 do
    // Y si nos topamos con uno que contenga "N"
    if ListBox2.Items[i] = 'N' then
    begin
      // Redimensionamos el formulario
      Height := 200;
      Width := 300;

      // Y puesto que ya lo hicimos, dejamos de buscar
      break;
    end;
end;

Lo único que se me ocurre al ver el "break" del código de Román es que tú no quieras salir del "bucle" en cuanto encuentres una "N" (en el ejemplo) sino que quieras seguir procesando el resto de elementos... si fuera esto, obviamente, es cuestión de que quites el "break" del "bucle". Ya dirás algo a ver qué tal.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #5  
Antiguo 31-08-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Si entendí bien, no quieres recorrer todo el listbox con una sola pulsación, lo que quieres es saltar al siguiente item cada vez que pulses el botón. Es decir si la 'N' es el 3 elemento, tendrás que pulsar 3 veces para llegar a ella. El siguiente código recorre el listbox con cada pulsación, al llegar al final vuelve al primer elemento.

Código Delphi [-]
{$WRITEABLECONST ON}
procedure TForm1.SpeedButton1Click(Sender: TObject);
const
  i: integer = 0;
begin
  with Listbox2 do
  begin
    if i < Count then
      if Items[i] = 'N' then
      begin
        Self.Height := 200;
        Self.Width := 300;
      end;
    if i < Count-1 then
      inc(i)
    else
      i:= 0;
  end;
end;
{$WRITEABLECONST OFF}
Responder Con Cita
  #6  
Antiguo 01-09-2006
DM2005 DM2005 is offline
Miembro
 
Registrado: abr 2005
Posts: 41
Poder: 0
DM2005 Va por buen camino
Hola, a procedure que Seoane paso para mi funciona correcta, pero me gustaria que al recorrer el listbox, el no comienze desde el primer item, y si que recorra el listbox junto a otro listbox, es decir...que el listbox2 y listbox 4, recorran juntos con cada clique, y de alguna forma que el item del listbox2 sea igual al item del listbox4.
espero haber explicado bien..

Código Delphi [-]
{$WRITEABLECONST ON}
procedure TForm1.SpeedButton2Click(Sender: TObject);
const
  i: integer = 0;
begin
   with ListBox3.Items do
    begin
      if ListBox3.ItemIndex < Count-1
         then ListBox2.ItemIndex := ListBox2.ItemIndex + 1
         else MessageDlg('Final del curso !',mtInformation,[mbOk],0);
         Panel2.Caption := ListBox2.Items.Strings[ListBox2.ItemIndex];
         WebBrowser1.Navigate(strings[ListBox2.ItemIndex]);
    end;
  begin
  with ListBox4 do
   begin
    if i < Count then
      if Items[i] = 'N' then
      begin
        Self.Height := 300;
        Self.Width := 500;
        Self.Left := 400;
        Self.Top := 400;
      end;
    if i < Count-1 then
      inc(i)
    else
      i:= ListBox2.ItemIndex;
   end;
  end;}
end;
{$WRITEABLECONST OFF}
agradezco por la ayuda..
//saludos

Última edición por DM2005 fecha: 01-09-2006 a las 20:50:47.
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
recorrer listbox para modificar tamaño del form DM2005 Varios 1 15-08-2006 14:11:10
Recorrer Archivo INI Coco_jac OOP 6 27-06-2006 20:01:15
Recorrer un pchar Status Quo Varios 23 27-05-2006 19:07:55
Selección multiple / recorrer listbox miguelml Varios 2 28-04-2006 19:44:02
recorrer tabla acrophet Conexión con bases de datos 7 30-04-2004 00:03:06


La franja horaria es GMT +2. Ahora son las 17:01:33.


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