Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-08-2005
danytorres danytorres is offline
Miembro
 
Registrado: may 2003
Ubicación: Venezuela. Edo Carabobo
Posts: 361
Poder: 22
danytorres Va por buen camino
Question eliminar lineas de un txt.

buenos dias amigos del foro, estoy trabajando con una coletora de datos que genera un txt, el problema esta que el archivo tiene lineas en blanco y cuando lo estoy leyendo para insertarlo en la BD me presenta un error, la pregunta es como hago para eliminar las lineas en blanco del txt. Gracias.
__________________
____________________________
Un saludo a todos...
Responder Con Cita
  #2  
Antiguo 17-08-2005
Avatar de jmariano
jmariano jmariano is offline
Miembro
 
Registrado: jul 2005
Posts: 376
Poder: 19
jmariano Va por buen camino
Saludos!

¿Como estás leyendo el archivo?, te lo pregunto porque podrías probar a utilizar la clase "TStringList" para leer el archivo a través del método "LoadFromFile" y, una vez leído, crear un bucle que recorra cada elemento y elimine las líneas en blanco, ejemplo:

Código Delphi [-]
var
  I: Integer;
begin
  with TStringList.Create do
  begin
    LoadFromFile('Prueba.txt');

    for I := 0 to Count - 1 do
      if Strings[i] = '' then
        Delete(I);

    Free;
  end;
end;

(Claro que todo dependerá de como sea la estructura del archivo .txt)

Chao!
Responder Con Cita
  #3  
Antiguo 17-08-2005
danytorres danytorres is offline
Miembro
 
Registrado: may 2003
Ubicación: Venezuela. Edo Carabobo
Posts: 361
Poder: 22
danytorres Va por buen camino
Gracias por responder jmariano, el txt lo leo de esta manera:

Code:
______________________________________________________________
Archivo.LoadFromFile('C:INVENTARIO.txt');

for I := 0 to Archivo.Count -1 do
begin
Campos.Clear;
Campos.CommaText:= Archivo[i];
Codigo:= Campos[0];
end;
______________________________________________________
__________________
____________________________
Un saludo a todos...
Responder Con Cita
  #4  
Antiguo 17-08-2005
Avatar de jmariano
jmariano jmariano is offline
Miembro
 
Registrado: jul 2005
Posts: 376
Poder: 19
jmariano Va por buen camino
Ok, entonces prueba simplemente:

Código Delphi [-]
  Archivo.LoadFromFile('C:INVENTARIO.txt');

  for I := 0 to Archivo.Count -1 do
  begin
    Campos.Clear;
    
    if Archivo[i] <> '' then
    begin
      Campos.CommaText:= Archivo[i];
      Codigo:= Campos[0];
    end; 
  end;

Es, básicamente, lo mismo que te comenté pero ignorando las líneas en blanco.
Responder Con Cita
  #5  
Antiguo 17-08-2005
danytorres danytorres is offline
Miembro
 
Registrado: may 2003
Ubicación: Venezuela. Edo Carabobo
Posts: 361
Poder: 22
danytorres Va por buen camino
Gracias por responder, pero no funciona???
__________________
____________________________
Un saludo a todos...
Responder Con Cita
  #6  
Antiguo 17-08-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
¿No será que las líneas en blanco no están tan blancas? En lugar de poner

Código Delphi [-]
if Archivo[i] <> '' then

intenta con

Código Delphi [-]
if Trim(Archivo[i]) <> '' then

// Saludos
Responder Con Cita
  #7  
Antiguo 17-08-2005
danytorres danytorres is offline
Miembro
 
Registrado: may 2003
Ubicación: Venezuela. Edo Carabobo
Posts: 361
Poder: 22
danytorres Va por buen camino
Gracias por responder roman, pero me da error: incompatible string and boolean ?
__________________
____________________________
Un saludo a todos...
Responder Con Cita
Respuesta



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


La franja horaria es GMT +2. Ahora son las 15:32:09.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi