Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-11-2009
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
¡Ah! Esta función está mucho mejor, no la conocía. Gracias gerardus.

// Saludos
Responder Con Cita
  #2  
Antiguo 25-11-2009
gerardus gerardus is offline
Miembro
 
Registrado: dic 2007
Posts: 43
Poder: 0
gerardus Va por buen camino
Yo la encontré despues de deseperarme durante un buen rato con un TStringList de D7 que dejó de funcionar el día en que hubo blancos en uno de los campos.
Responder Con Cita
  #3  
Antiguo 25-11-2009
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 31
Lepe Va por buen camino
Tal y como dice la ayuda de delphi para TStringlist, si las cadenas en su interior deben tener espacios, entonces hay que entrecomillarlas (dobles comillas) para que funcione correctamente delimitextText:
Código Delphi [-]

st :=TStringlist.Create;
st.CommaText := 'una, "dos con espacio",tres';
/*
st[0] = 'una'
st[1] = 'dos con espacio'
st[2] = 'tres'
*/

mistring := st.ComaText
//mistring = 'una,"dos con espacio",tres'

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #4  
Antiguo 26-11-2009
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
Claro Lepe, pero el formato con que se recibe el archivo no siempre está en nuestras manos, y el considerar los espacios como separadores es una vieja mala costumbre del MSDOS . Atinadamente, las nuevas versiones de Delphi ya incluyen la popiedad StrictDelimiter para no considerar los espacios como separadores.

// Saludos
Responder Con Cita
  #5  
Antiguo 26-11-2009
gerardus gerardus is offline
Miembro
 
Registrado: dic 2007
Posts: 43
Poder: 0
gerardus Va por buen camino
Cita:
Empezado por Lepe Ver Mensaje
Tal y como dice la ayuda de delphi para TStringlist, si las cadenas en su interior deben tener espacios, entonces hay que entrecomillarlas (dobles comillas) para que funcione correctamente delimitextText:
Extraido de la ayuda de Delphi 7:

When writing DelimitedText, individual strings must be separated using QuoteChar at both ends, using Delimiter as a separator, or using both these methods.

Es decir que se pueden separar con comillas (el caracter QuoteChar), o con el caracter Delimiter o con las dos formas. Está claro que solo con el caracter Delimiter no funciona.
Tambien de la ayuda de Delphi 7:

CommaText is the same as the DelimitedText property with a delimiter of ',' and a quote character of ‘"’

Es cierto que funciona si tienes control sobre que tipo de texto vas a tratar. Si no lo tienes, no te vale .En mi caso, se trataba de una importación de datos (tipo 206190025;AA12458900000;AEFG...) que funcionó durante 3 meses sin ningún problema hasta que uno de los campos de tipo string vino con un espacio.

Cordialmente,

Gerard.
Responder Con Cita
  #6  
Antiguo 26-11-2009
radge radge is offline
Miembro
 
Registrado: may 2008
Posts: 147
Poder: 19
radge Va por buen camino
Gracias por las respuestas voy a probar cada una de ellas y a ver cual me convenzé mas.

Por cierto tengo otra duda que no consigo resolver.



Ya que tengo esto 'campo1','campo2','campo3',...

Y al hacer

lCampos := TStringList.Create;
ExtractStrings([','], [' '], PChar(cad), lCampos);

Recibo esto en cadena
[0] = 'campo1'
[1] = 'campo2'

Ahora intento substituir todas las comas simples ' de la cadena de texto tanto del principio como del final que tengo y tengo la duda que adjunto.

StringReplace(cadena, ' como indico aquí la coma simple? ', '',[rfReplaceAll, rfIgnoreCase]);

gracias radge
Responder Con Cita
  #7  
Antiguo 26-11-2009
gerardus gerardus is offline
Miembro
 
Registrado: dic 2007
Posts: 43
Poder: 0
gerardus Va por buen camino
StringReplace(cadena, '''', '',[rfReplaceAll, rfIgnoreCase])

Saludos,

Gerard.
Responder Con Cita
  #8  
Antiguo 26-11-2009
radge radge is offline
Miembro
 
Registrado: may 2008
Posts: 147
Poder: 19
radge Va por buen camino
Me expresé mal tengo doble comita simple es decir

''campo1''
''campo2''
...

He probado así y devuelve el mismo resultado
StringReplace(prd_codi, ' '' ', '',[rfReplaceAll, rfIgnoreCase]);

salu2 radge
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Cambiar delimitador decimal peccatum Tablas planas 5 01-04-2009 17:55:41
Como separar los reportes de la aplicacion? Carlos Arevalo Impresión 4 21-04-2008 16:52:04
Separar cadena de numeros cyborgve Impresión 1 16-05-2007 06:37:31
como separar la fecha ddd_ddd Varios 1 23-10-2005 19:18:47
Como separar las barras de una grafica hook Varios 0 17-06-2004 18:28:34


La franja horaria es GMT +2. Ahora son las 04:42:55.


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