Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #6  
Antiguo 20-04-2018
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.
Cita:
Empezado por Angel.Matilla Ver Mensaje
Estoy usando este código:
Código:
for (; Query->Eof; Query->Next())
     ComboBox1->Items->AddObject(Query->Fields->FieldByNumber(1)->AsString, (TObject *)Query->Fields->FieldByNumber(2)->AsInteger);
para asociar valores a los elementos de un ComboBox. Me surge una duda: ¿Cómo se puede saber si un ComboBox tiene asociado un objeto?
La propiedad Objects deriva de TCustomCombo (de tipo TStrings) y no posee un contador por lo que, para saber si el combo tiene asociado algún objeto, necesitas comprobar cada uno de los Items como te sugiere duilioisola.

Dos opciones similares:
Código PHP:
// (podrías retornar un int si deseas saber cuantos objetos hay)
bool ComboHaveObjects(TComboBoxCB)
{
  for (
int i 0CB->Items->Counti++)
    if (
CB->Items->Objects[i])
      return 
true;
  return 
false;
}

// Ejemplo de uso:
 
if (ComboHaveObjects(ComboBox1))
    
ShowMessage("ComboBox1 tiene objetos asociados");
  else
    
ShowMessage("ComboBox1 no tiene objetos asociado"); 
Código PHP:
class TComboBoxHack:public TComboBox
{
public:
  
bool haveObjects(void);
};

bool TComboBoxHack::haveObjects(void)
{
  for (
int i 0Items->Counti++)
    if ( 
Items->Objects[i] )
      return 
true;

  return 
false;
}

// Ejemplo de uso:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
 if (!(
static_cast<TComboBoxHack*>(ComboBox1))->haveObjects())
   
ShowMessage("ComboBox1 no tiene un objeto asociado");
 else
   
ShowMessage("ComboBox1 tiene objetos asociados");

Ahora, si cada Item si o si tendrá un objeto asociado, y deseas saber si no tiene ninguno mas simple es:
Código PHP:
  if (ComboBox1->Items->Count == 
    
ShowMessage("ComboBox1 no tiene objetos asociados"); // obviamente...

  // si el combo se vacía (Clear) antes de su carga, también es válido:
  
if (Query->IsEmpty())
    
ShowMessage("ComboBox1 no tiene objetos asociados"); 
Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 20-04-2018 a las 19:28:13.
Responder Con Cita
 



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
TComboBox.Items.AddObject en Android dison Desarrollo en Delphi para Android 2 13-10-2014 07:38:44
Items de un Listview Miguel89 Varios 3 09-03-2012 21:35:43
No se ven los items de mi Combobox pablopessoa Varios 2 08-06-2010 20:53:30
Items en popupmenu amerika111 Varios 2 04-01-2010 20:42:46
Items Listview Trigger OOP 2 11-10-2004 21:05:02


La franja horaria es GMT +2. Ahora son las 16:56:07.


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