![]() |
Error con longitud de cadena
Hola, espero que podais ayudarme ya sé que parece una tonteria pero nada mas ver el resultado me ha dejado KO, a ver estoy usando la ventana por defecto de windows para mostrar directorios junto a unidades de red etc, el problema es que tengo este código que uso para hacer ciertas comprobaciones antes de usar un if.
Donde TempPath puede ser desde "C:\" hasta "C:\windows\system32\..." bien, si fuera solo la raiz del sistema, es decir "C:\" la longitud que deberia devolverme seria de 3, ¿entonces por que me devuelve 261 como la longitud de tempPath? Igual tiene su respuesta pero se me escapa, yo cuento 3 caracteres, la C, los : y la barra, ¿entonces? Saludos y gracias. Edito: Le he encontrado una solución o más bien un parche, en lugar de hacer la comparación con la longitud de TempPath, la hago con una etiqueta que almacena la cadena tempPath y a partir de la longitud de esta etiqueta, ya puedo realizar correctamente el if. Saludos. |
Hola danielmj.
La questión es: ¿ De que tipo es tempPath ? Si tempPath es de tipo string la función Length devolverá la longitud esperada, como por ejemplo en:
Pero intuyo que tempPath está declarada como array[0..260] of char... Y en ese caso tendrías que hacer:
Saludos :) |
Hola de nuevo.
Olvidé mencionar algo, también podes usar un moldeo de forma directa:
Saludos :) |
Hola ecfisa, perdon por tardar en contestar,
es cierto estaba declarado como array :D ya va bien, gracias! Ahora seguiré con esto, no puedo cogerlo todo el tiempo que quisiera, por eso voy a saltos con el codigo. un saludo |
| La franja horaria es GMT +2. Ahora son las 18:41:09. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi