Ver la Versión Completa : Propìedad Text de ListViewButtonClick
JoysticK
11-05-2016, 16:59:38
Buenas tardes, estoy empezando con un libro de programación delphi para dispositivos móviles para ver si nos actualizamos un poco y ya he encontrado el primer problemilla....
Actualmente estoy probando delphi 10 y el libro se basa en xe5, 6 y 7, en el primer ejercicio que empiezo ya me da error de compilación, exactamente en el método OnButtonClick de un TListView, al menos hasta la versión XE7 el procedimiento es el siguiente:
procedure TTabbedForm.ListView1ButtonClick(const Sender: TObject;
const AItem: TListViewItem; const AObject: TListItemSimpleControl);
begin
ListBox1.Items.Add(AItem.Text);
end;
Con Delphi 10 uno de los parámetros, exactamente el de AItem, ha cambiado de tipo y ahora, en vez de ser TListViewItem es un TListItem, y claro ya no tiene la propiedad Text por lo que el código anterior me arroja un error de compilación, alguien sabría decirme como debo acceder ahora al texto ? gracias
Buenas tardes,
En el momento no tengo a la mano Seattle para verificar, pero según In RAD Studio 10 Seattle, the properties “.Text” and “.Detail” for my ListViews are underlined as errors. How do I fix this? (http://stackoverflow.com/a/32541841/267964), se debería "castear" aquel AItem como un Appearances.TListViewItem.
-
JoysticK
12-05-2016, 09:19:47
Gracias Topx, lo estudio a ver ahora como se accede :)
turbopascual5.0
14-05-2016, 01:53:13
Hola, yo estoy empezando con android y me las estoy viendo con el listview.
Yo accedo para asignarle un valor, para leer valores tengo problemas, esto es un trozo de código en el que asigno un valor a detail y a text (he quitado partes no relevantes), y funciona.
Código Delphi [-] (http://www.clubdelphi.com/foros/#)procedure TTabbedwithNavigationForm.trabajos; var cadena1,cadena2,cadena3,cadena4,cadena5:string; LItem: TListViewItem; BEGIN LItem:=listview2.Items.Add; LItem.detail:=clientdataset2respon_t.AsString; LItem.text:=clientdataset2ref_t.AsString; end;
Creo que lo que quieres acceder es parecido a:
Código Delphi [-] (http://www.clubdelphi.com/foros/#)procedure TTabbedwithNavigationForm.ListView2ItemClick(const Sender: TObject; const AItem: TListViewItem); begin sitrab:=true; trabajoescogido:=strtoint(aitem.ButtonText);
a mi me funciona
El problema lo tengo en un listview multidetail. Primero que no tenía la propiedad itemapearance multidetail..... hasta encontrar el método de que aparezca instalando paquete que viene en los ejemplos, luego modifica la unit para añadir la propiedad text, vaya tela. Una cosa que he visto por encima pero que no he mirado a fondo es que parece que "pasa" de la asignación del tamaño de font...
En la página en portugués tenía la forma de asignar el valor, y funciona, en mi código es:
Código Delphi [-] (http://www.clubdelphi.com/foros/#)LItem.Data [tmultidetailappearancenames.Detail2] := clientdataset1familia.value+' / '+clientdataset1proveedor.value;
Aquí asigno una cadena de texto, y funciona.
Pero al reves
Código Delphi [-] (http://www.clubdelphi.com/foros/#)micadena:=AItem.Data [tmultidetailappearancenames.Detail3];
me da el error:
Código Delphi [-] (http://www.clubdelphi.com/foros/#)[DCC Error] TabbedFormwithNavigation.pas(820): E2010 Incompatible types: 'string' and 'TValue'
Estoy atascado, he tirado de san google, foros y demás y no me salgo. Y eso de que si a=b entonces b=a no funcione me rompe los esquemas
Ademas mi nivel tampoco es muy elevado.
Un saludo a todos
AgustinOrtu
14-05-2016, 04:36:33
Prueba Data[...].AsString
En Data los ListItem tienen TValue, no string. Pero para asignar "no hay problema" porque la conversión es implícita, en realidad se ejecuta un método
TValue.Make o TValue.FromString no recuerdo
Fmx es bastante distinto y complicado en algunos aspectos pero es más flexible
turbopascual5.0
15-05-2016, 16:18:30
Prueba Data[...].AsString
En Data los ListItem tienen TValue, no string. Pero para asignar "no hay problema" porque la conversión es implícita, en realidad se ejecuta un método
TValue.Make o TValue.FromString no recuerdo
Fmx es bastante distinto y complicado en algunos aspectos pero es más flexible
Muchísimas gracias Agustin, ha funcionado perfectamente.
vBulletin v3.6.8, Derechos ©2000-2024, Jelsoft Enterprises Ltd.