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 15-04-2004
davidgaldo davidgaldo is offline
Miembro
 
Registrado: nov 2003
Posts: 220
Poder: 21
davidgaldo Va por buen camino
tamaño string

hola , como puedo hacer para almacenar más de 255 caracteres en una variable tipo string, gracias
Responder Con Cita
  #2  
Antiguo 15-04-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
Símplemente añadiendo carácteres

Ahora, si te refieres en que no puedes en la misma instrucción, prueba a dividirlo en varias.

Código:
var
  str := string;
begin
  str := 'mi super long string de menos de 255 caracteres';
  str := str + ' más la concatenación que lo hace mayos a 255';
Pruebalo, verás como funciona
Responder Con Cita
  #3  
Antiguo 15-04-2004
davidgaldo davidgaldo is offline
Miembro
 
Registrado: nov 2003
Posts: 220
Poder: 21
davidgaldo Va por buen camino
si, pero el problema es que no conozco la longitud, ya que se modifica en ejecución y no se como hacer.
Responder Con Cita
  #4  
Antiguo 15-04-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
Pon algo de código a ver si podemos ayudarte a partir esas asignaciones
Responder Con Cita
  #5  
Antiguo 15-04-2004
davidgaldo davidgaldo is offline
Miembro
 
Registrado: nov 2003
Posts: 220
Poder: 21
davidgaldo Va por buen camino
unidades:='!!Alarma: Reponer =';
adotalm.first;
while not adotalm.Eof do begin
if adotalm['UNIDADES']<adotalm['MIN'] then
begin
alarma:=true;
unidades:=unidades+'//'+adotalm['REF'];
end;
adtalm.next;
end;
Responder Con Cita
  #6  
Antiguo 15-04-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
Pero, a ver, esto te da algún error? Si es así, cuál?

Lo que "impide" Delphi es la asignación de un string de más de 255 caracteres, pero con concatenaciones como la que haces.... nunca he tenido problemas (bueno, tampoco se si he superado alguna vez los 255)

Bueno, acabo de hacer esta prueba y sin problemas:

Código:
var
  str: string;
  i: integer;
begin
  str := '';
  for i := 1 to 270 do
    str := str + IntToStr(i);
  showmessage(str);
Uno de los problemas que podrías tener es que adotalm['REF'] ocupara más de 255 caracteres, pero eso lo puedes controlar de forma fácil

Código:
if length(adotalm['REF']) <= 255 then
  unidades := unidades + '//' + adotalm['REF']
else
  unidades := unidades + '//' + 
        copy(adotalm['REF'], 0, 250) + 
        copy(adotalm['REF'], 250, length(adotalm['REF']));
Bueno, lo he hecho de cabeza, quizás haya que retocar algo
Responder Con Cita
  #7  
Antiguo 15-04-2004
davidgaldo davidgaldo is offline
Miembro
 
Registrado: nov 2003
Posts: 220
Poder: 21
davidgaldo Va por buen camino
adotalm['REF'] tiene como mucho 6 caracteres, pero lo que crece mucho es
unidades que va sumando de 6 en 6.
Responder Con Cita
  #8  
Antiguo 15-04-2004
davidgaldo davidgaldo is offline
Miembro
 
Registrado: nov 2003
Posts: 220
Poder: 21
davidgaldo Va por buen camino
y al final lo quiero mostrar por pantalla, pero creo que con showmessage no puedo, no?, como hago?
Responder Con Cita
  #9  
Antiguo 15-04-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
Pero aún no has dicho el error que te da.

Y sí, sí puedes mostrarlo en un ShowMessage. Fíjate en el ejemplo que te he puesto en el mensaje anterior, el del bucle de 1 a 270, lo que pasa es que si no pones ningún salto de linea (#13), te aparecerá en una sola linea saliéndose de pantalla.
Responder Con Cita
  #10  
Antiguo 15-04-2004
davidgaldo davidgaldo is offline
Miembro
 
Registrado: nov 2003
Posts: 220
Poder: 21
davidgaldo Va por buen camino
me puedes poner un ejemplo de como introducir el salto de linea en el showmessage?
Responder Con Cita
  #11  
Antiguo 15-04-2004
davidgaldo davidgaldo is offline
Miembro
 
Registrado: nov 2003
Posts: 220
Poder: 21
davidgaldo Va por buen camino
o mejor dicho en el messagedlg?
Responder Con Cita
  #12  
Antiguo 15-04-2004
Avatar de tcp_ip_es
tcp_ip_es tcp_ip_es is offline
No confirmado
 
Registrado: ago 2003
Ubicación: Madrid
Posts: 635
Poder: 0
tcp_ip_es Va por buen camino
Concatenando al string #13 provocas un salto de linea.
Con el siguiente ejemplo tendrías tres lineas....

Código:
showmessage(str + #13 'bla bla bla' + #13 + 'bla bla bla');
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


La franja horaria es GMT +2. Ahora son las 04:05:20.


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