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 08-04-2009
gabriel_exe gabriel_exe is offline
Registrado
 
Registrado: ene 2008
Ubicación: Entre rios parana
Posts: 4
Poder: 0
gabriel_exe Va por buen camino
Listar todos los nombres de los Formularios de mi aplicacion

Hola a todos! estoy trabajando con DELPHI 2007 queria preguntarles: si saben como mostrar todos los nombre de los formularios de mi aplicacion en un listbox?¿?¿??¿¿?¿?¿?,para despues seleccionar uno de esa lista.Les voy agradecer un monton, por q la verdad no tengo ni idea jeje
Responder Con Cita
  #2  
Antiguo 08-04-2009
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.282
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Puedes acceder a los forms creados utilizando TScreen.Forms[i] y FormCount

Código Delphi [-]
  for i := 0 to Screen.FormCount do begin
    fName := Screen.Forms[i].Name;
    ...
  end;
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 08-04-2009
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,

Falta el "menos uno" Neftalí, so pena de enfrentarnos a un "Index out of bounds".

Código Delphi [-]
var
  i, len: integer;
begin
  len := Screen.FormCount-1;
  for i := 0 to len do begin
    ShowMessage(Screen.Forms[i].Name);
  end;
end;

Nótese que prefiero además almacenar la "longitud" del bucle en una variable, será por leer a Francisco Charte.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #4  
Antiguo 08-04-2009
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.282
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por dec Ver Mensaje
Falta el "menos uno" Neftalí, so pena de enfrentarnos a un "Index out of bounds".
Hazle caso a Dec, que sabe de lo que habla...
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #5  
Antiguo 08-04-2009
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.042
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por dec Ver Mensaje
Hola,
Falta el "menos uno" Neftalí, so pena de enfrentarnos a un "Index out of bounds".Código Delphi [-]var i, len: integer; begin len := Screen.FormCount-1; for i := 0 to len do begin ShowMessage(Screen.Forms[i].Name); end; end;


Nótese que prefiero además almacenar la "longitud" del bucle en una variable, será por leer a Francisco Charte.
[off topic]
Tengo la costumbre de hacer eso, aunque a veces me resisto porque no me parece realmente necesario y acabo haciéndolo sin usar una variable, ¿qué dice F. Charte al respecto?, es que me ha llamado la atención ese comentario tuyo
[/off topic]
Responder Con Cita
  #6  
Antiguo 08-04-2009
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 puedo enlazarte el artículo en cuestión Casimiro (no lo encuentro). Pero, en todo caso, es una cuestión de ahorro de recursos. Si no es extrictamente necesario, en lugar de usar un método o función que mida (a cada paso del bucle) la longitud que nos interesa, podemos almacenar esa longitud en una variable, que será lo que usemos a cada paso del bucle.

PD. Definitivamente Charte lo explica mejor que yo.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #7  
Antiguo 08-04-2009
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.042
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por dec Ver Mensaje
[..]PD. Definitivamente Charte lo explica mejor que yo.
¿Se puede explicar mejor?, lo dudo
Responder Con Cita
  #8  
Antiguo 08-04-2009
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
Cita:
Empezado por dec Ver Mensaje
Nótese que prefiero además almacenar la "longitud" del bucle en una variable, será por leer a Francisco Charte.
Supongo que Francisco Charte no se ha percatado de que el compilador de delphi evalúa el límite final sólo una vez al comienzo del ciclo for y no en cada vuelta

Pruébenlo:

Código Delphi [-]
function Limit(): Integer;
begin
  ShowMessage('Estableciendo el límite');
  Result := 3;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  I: Integer;

begin
  for I := 1 to Limit() do
    ShowMessage(Format('Vuelta %d', [i]));
end;

// Saludos
Responder Con Cita
  #9  
Antiguo 08-04-2009
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Cita:
Empezado por roman Ver Mensaje
Supongo que Francisco Charte no se ha percatado de que el compilador de delphi evalúa el límite final sólo una vez al comienzo del ciclo for y no en cada vuelta

Pruébenlo:
Ya lo he probado amiguito y es como dices, solo evalúa la primera ves .

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #10  
Antiguo 08-04-2009
gabriel_exe gabriel_exe is offline
Registrado
 
Registrado: ene 2008
Ubicación: Entre rios parana
Posts: 4
Poder: 0
gabriel_exe Va por buen camino
Smile Listar todos los nombres de los Formularios de mi aplicacion

Muchas gracias a todos por las respuestas, me van a servir de mucho por que la verdad no sabia por donde empesar jeje ahora a programar se ha dicho! jeje
Saludos
Responder Con Cita
  #11  
Antiguo 08-04-2009
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,

Je je je,... se ve que no he tenido en cuenta lo que dice Román. Ciertamente, Francisco Charte hablaba de C (no recuerdo si de C++) en su artículo... no de Delphi... lo cierto es que a mí se me ha quedado como una costumbre (creo que buena) y que uso en el lenguaje que sea... pero no está mal saber que en Delphi las cosas son distintas.

PD. Francisco Charte no ha errado, pues él hablaba de C o de C++, no recuerdo bien, y no de Delphi. He sido yo el metepatas.
__________________
David Esperalta
www.decsoftutils.com
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 todos los formularios de mi Aplicacion rgstuamigo OOP 8 31-01-2009 18:35:39
se puede usar un solo TSQL_Connection para todos los formularios en una apli MDI??? Mitsuomi Conexión con bases de datos 3 28-12-2007 20:48:11
Obtener (listar) los nombres de los campos de una tabla... JuanErasmo Firebird e Interbase 1 19-04-2007 18:06:34
Listar todos los Formularios de mi Apliacion BuenaOnda Varios 5 04-01-2007 14:52:40
Comprobar que todos los formularios de la aplicacion estan cerrados Colgueit OOP 4 14-05-2006 21:30:31


La franja horaria es GMT +2. Ahora son las 22:44:17.


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