Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Eliminar elemento de una Lista

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Eliminar elemento de una Lista Responder citando

Hola amigos foristas!

Tengo problemas para entender el funcionamiento de las
listas en C++, a ver si me pueden ayudar:

Tengo el siguiente codigo:

//Estructura definida
typedef struct
{
short iElemento;
char cEstado;
TDateTime dtFecha;
TDateTime dtHora;
}TStructEvtMes;

//Una clase definida con el tipo de dato TStructEvtMes

class TStrEvtMes
{
public:
//Constructor
__fastcall TStrEvtMes(TStructEvtMes Structura)
:StructEvtMes(Structura)
{
}
//Funciones
short __fastcall get_elemento(void) const
{return StructEvtMes.iElemento;}
char __fastcall get_estado(void) const
{return StructEvtMes.cEstado;}
TDateTime __fastcall get_fecha(void) const
{return StructEvtMes.dtFecha;}
TDateTime __fastcall get_hora(void) const
{return StructEvtMes.dtHora; }

private:
TStructEvtMes StructEvtMes;
};
//---------------------------------------------------------------------------

//Tengo un boton programado con el siguiente codigo
que lee datos de un archivo y los ingresa a la lista,
esto funciona bien.

//Pero tengo otro boton que recorre la lista con el
objetivo de eliminar los primeros elementos segun un
numero ingresado que indica el limite de elementos a
eliminar. Aparece un error al tratar de realizar el
erase() de la lista, no se porque se genera. No he
logrado entender bien lo de los iteradores, he aqui el
código:

void __fastcall TForm1::BitBtn4Click(TObject *Sender)
{
short i=0;
AnsiString sTexto;
c_iter = List_StructEvtMES.begin();
while(i <= Edit1->Text.ToInt() || c_iter !=
List_StructEvtMES.end())
{
sTexto = String(i);
sTexto += " ";
sTexto += c_iter->get_elemento();
sTexto += c_iter->get_estado();
sTexto += c_iter->get_fecha();
sTexto += c_iter->get_hora();
Memo1->Lines->Add(sTexto);
List_StructEvtMES.erase(c_iter);
i++;
c_iter++; // Siguiente registro de la lista
}
}
//---------------------------------------------------------------------------

//Noto que sí lo elimina, aunque aparezca el error.

Felices dias
Saludos
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

Yo personalmente nunca he utilizado listas de esa forma, siempre las creo yo y te recomendaria que te creases tu propia lista y si es una lista dinamica con sus punteros siguiente, etc, mejor. Luego te creas tu propio borrado. Queda mucho mejor el codigo
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Hola! gracias por tu respuesta.

A ver si me puedes dar una manito con tu metodo, me puedes dar un ejemplo acerca de como lo haces?

Ncesito insertar, eliminar (en cualquier posicion) y consultar los datos de la lista, la lista obedece a una estructura (mensionada en el mensaje inicial).


Muchas gracias

Saludos
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

Saludos...
Yo tengo por aqui varios ejemplos de listas que he utilizado... he hecho listas de enteros, templates, y de Sockets que es en la ultima en la que estoy trabajando. Y asi como dice el Drogis, con apuntadores a cada elemento, se me hace mejor de esa forma...

Si quieres dame tu correo y te mando algun ejemplo de los que tenga hechos..

Saludos
_________________
Dirección Municipal de Informática
H. Ayuntamiento de Tijuana
Arriba Lopez Obrador !!!
Los Mexicanos Merecemos Respeto !!!
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor MSN Messenger
Mensaje    Asunto: Responder citando

Claro! muchas gracias.

rockfavc@yahoo.com

Saludos
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

OK, te lo mando en la tarde en cuanto llegue a mi casa...

Saludos
_________________
Dirección Municipal de Informática
H. Ayuntamiento de Tijuana
Arriba Lopez Obrador !!!
Los Mexicanos Merecemos Respeto !!!
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor MSN Messenger
Mensaje    Asunto: Atorado Responder citando

Hola, soy principiante en C++ y C++ Builder, algo conozco de C, bueno, debo hacer algunas aplicaciones con árboles, los conceptos los tengo clarísimos y me sería de mucha ayuda que me enviaras tu código a mi correo para poder partir con eso y crear los árboles que necesito

De antemano muchas gracias, buen foro
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: oops Responder citando

Se me olvido poner mi mail Embarassed

proyecto12004@yahoo.com Laughing

Gracias
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Claro que si con mucho gusto, en la tarde te lo mando
_________________
Dirección Municipal de Informática
H. Ayuntamiento de Tijuana
Arriba Lopez Obrador !!!
Los Mexicanos Merecemos Respeto !!!
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor MSN Messenger
Mensaje    Asunto: Responder citando

necesito una lista porvafor la mia es tal q asi:

struct tipo_elem
{
int num,numceros;
};
struct TNodo{
tipo_elem elemento;
TNodo *sig;
};

typedef TNodo *TLista;

ME mandas la q mas se aproxime para insertar borrar etc... y yo la modifico . GRACIAS.
pedro_rivero_sanchez@hotmail.com
Volver arriba
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.