Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-02-2008
Avatar de ixMike
ixMike ixMike is offline
Miembro
 
Registrado: feb 2004
Posts: 1.151
Poder: 24
ixMike Va por buen camino
Cita:
Empezado por Khronos Ver Mensaje
Código Delphi [-]
Listbox1.items:=screen.fonts;

Salu2
¿eso no explota?

Por si las moscas:
Código Delphi [-]
ListBox1.Items.AddStrings(Screen.Fonts);



Salu2
Responder Con Cita
  #2  
Antiguo 09-02-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.572
Poder: 27
egostar Va camino a la fama
Cita:
Empezado por ixMike Ver Mensaje
¿eso no explota?
Explotar ????, pues he ejecutado la instrucción y pues no, funcionó bien.

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #3  
Antiguo 09-02-2008
Avatar de totote
totote totote is offline
Miembro
 
Registrado: oct 2006
Posts: 150
Poder: 20
totote Va por buen camino
la verdad es que está resuelto muy facil XD jajaja
__________________
¡Oh nooo! no compartas, compartir es pirateria, compartir te llevara a la carcel - Revolution OS
Responder Con Cita
  #4  
Antiguo 09-02-2008
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 30
jachguate Va por buen camino
Cita:
Empezado por ixMike Ver Mensaje
¿eso no explota?
¡Claro que no!

Gracias al estupendo trabajo del equipo de desarrollo de la VCL!

Código Delphi [-]
procedure TCustomListBox.SetItems(Value: TStrings);
begin
  if Style in [lbVirtual, lbVirtualOwnerDraw] then
    case Style of
      lbVirtual: Style := lbStandard;
      lbVirtualOwnerDraw: Style := lbOwnerDrawFixed;
    end;
  Items.Assign(Value);
end;

¡gracias, chavales! Por eso es un placer programar en Delphi!
__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #5  
Antiguo 09-02-2008
Avatar de ixMike
ixMike ixMike is offline
Miembro
 
Registrado: feb 2004
Posts: 1.151
Poder: 24
ixMike Va por buen camino
La última vez que asigné TStrings como si fuera un valor me explotó el petardo en la mano:

Código Delphi [-]
var
  Lista: TStrings;
begin
...
Listbox1.Items:=Lista;
...
Lista.Free;


Responder Con Cita
  #6  
Antiguo 09-02-2008
keyboy keyboy is offline
Miembro
 
Registrado: oct 2004
Posts: 367
Poder: 22
keyboy Va por buen camino
Eso explota pero por usar un TStrings en lugar de un TStringList.

Bye
Responder Con Cita
  #7  
Antiguo 09-02-2008
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 30
jachguate Va por buen camino
Bueno, eso depende....

Código Delphi [-]
var
  Lista: TStrings;
begin
  Lista := TStringList.Create();
  try
    ...
    Listbox1.Items:=Lista;
    ...
  finally
    Lista.Free;
  end;

Esto debiera ir perfecto!
__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #8  
Antiguo 09-02-2008
Avatar de ixMike
ixMike ixMike is offline
Miembro
 
Registrado: feb 2004
Posts: 1.151
Poder: 24
ixMike Va por buen camino
Cita:
Empezado por keyboy Ver Mensaje
Eso explota pero por usar un TStrings en lugar de un TStringList.

Bye
Eso explota porque al hacer ListBox1.Items:=Lista y después liberar Lista, al intentar al acceder a ListBox1.Items... Error Acces violation bla bla bla porque ya no existe, ¡lo he liberado!


Salu2.
Responder Con Cita
  #9  
Antiguo 09-02-2008
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 30
jachguate Va por buen camino
Parece que no leíste el código que puse en el post #9 de este hilo. Ahora veo que solo seguís suponiendo que explotaría... pero en realidad no pasa. Te invito a comprobarlo.

Código Delphi [-]
var
  Lista: TStrings;
begin
  Lista := TStringList.Create();
  try
    Lista.Add('A que no exploto!!!');
    Listbox1.Items:=Lista;
  finally
    Lista.Free;
  end;
  try
    ShowMessage(ListBox1.Items[0]);
  except
    ShowMessage('Explotó!');
  end;
end;

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate

Última edición por jachguate fecha: 09-02-2008 a las 03:25:56. Razón: Corregir ShowMessage
Responder Con Cita
  #10  
Antiguo 09-02-2008
Avatar de ixMike
ixMike ixMike is offline
Miembro
 
Registrado: feb 2004
Posts: 1.151
Poder: 24
ixMike Va por buen camino
Cita:
Empezado por jachguate Ver Mensaje
Parece que no leíste el código que puse en el post #9 de este hilo. Ahora veo que solo seguís suponiendo que explotaría... pero en realidad no pasa. Te invito a comprobarlo.
Es cierto, pero, ¡si a mí me pasaba!

Mí no entender.


Edito: creo recordar que me pasaba entre objetos TStrings, no con la propiedad Items.
Responder Con Cita
  #11  
Antiguo 09-02-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.572
Poder: 27
egostar Va camino a la fama
Cita:
Empezado por ixMike Ver Mensaje
Eso explota porque al hacer ListBox1.Items:=Lista y después liberar Lista, al intentar al acceder a ListBox1.Items... Error Acces violation bla bla bla porque ya no existe, ¡lo he liberado!


Salu2.
Amigo ixMike, que quieres decir con intentar acceder a ListBox1.Items, si liberas Lista el ListBox1.Items ya cargo lo que tuviese Lista, asi que no veo donde este el error de acceso.

Prueba este código, funciona sin problemas y accedes al ListBox tantas veces quieras y Lista ya está "liberada".......

Código Delphi [-]
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Button1: TButton;
    ListBox1: TListBox;
    procedure Button1Click(Sender: TObject);
    procedure ListBox1DblClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  Lista: TStrings;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
begin
  Lista := TStringList.Create;
  with Lista do begin
    Add('This example uses A string List.');
    Add('It is the easiest way to add strings');
    Add('to a combobox''s list of strings.');
    Add('Always remember TStrings.Create method');
    Add('is abstract; So use TStringList.Create');
    Add('method instead.');
  end;
  Listbox1.Items := Lista;
  Lista.Free;
end;

procedure TForm1.ListBox1DblClick(Sender: TObject);
begin
  ShowMessage(ListBox1.Items.Strings[ListBox1.ItemIndex]);
end;

end.

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #12  
Antiguo 09-02-2008
Avatar de ixMike
ixMike ixMike is offline
Miembro
 
Registrado: feb 2004
Posts: 1.151
Poder: 24
ixMike Va por buen camino
Cita:
Empezado por egostar Ver Mensaje
Amigo ixMike, que quieres decir con intentar acceder a ListBox1.Items, si liberas Lista el ListBox1.Items ya cargo lo que tuviese Lista, asi que no veo donde este el error de acceso.

Prueba este código, funciona sin problemas y accedes al ListBox tantas veces quieras y Lista ya está "liberada".......

Salud OS
se te adelantó jachguate

De todas formas, Items no es una variable tipo dato a la que se le asignes un número, un carácter... sino que es un objeto... creo que ahí estaba mi jaleo mental

Gracias a los dos.


Añado: me pasaba con Delphi 3, pero ya digo, puede que fuera entre objetos TStrings, o algo así...
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
agregar y/o eliminar items de un listbox a partir de otro listbox Goyo PHP 2 27-09-2007 16:46:30
Llenar un listbox con 3 columnas manel660 OOP 4 14-06-2007 21:05:46
Recuperar Fuentes JODELSA Varios 2 26-01-2007 22:01:33
trabajo con fuentes gustavoh .NET 0 28-08-2006 14:13:31
Fuentes de microsoft en la red !!! abel Noticias 11 19-02-2004 15:25:37


La franja horaria es GMT +2. Ahora son las 07:31:17.


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