| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
rockfavc Cmdr


Registrado: 23 Ago 2002Mensajes: 138Ubicación: Colombia (Medellín)
|
Publicado: Jue 29 Abr, 2004 3:25 pm Asunto: Eliminar elemento de una Lista |
|
|
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 |
|
 |
el drogis Lt JG


Registrado: 02 Dic 2003Mensajes: 64Ubicación: Tornavacas (Caceres)
|
Publicado: Jue 29 Abr, 2004 3:48 pm Asunto: |
|
|
| 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 |
|
 |
rockfavc Cmdr


Registrado: 23 Ago 2002Mensajes: 138Ubicación: Colombia (Medellín)
|
Publicado: Jue 29 Abr, 2004 4:22 pm Asunto: |
|
|
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 |
|
 |
LordNemesis Master


Registrado: 31 Dic 2003Mensajes: 340Ubicación: México
|
Publicado: Jue 29 Abr, 2004 4:29 pm Asunto: |
|
|
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 |
|
 |
rockfavc Cmdr


Registrado: 23 Ago 2002Mensajes: 138Ubicación: Colombia (Medellín)
|
Publicado: Jue 29 Abr, 2004 5:06 pm Asunto: |
|
|
Claro! muchas gracias.
rockfavc@yahoo.com
Saludos |
|
| Volver arriba |
|
 |
LordNemesis Master


Registrado: 31 Dic 2003Mensajes: 340Ubicación: México
|
Publicado: Jue 29 Abr, 2004 7:28 pm Asunto: |
|
|
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 |
|
 |
yahaqui Cdt

Registrado: 12 May 2004Mensajes: 2Ubicación: Chile
|
Publicado: Mie 12 May, 2004 3:50 pm Asunto: Atorado |
|
|
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 |
|
 |
yahaqui Cdt

Registrado: 12 May 2004Mensajes: 2Ubicación: Chile
|
|
| Volver arriba |
|
 |
LordNemesis Master


Registrado: 31 Dic 2003Mensajes: 340Ubicación: México
|
Publicado: Mie 12 May, 2004 4:13 pm Asunto: |
|
|
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 |
|
 |
Peel Invitado
|
Publicado: Lun 09 Ago, 2004 8:06 pm Asunto: |
|
|
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 |
|
 |
|