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
  #21  
Antiguo 19-11-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por nlsgarcia Ver Mensaje
La correcta definición de la función RemoveCRLF es la siguiente:
Hola Nelson.

¿ Por que consideras incorrecta la definición del procedimiento RemoveCRLF ?

Una simple prueba basta para ver que funciona correctamente...
Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject);
var
  SR: TSearchRec;
begin
  Memo1.Clear;
  if FindFirst('C:\Windows\System32\*.*', faArchive, SR) = 0 then
  begin
    repeat
      Memo1.Lines.Add(SR.Name);
    until FindNext(SR) <> 0;
    FindClose(SR);
  end;
end;

procedure DeleteCRLF(TS: TStrings);
begin
  TS.Text := StringReplace(TS.Text, #$D#$A, #$20, [rfReplaceAll]);
  TS.Text := StringReplace(TS.Text, #$D#$A#$D#$A, #$20, [rfReplaceAll]);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  DeleteCRLF(Memo1.Lines);
end;

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #22  
Antiguo 19-11-2013
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 21
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
ecfisa,

Cita:
Empezado por ecfisa
...¿ Por que consideras incorrecta la definición del procedimiento RemoveCRLF ? ...
Me refiero a la función RemoveCRLF no al procedimiento DeleteCRLF.

En la definición original de la función RemoveCRLF en el Msg #18, no se estaba eliminado el Carácter #10 (Salto de Línea), en la definición del Msg #20 si se elimina correctamente.

Espero que esto aclare el punto

Nelson.
Responder Con Cita
  #23  
Antiguo 19-11-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Me faltó hacer una aclaración, si la ruta+nombre de archivo son cargados en el memo de la forma que se hace en el mensaje #21, la línea que se encarga de quitar la separación de párrafos es innecesaria:
Código Delphi [-]
  TS.Text := StringReplace(TS.Text, #$D#$A#$D#$A, #$20, [rfReplaceAll]);
Pero como no sé como realizaba la carga elmago00, no lo quise librar al azar...

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #24  
Antiguo 19-11-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por nlsgarcia Ver Mensaje
En la definición original de la función RemoveCRLF en el Msg #18, no se estaba eliminado el Carácter #10 (Salto de Línea), en la definición del Msg #20 si se elimina correctamente.

Espero que esto aclare el punto
Totalmente: Leí mal.

Me confundió la terminación (Se nota que ambos estábamos pensando en "carriage return" y "line feed" )

Así que a eso se debió mi confusión .

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #25  
Antiguo 19-11-2013
elmago00 elmago00 is offline
Miembro
NULL
 
Registrado: ago 2013
Posts: 86
Poder: 11
elmago00 Va por buen camino
[nlsgarcia]
tu codigo funciona bien con poca cantidad de archivos, pero si deseo abrir mas de 825 archivos, muestra lo siguiente, como podras ver el memo lleno pero en blanco.


ecfisa

tu codigo funciona mostrando solo el nombre, pero si muestro el directorio + el nombre. el resultado es el mismo que el anterior, un memo en blanco. no si sea el limite de delphi para cada variable string. pues son 5000 imagenes.
no soporta el directorio mas el nombre, al parecer son demasiadas cadenas. no se por que me da ese resultado.
Responder Con Cita
  #26  
Antiguo 19-11-2013
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 21
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
elmago00,

Cita:
Empezado por elmago00
...tu codigo funciona bien con poca cantidad de archivos...
Pregunto:

1- ¿Puedes publicar una imagen donde funcione bien para tener una mejor idea del problema?.

2- ¿Si lo pruebas en algún directorio de Windows funciona o falla?.

Espero sea útil

Nelson.
Responder Con Cita
  #27  
Antiguo 19-11-2013
elmago00 elmago00 is offline
Miembro
NULL
 
Registrado: ago 2013
Posts: 86
Poder: 11
elmago00 Va por buen camino
[nlsgarcia]
todos los directorios es igual, mira esa imagen funciona bien con 100 archivos, el directorio mas el nombre.


funciona bien puedo abrir hasta 825 archivos , dependiendo que tan largo sea el directorio, pero si paso esa cantidad el memo variables se vuelven en blanco.
Responder Con Cita
  #28  
Antiguo 19-11-2013
elmago00 elmago00 is offline
Miembro
NULL
 
Registrado: ago 2013
Posts: 86
Poder: 11
elmago00 Va por buen camino
al parecer si el directorio es muy largo, solo abre unos 500 a 800 archivos, hasta e pensado dividir la búsqueda, para ver si las variables no soportan tanta cadena, pero cuando se almacena despues en una sola, da el mismo resultado en blanco.
e intentado todo, o al menos eso creo. alguien me da una luz

Última edición por elmago00 fecha: 19-11-2013 a las 06:01:21.
Responder Con Cita
  #29  
Antiguo 19-11-2013
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 21
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
elmago00,

Cita:
Empezado por elmago00
...mira esa imagen funciona bien con 100 archivos, el directorio mas el nombre...al parecer si el directorio es muy largo, solo abre unos 500 a 800 archivos...
Pregunto:

1- ¿Por que requieres tener en un TMemo, un string con la sumatoria total de Ruta+Nombre_Archivo de todos los archivos de un directorio en una misma línea?.

2- ¿Por que hay un TListBox con cada string individual formado con Ruta+Nombre_Archivo?, ¿Cual es la relación con el TMemo?, ¿Por que ambos tienen al parecer la misma información?.

Te comento:

1- Una variable String en Delphi tiene un límite de 2 GB, asumo que alcanzastes dicha cota al concatenar tantos Ruta+Nombre_Archivo en un mismo String.

2- Un TMemo como esta planteado en tu aplicación no es muy practico de manejar, aun con 100 archivos, te sugiero considerar otro modo de presentación de la información, quizás usar solo el TListbox o sustituir el TMemo por un TListView, o mostar un TextBox con la Ruta y en el TListBox solo los nombres de archivo, las opciones son múltiples, todo depende del objetivo final de tu aplicación.

Si es posible, explica cual es la naturaleza de tu proyecto para tener una mejor comprensión del problema planteado.

Espero sea útil

Nelson.

Última edición por nlsgarcia fecha: 19-11-2013 a las 06:48:31.
Responder Con Cita
  #30  
Antiguo 19-11-2013
elmago00 elmago00 is offline
Miembro
NULL
 
Registrado: ago 2013
Posts: 86
Poder: 11
elmago00 Va por buen camino
Solucionado
veras, el programa es un ftp, que desarrollamos en la empresa en la que trabajo, debe cargar todo los archivos de manera aleatoria. uno tras otro.
no quiero mostrarla en el memo, solo lo uso por que se que soporta string, y la variable donde envió los archivos a cargar debe ser string,
comparaba la variable con texto del memo. pero lo solucione haciendo una referencia todos los archivos de una sola vez, en un solo directorio como constante y no uno tras otro. te preguntaras ¿por que no mueves la carpeta? por que el servidor no reconoce ese método, solo archivos con el ruta especifica almacenado en archivo externo en este caso un .txt. tenias mucha razón la variable sobrepasaba los 2gb. pero al fin lo solucione.

agradezco a todos por su ayuda. saludos a todos, son los mejores,y muy amables, mil gracias.

Última edición por elmago00 fecha: 19-11-2013 a las 07:30:13.
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Eliminar cadena con salto de linea Miguel89 Varios 3 25-04-2011 01:20:20
Parsear caracter una linea desde TStrings.... namtaxonlabs Varios 0 07-12-2010 20:01:51
Eliminar los "saltos de línea" de un TStrings.Text Neftali [Germán.Estévez] Trucos 0 08-06-2006 16:57:56
Eliminar salto de linea de una cadena pablomg8 Varios 2 13-05-2005 15:35:44
salto de linea bolofe Varios 2 24-04-2005 17:30:19


La franja horaria es GMT +2. Ahora son las 22:33:01.


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