[Lazarus-es] problema con la barra de directorio "\"
Raistware
raistware en gmail.com
Mar Sep 8 13:28:24 CEST 2009
JoshyFun escribió:
> Hello Iván,
>
> Tuesday, September 8, 2009, 9:12:58 AM, you wrote:
>
> IM> Gracias por tu respuesta y por el buen camino encontrado.
> IM> Se pode hacer lo mismos de tantas formas diferentes....
> IM> Todo lo que me pasa se ha reducido a un pequeño descuido.
> IM> Después de estar toda la noche pegándome con el tema, he descubierto que:
> IM> nombrefichero := 'X:\Origen\File.ext' no lo interpreta correctamente.
> IM> La fórmula sería:
> IM> const
> IM> barra ='\';
> IM> begin
> IM> ...
> IM> nombrefichero := 'X:' + barra +'Origen'+barra+'File.ext';
> IM> ...
> IM> end
> IM> Con esto, puedo usar la función FileCopy tanto en windows como en WindowsCE.
>
> Pero aún así eso no tiene mucho sentido :-? Ya que ambas cosas
> deberían ser idénticas, vamos que:
>
> NombreFichero1:='X:\Origen\File.exe';
> NombreFichero2:='X:'+PathDelim+'Origen'+PathDelim+'File.ext';
> if NombreFichero1=NombreFichero2 then beep();
>
> Ese código debería hacer "beep" en cualquier versión de Windows,
> incluido WinCE :-?
>
> Me has dejado descolocado, la verdad.
>
>
No, no es lo mismo: el caracter '\' es un caracter de escape. Y el
caracter '\' , al concatenarlo a la cadena 'X:' + PathDelim + 'Origen' +
PathDelim + 'File.ext' se convierte, realmente en 'X:\\Origen\\File.ext'.
Si quieres haz pruebas de mostrar por ShowMessage('X:\Origen\File.exe')
y ShowMessage('X:'+PathDelim+'Origen'+PathDelim+'File.ext'). No debe de
dar el mismo resultado.
Aparte, es bueno siempre tenerlo desarrollado independiente del sistema
a tenerlo específico en windows, aunque solo lo vayas a utilizar en un
sistema operativo, nunca sabes que va a pasar en un futuro.
__________ Información de ESET NOD32 Antivirus, versión de la base de firmas de virus 4405 (20090908) __________
ESET NOD32 Antivirus ha comprobado este mensaje.
http://www.eset.com
More information about the Lazarus-es
mailing list