Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 16-10-2008
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Parece que el problema está en que no puede asignarse a una cadena, literalmente, más de 255 caracteres. Esto es, lo siguiente no es posible:

Código Delphi [-]
s := 'Cadena de más de 255 caracteres';

Pero, esto sí que lo sería:

Código Delphi [-]
s := 'Cadena de más de';
s := s + ' 255 caracteres';

De todas formas, parece que además de partir la cadena (como solución) podría también declararse la variable del tipo "AnsiString", de modo que ya no hubiera la limitación susomentada. Echa un vistazo aquí.
Responder Con Cita
  #2  
Antiguo 16-10-2008
chalao chalao is offline
Miembro
 
Registrado: sep 2008
Posts: 26
Poder: 0
chalao Va por buen camino
Thumbs up

Muchas gracias David.
Me estoy ahorrando bastantes líneas de código.

La concatenación de cadenas me vale de momento.
He leido varios documentos en el link que me dejabas de docs.codegear.com y me ha quedado claro que el tipo AnsiString sería un puntero que reserva la memoria que haga falta para la cadena por lo tanto "no habría" limitación en la longitud.

De todos modos aun declarando la variable como AnsiString el error sería el mismo, no se puede asignar directamente una cadena de más de 255 car. O al menos, no de esta forma:

Código:
var
s : AnsiString;

begin
s := 'Cadena de más de 255 car';
end
El error sigue siendo el mismo: String too long at line xx
Responder Con Cita
  #3  
Antiguo 16-10-2008
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
Cita:
Empezado por chalao Ver Mensaje
[/code]El error sigue siendo el mismo: String too long at line xx
Así es, no depende del tipo de datos de la variable sino de la cadena en sí. Está documentado en la ayuda de delphi, si buscan "String Literals". No es posible poner una cadena literal con más de 255 caracteres. Esto, como ya mencionó dec, es independiente de la capacidad de almacenaje de un tipo string, que es mucho mayor.

// Saludos
Responder Con Cita
  #4  
Antiguo 16-10-2008
chalao chalao is offline
Miembro
 
Registrado: sep 2008
Posts: 26
Poder: 0
chalao Va por buen camino
Wink

Gracias, creí que con otro tipo si se podía pero me queda claro que no.
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
Alguna otra forma de pago? Waldo La Taberna 21 23-08-2007 08:53:36
Forma eficiente de manejar arrays de 10'000.000 cuadrados mamcx OOP 6 15-09-2006 21:01:12
Alguna recomendacion para incluir un navegador HTML?? Moises22 Internet 15 07-10-2005 09:52:50
Como abrir un documento html en el navegador? VivaLeon Varios 1 19-05-2005 18:12:32
Hay alguna forma? jam888 Firebird e Interbase 2 06-10-2004 21:34:45


La franja horaria es GMT +2. Ahora son las 07:04:21.


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