![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
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.
![]() ![]() |
|
#2
|
||||
|
||||
|
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:
Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
|
#3
|
||||
|
||||
|
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 |
|
#4
|
|||
|
|||
|
Cita:
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. |
|
#5
|
|||
|
|||
|
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 |
|
#6
|
|||
|
|||
|
StringReplace(cadena, '''', '',[rfReplaceAll, rfIgnoreCase])
Saludos, Gerard. |
|
#7
|
|||
|
|||
|
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 |
|
#8
|
|||
|
|||
|
Cuando digo StringReplace(cadena, '''', '',[rfReplaceAll, rfIgnoreCase]), la cadena a remplazar no es comilla simple-comilla doble-comilla simple, sinó comilla simple-comilla simple-comilla simple-comilla simple (4 comillas simples, sin espacios entre ellas ni nada).
Código:
var cadena: string; begin Cadena := '''''Campo1'''''; ShowMessage(cadena); ShowMessage(StringReplace(cadena, '''', '',[rfReplaceAll, rfIgnoreCase])); Saludos, Gerard. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
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 |
|