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 29-02-2012
ungrande87 ungrande87 is offline
Miembro
NULL
 
Registrado: feb 2012
Posts: 42
Poder: 0
ungrande87 Va por buen camino
TStringList y Delimitadores.

Hola estoy trabajando en delphi 7 y basicamente lo que quiero hacer es de una cadena de texto, buscar donde se encuentran los puntos y separar dichas cadenas, para eso me dijeron que podia utilizar el TStringList, pero la verdad que nose como se utiliza ni como extraer las cadenas. Si alguien pudiese pasarme un ejemplo con un TStringList o algun componente parecido que me sirva para hacer lo que pregunte anteriormente le agradeceria muchisimo.

Y tambien me gustaria saber si alguien sabe si existen delimitadores en delphi, porque lo que necesito basicamente es delimitar donde empieza y donde termina una cadena mas alla de lo preguntado anteriormente, esto seria algo aparte.

Si pudieran ayudarme les agradeceria muchisimo!!! Saludos
Responder Con Cita
  #2  
Antiguo 29-02-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿No has encontrado nada buscando por nuestros foros?, es un tema que se ha tratado en repetidas ocasiones.
Responder Con Cita
  #3  
Antiguo 01-03-2012
ungrande87 ungrande87 is offline
Miembro
NULL
 
Registrado: feb 2012
Posts: 42
Poder: 0
ungrande87 Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
¿No has encontrado nada buscando por nuestros foros?, es un tema que se ha tratado en repetidas ocasiones.
La otra vez que tuve problemas con la base de datos no tuve problemas en encontrar la solucion porque estan bien delimitados esos temas pero este en particular no pude encontrarlo. Por eso que cree este hilo, sino no molesto a la gente. Saludos
Responder Con Cita
  #4  
Antiguo 01-03-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
No molestas para nada

A ver si te sirven estos enlaces: este, este y este otro.
Responder Con Cita
  #5  
Antiguo 01-03-2012
ungrande87 ungrande87 is offline
Miembro
NULL
 
Registrado: feb 2012
Posts: 42
Poder: 0
ungrande87 Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
No molestas para nada

A ver si te sirven estos enlaces: este, este y este otro.
Muchas gracias mañana sigo viendo este tema pero creo que con eso que me pasaste me alcanza. Gracias de verdad
Responder Con Cita
  #6  
Antiguo 01-03-2012
ungrande87 ungrande87 is offline
Miembro
NULL
 
Registrado: feb 2012
Posts: 42
Poder: 0
ungrande87 Va por buen camino
me sirvio mucho la ayuda que me pasaste. Ahora tengo otra pregunta:

supongamos que tengo la siguiente cadena: hola.como.estas=el.dia.de.hoy

y con el StringList logre separar por punto las siguientes partes:

hola
como
estas=el
dia
de
hoy

lo que querria hacer ahora seria establecer que un determinado caracter me marque el final de la cadena en este caso seria el =, nose si me explique bien.

y la devolucion seria:

hola
como
estas

Espero puedan ayudarme. Gracias
Responder Con Cita
  #7  
Antiguo 01-03-2012
ungrande87 ungrande87 is offline
Miembro
NULL
 
Registrado: feb 2012
Posts: 42
Poder: 0
ungrande87 Va por buen camino
Cita:
Empezado por ungrande87 Ver Mensaje
me sirvio mucho la ayuda que me pasaste. Ahora tengo otra pregunta:

supongamos que tengo la siguiente cadena: hola.como.estas=el.dia.de.hoy

y con el StringList logre separar por punto las siguientes partes:

hola
como
estas=el
dia
de
hoy

lo que querria hacer ahora seria establecer que un determinado caracter me marque el final de la cadena en este caso seria el =, nose si me explique bien.

y la devolucion seria:

hola
como
estas

Espero puedan ayudarme. Gracias
Recien acabo de darme cuenta que al espacio tambien me lo toma como separar y eso que yo puse al punto .
Cita:
como Cadena.Delimiter := '.'
porque me pasa esto????
Responder Con Cita
  #8  
Antiguo 02-03-2012
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 ungrande87 Ver Mensaje
Recien acabo de darme cuenta que al espacio tambien me lo toma como separar y eso que yo puse al punto . porque me pasa esto????
Hola.

Creo que a partir de Delphi 2006 existe la propiedad StrictDelimiter que soluciona ese problema. Pero para los que aún tenemos Delphi 7 hay que escribir un poco de código.

Una forma puede ser:
Código Delphi [-]
function SepararCadena(Cadena: string; const Delim: Char): TStrings;
var
  p: Integer;
begin
  Result:= TStringList.Create;
  Cadena:= Cadena + Delim;
  while Length(Cadena) > 0 do
  begin
    p:= Pos(Delim, Cadena);
    if p = Length(Cadena) then
      SetLength(Cadena,Length(Cadena)-1);
    Result.Add(Copy(Cadena, 1, p));
    Delete(Cadena, 1, p);
  end;
end;

Llamadas de ejemplo:
Código Delphi [-]
var
  Texto: string;
  TS: TStrings;
begin
  Texto:= 'Esta función, se podría haber evitado, si Delphi 7, '+
          'tuviera implementada la propiedad StrictDelimiter.';
  Memo1.Lines:= SepararCadena(Texto, ',');
  // otro ejemplo
  TS:= TStringList.Create;
  try
    TS:= SepararCadena(Texto, 'e');
    Memo1.Lines:= TS;
  finally
    TS.Free;
  end;
end;

Saludos.

Edito: ¡Al fín pude encontrar el hilo!... Creo que también te podría interesar esto
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 02-03-2012 a las 04:02:35.
Responder Con Cita
  #9  
Antiguo 05-03-2012
ungrande87 ungrande87 is offline
Miembro
NULL
 
Registrado: feb 2012
Posts: 42
Poder: 0
ungrande87 Va por buen camino
Cita:
Empezado por ecfisa Ver Mensaje
Hola.

Creo que a partir de Delphi 2006 existe la propiedad StrictDelimiter que soluciona ese problema. Pero para los que aún tenemos Delphi 7 hay que escribir un poco de código.

Una forma puede ser:

Código Delphi [-]
function SepararCadena(Cadena: string; const Delim: Char): TStrings;
var
p: Integer;
begin
Result:= TStringList.Create;
Cadena:= Cadena + Delim;
while Length(Cadena) > 0 do
begin
p:= Pos(Delim, Cadena);
if p = Length(Cadena) then
SetLength(Cadena,Length(Cadena)-1);
Result.Add(Copy(Cadena, 1, p));
Delete(Cadena, 1, p);
end;
end;




Llamadas de ejemplo:

Código Delphi [-]
var
Texto: string;
TS: TStrings;
begin
Texto:= 'Esta función, se podría haber evitado, si Delphi 7, '+
'tuviera implementada la propiedad StrictDelimiter.';
Memo1.Lines:= SepararCadena(Texto, ',');
// otro ejemplo
TS:= TStringList.Create;
try
TS:= SepararCadena(Texto, 'e');
Memo1.Lines:= TS;
finally
TS.Free;
end;
end;





Saludos.

Edito: ¡Al fín pude encontrar el hilo!... Creo que también te podría interesar esto
Muchisimas gracias amigo me sirvio!!!
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
Duda con TstringList lbidi Varios 2 03-11-2010 17:05:34
TStringList, no consigo Iskariote0087 Varios 2 03-08-2006 19:08:19
tstringlist y nulos edgusano Varios 4 17-11-2005 22:06:54
TStringList esquerda21 Varios 10 19-01-2004 11:15:21
Importar de Txt sin delimitadores de registro apicito Varios 7 14-06-2003 08:07:07


La franja horaria es GMT +2. Ahora son las 17:58:32.


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