Forum > Spanish

Limite String

<< < (12/12)

Fred vS:

--- Quote from: BlueIcaro on September 12, 2022, 11:32:40 am ---Se usa lenght con Cadenas, tal como comenté en un post anterior. Este método es el indicado para obtener su longuitud, de acuerdo con la ayuda de FPC.

--- End quote ---

Está bien, pero eso no responde a la pregunta original de Juan.

Y no entiendo por qué la razón es que el compilador no tiene indicación para obtener la longuitud de la cadena.

Para mi tiene la indicación del longuitud con este:


--- Code: Pascal  [+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i < x.length; i++) { x[i].style.maxHeight='none'; x[i].style.height = Math.min(x[i].clientHeight+15,306)+'px'; x[i].style.resize = "vertical";}};} ---var    Frase: String = 'Esto es una prueba';
Tal vez me equivoque, si la cadena se ha inicializado, el compilador no puede saber su longitud, pero cada vez que hice la pregunta, no hubo respuesta.

Fred vS:
Ha, parece que el Google-translate ha funcionado para el foro en inglés  ;D
https://forum.lazarus.freepascal.org/index.php/topic,60528.msg453208.html#msg453208

Así que rectifico: esto no es un bug sino una característica que aún no se ha implementado y que puede que nunca se implemente.

Fre;D

JuanCP:
Buenas Tardes a todos.

El poner otros compiladores, fue simplemente por establecer una comparacion, nada mas. Siento si alguien se ha ofendido.

En cuanto al funcionamiento interno del compilador, pienso exactamente igual que @Fred vS, Cuando declaras la variable y la inicializas con un valor eso debería ser suficiente para tener el control por parte del compilador, sobre todo, si tenemos en cuenta que FP trata los string como arrays de char.

Me parece arriesgado cargar sobre el programador el control de las cadenas y el control de los limites de los arrays con directivas como: {$H+}{$R+}.

Siguiendo con las pruebas, adjunto 2 imágenes del código compilado con otro compilador de pascal (se dice que es un clon de turbo pascal), se llama Modern Pascal, el compilador tiene ya unos 3 años pero el proyecto esta muy vivo.

Podréis comprobar que si intentamos acceder a una posición mas allá de la longitud de la cadena da error de acceso.

Pienso, desde mi humilde opinión que este tipo de cosas se deberían de revisar por parte del equipo de fp.

Saludos  a todos

Fred vS:

--- Quote from: JuanCP on September 12, 2022, 06:42:59 pm ---El poner otros compiladores, fue simplemente por establecer una comparacion, nada mas. Siento si alguien se ha ofendido.

--- End quote ---
¡Yo no de todos modos!
Pero parece que la comparación con Delphi da el mismo resultado que fpc.


--- Quote --- Cuando declaras la variable y la inicializas con un valor eso debería ser suficiente para tener el control por parte del compilador, sobre todo, si tenemos en cuenta que FP trata los string como arrays de char.
--- End quote ---
Para otros compiladores es muy posible pero para Delphi y fpc los gurús dicen que no (o con mucho trabajo no quieren hacer).
https://forum.lazarus.freepascal.org/index.php/topic,60528.msg453208.html#msg453208

Navigation

[0] Message Index

[*] Previous page

Go to full version