![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Borrar lineas de txt
Hola tengo un archivo txt el cual contiene varios datos de distintos usuarios por ejemplo.
dni1 nombre1 apellido1 dni2 nombre2 apellido2 Tengo lo que se encargar de buscar y mostrar en los labels, me falta que una vez que busco a cierta persona la elimine del txt. Sin que me queden espacios en blancos, si quisiera eliminar al dni1, tendria que quedarme asi el txt: dni2 nombre2 apellido2 Código:
TStrings *TS = new TStringList; TS->LoadFromFile("datos.txt"); void __fastcall TfCliente::MostrarRegistro(const int pp,const int c) { lblCliente->Caption = "Datos de "+TS->Strings[pp+1]+" "+TS->Strings[pp+2]; lblDni->Caption = TS->Strings[pp]; lblNombre->Caption = TS->Strings[pp+1]; lblApellido->Caption = TS->Strings[pp+2]; lblDireccion->Caption = TS->Strings[pp+3]; lblMail->Caption = TS->Strings[pp+4]; lblTelefono->Caption = TS->Strings[pp+5]; lblCelular->Caption = TS->Strings[pp+6]; lblEdad->Caption = TS->Strings[pp+7]; lblNacimiento->Caption = TS->Strings[pp+8]; lblNumeroCliente->Caption = c; } void __fastcall TfCliente::btnBuscarClick(TObject *Sender) { if (editBuscar->Text != ""){ int docu=0; int c; for(int i=0; i< TS->Count; i+=9) { if (Trim(editBuscar->Text) == Trim(TS->Strings[i])) { c=TS->Count/9; MostrarRegistro(i,c); editBuscar->Text = ""; break;} else { docu+=9; if (docu == TS->Count) { Application->MessageBox("El cliente no existe.","AVISO", MB_OK | MB_ICONEXCLAMATION); editBuscar->Text = ""; lblCliente->Caption = ""; lblDni->Caption = ""; lblNombre->Caption = ""; lblApellido->Caption = ""; lblDireccion->Caption = ""; lblMail->Caption = ""; lblTelefono->Caption = ""; lblCelular->Caption = ""; lblEdad->Caption = ""; lblNacimiento->Caption = ""; lblNumeroCliente->Caption = ""; } } } if (TS->Count == 0){ Application->MessageBox("El cliente no existe.","AVISO", MB_OK | MB_ICONEXCLAMATION); } } else { Application->MessageBox("Ingrese un numero de documento.","AVISO", MB_OK | MB_ICONEXCLAMATION); } } void __fastcall TfCliente::btnEliminarClick(TObject *Sender) { if (lblApellido->Captiont != ""){ const int result = Application->MessageBox(("Desea eliminar al cliente " + lblApellido->Caption+" "+lblNombre->Caption+" ?").c_str() ,"AVISO", MB_YESNO | MB_ICONQUESTION); switch (result) { case IDYES: Application->MessageBox("El cliente fue eliminado correctamente.","Cliente eliminado", MB_OK); break; case IDNO: break; } } } |
#2
|
||||
|
||||
Muy bien, y ¿el problema?
|
#3
|
||||
|
||||
Eliminar los datos del txt, de la persona que busco.
|
#4
|
||||
|
||||
Hola eennzzoo
Código:
void DeleteData(TStrings *TS, String dni) { int ix = TS->IndexOf(dni); if (ix != -1) { if (MessageBox(0,"¿ Desea borrar los datos ?","",MB_YESNO)==IDYES) { TS->Delete(ix+2); TS->Delete(ix+1); TS->Delete(ix); } } else MessageBox(0,"No se encontró una persona con ese DNI","", MB_OK); } Código:
void __fastcall TForm1::btnDeleteClick(TObject *Sender) { DeleteData(Lista, EditDNI->Text); } ![]()
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#5
|
||||
|
||||
Cita:
|
#6
|
||||
|
||||
Hola ennzzoo.
Cita:
Para evitar confusiones te adjunto el código fuente de un ejemplo operativo, así podrás revisarlo con tranquildad. Solo descomprimilo en una carpeta, contiene el archivo de texto (file.txt).
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... Última edición por ecfisa fecha: 25-09-2014 a las 02:46:14. |
#7
|
||||
|
||||
Cita:
Quizas eennzzoo está buscando un ajuste como este: Código:
void DeleteData(TStrings *TS, String dni) { int ix = TS->IndexOf(dni); if (ix != -1) { if (MessageBox(0,"¿ Desea borrar los datos ?","",MB_YESNO)==IDYES) { TS->Delete(ix+2); TS->Delete(ix+1); TS->Delete(ix); Lista->SaveToFile(ExtractFilePath(Application->Name)+"file.txt"); } } else MessageBox(0,"No se encontró una persona con ese DNI","", MB_OK); } |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Dibujar y borrar lineas con el movimiento de labels | Acanol | Gráficos | 7 | 29-05-2006 10:50:43 |
Borrar lineas detalle al borrar registro maestro | akinom38 | Conexión con bases de datos | 3 | 11-01-2006 10:38:07 |
Borrar Lineas en Word con delphi | Renees | Varios | 0 | 21-10-2005 15:46:39 |
Borrar lineas | Luli | Gráficos | 2 | 29-07-2005 15:21:28 |
Luego de borrar lineas en un memo... | pablo | OOP | 3 | 26-04-2005 01:03:02 |
![]() |
|