Ver Mensaje Individual
  #1  
Antiguo 21-03-2014
Avatar de eennzzoo
eennzzoo eennzzoo is offline
Miembro
NULL
 
Registrado: nov 2013
Ubicación: Argentina
Posts: 59
Reputación: 11
eennzzoo Va por buen camino
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;
                }
        }
}
Responder Con Cita