FTP | CCD | Buscar | Trucos | Trabajo | Foros |
#1
|
|||
|
|||
tamaño string
hola , como puedo hacer para almacenar más de 255 caracteres en una variable tipo string, gracias
|
#2
|
|||
|
|||
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'; |
#3
|
|||
|
|||
si, pero el problema es que no conozco la longitud, ya que se modifica en ejecución y no se como hacer.
|
#4
|
|||
|
|||
Pon algo de código a ver si podemos ayudarte a partir esas asignaciones
|
#5
|
|||
|
|||
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; |
#6
|
|||
|
|||
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); 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'])); |
#7
|
|||
|
|||
adotalm['REF'] tiene como mucho 6 caracteres, pero lo que crece mucho es
unidades que va sumando de 6 en 6. |
#8
|
|||
|
|||
y al final lo quiero mostrar por pantalla, pero creo que con showmessage no puedo, no?, como hago?
|
#9
|
|||
|
|||
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. |
#10
|
|||
|
|||
me puedes poner un ejemplo de como introducir el salto de linea en el showmessage?
|
#11
|
|||
|
|||
o mejor dicho en el messagedlg?
|
#12
|
||||
|
||||
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'); |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
|