Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Sincronizar 2 TlistBox. en diferentes Forms (https://www.clubdelphi.com/foros/showthread.php?t=24146)

JXJ 10-08-2005 01:29:41

Sincronizar 2 TlistBox. en diferentes Forms
 
Tengo un Tlistbox en una forma, y otr en otra forma.
lo que quiero es que cuando. se modique el contenido de un
listbox, este se refleje actualizandose el otro listbox

En trucomania hay un codigo pero es para listbox que estan en la
misma forma, todavia no logro hacerlo funcionar para mi proposito

gracias. :)

vtdeleon 10-08-2005 04:17:29

Saludos
Cual es el truco? Pon el codigo o el enlace.

Pienso que serai facil si ya el truco lo hace en el mismo form, solo hay que referenciarle el otro form a uno de los listbox. por Ej:
Código Delphi [-]
//Mismo form
Listbox1.items:=Listbox2.items;
//Diferente form
Listbox1.items:=Form2.Listbox.Items;
Un ejemplo, algo vago:P

JXJ 11-08-2005 05:55:23

no logro aún acerlo funcionar.
me dice que
left side cannot be assigned to

me extraña que no acepte esta declaración.
Código Delphi [-]
//Antes 
  listbox1.items.clear;
//Despues
ListBox1.Items.Clear := formMenuPrincipal.ListBox1.Items.Clear;
//Antes
listbox1.items.append(nick[a]);
//Despues
 ListBox1.Items.Append(nick[a]):= formMenuPrincipal.ListBox1.Items.Append(nick[a]);

Lepe 11-08-2005 12:02:53

Si miras la declaración de Clear, verás que es un procedimiento, por tanto, no se le puede asignar nada:

Te propongo algo distinto, tenemos el combo1 y el combo2 que queremos sincronizar:

Código Delphi [-]
procedure Sincroniza(LeerDe:TCombobox; ModificarEl:TComboBox);
begin
  ModificarEl.items.Assign(leerDe.Items);
  ModificarEl.Itemindex := LeerDe.itemindex;
end;

Cuando modifiques uno de los combos, solo tienes que llamar a esta rutina de tal forma que si modifico el combo1 :
Código Delphi [-]
   Sincroniza(combo1, combo2);
Si es al contrario, cambias los parámetros de sitio y listo.

Se supone que tienes botones para añadir/borrar elementos de ambos combos, ese es el lugar idóneo para llamar a Sincroniza.

Si son pocos elementos, esta rutina va de maravilla, si son muchos, sería mejor identificar que cambio exacto se hace y eliminar / añadir el elemento exacto.

Un saludo


La franja horaria es GMT +2. Ahora son las 06:25:01.

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