![]() |
Objetos en un TString
Buenas. Trabajando en Builder 6, tengo un TComboBox, que al fin y al cabo no deja de ser un TString que relleno a partir de este query:
de esta manera: Código:
Formacion->Items->Clear();
|
En Delphi borro así una lista al completo:
|
Cita:
Código:
while (Formacion->Items->Count > 0) |
Cita:
Código:
signed int nBuscar; |
Pues va aser que no. He esatdo buscando y el libro de Marteens "La cara oculta de Delphi" me encontrado con esto:
Lo que me da a entender que con números negativos no funciona. A lo mejor estoy equivocado. |
Pero -1 significa que no ha encontrado un valor en la lista.
|
Hola.
Ese caso es diferente, la función IndexOf devuelve -1 como índice si no encuentra el elemento buscado y eso es lo que evalua en ese if/then. En cuanto a el caso de IndexOfObject de TListBox no pude encontrar referencia al respecto, pero en las pruebas verifiqué que tanto c++ builder como Delphi no permiten moldeo de tipo TObject sobre números negativos como argumento de la función IndexOfObject; supongo que eso sucede por ser TObject un apuntador. Saludos :) |
Cita:
|
Hola Angel.
Tengo que rectificar mi mensaje anterior ya que no es correcto en su totalidad, en esta última prueba funcionan los valores negativos menos el -1: Código PHP:
Saludos :) |
Si almacenas el entero como objeto la búsqueda del valor también debe hacerse como un objeto.
No tengo C++, así que el ejemplo está en Delphi
|
Hola.
Hice las pruebas sobre el componente que usó Angel. Ahora viendo tu ejemplo probé con el componente ComboBox y no presenta nigún problema! , pero no es así con el ListBox.
Resultado: ![]() Saludos :) |
Gracias por las respuestas.
Cita:
Código:
Formacion->ItemIndex = Formacion->Items->IndexOfObject((TObject*)nItem) Cita:
|
Cita:
|
Al parecer el componente TListBox si tiene un problema
![]() En este código estoy usando un TCombobox, TListBox y un TStrings. Las funciones que alimentan y leen de las listas son las mismas, el objeto de lista es pasado como parámetro y la lista del TListBox genera error.
|
La franja horaria es GMT +2. Ahora son las 02:51:28. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi