FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour CopyFIle()
Posts: 155
Joined: Fri Oct 21, 2005 06:35 PM
CopyFIle()
Posted: Wed Dec 19, 2018 03:56 PM

Buen dia.
Necesito copiar archivos y uso CopyFile(), ocurre que cuando alguna carpeta tiene en el nombre algun espacio no copia nada, ahora si no hay espacios si.
Aclaracion: esto ocurre en un Win 10 de 64 pero en un Win 7 de 32 anda bien.
Uso Harbour y FWH.
Gracias.

Jorge Jaurena

Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: CopyFIle()
Posted: Wed Dec 19, 2018 04:16 PM
Intenta asi, usando FILECOPY():

Code (fw): Select all Collapse
#include "FiveWin.ch"

FUNCTION Main()

   LOCAL cSourceFile := "C:\FWH1701\SAMPLES\TUTOR04.PRG"
   LOCAL cTargetFile := "C:\TEMP\TURO04.TXT"

   ? "Copiar de", cSourceFile, "Para", cTargetFile, "..."

   ? "Copiado", FileCopy( cSourceFile, cTargetFile ), "bytes"

RETURN NIL
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 155
Joined: Fri Oct 21, 2005 06:35 PM
Re: CopyFIle()
Posted: Thu Dec 20, 2018 11:57 AM
Buen dia.

Gracias por tu respuesta pero hace lo mismo que CopyFile(), en un 7 de 32 anda perfecto todo pero en un 10 de 64 no anda pero solo cuando en el medio del nombre del directorio de destino hay espacios.
Hago esto:

FileCopy( "Origen.pdf", "C:\APPS\Wps Gestion Bin\PDF\Destino.pdf")

El problema esta en la parte en negrita, si no tuviera blancos copia bien.

Gracias

Jorge Jaurena
Posts: 1515
Joined: Thu Oct 30, 2008 02:37 PM
Re: CopyFIle()
Posted: Thu Dec 20, 2018 12:10 PM

Hola,

Hazlo con COPY FILE o su equivalente __CopyFile()

Regards

Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: CopyFIle()
Posted: Thu Dec 20, 2018 12:15 PM
Code (fw): Select all Collapse
/*
 * SPN.PRG
 *
 * cShortName() - FilePath Long to Short (GetShortPathNameA())
 *
 * Soporte a Funciones del Api de Windows
 *
 * Andrade A. Daniel - 2002
 * Rosario, Argentina
 *
 * Libre Distribución
 */

/*
 * cShortName()
 */

FUNCTION cShortName( cLong )

   LOCAL   cShort  := Space( 164 ) + Chr( 0 )
   LOCAL   nBuffer := 164
   LOCAL   nLen

   nLen    := GetSPName( cLong, @cShort, nBuffer )

   cShort  := Left( cShort, nLen )

   RETURN( cShort )

// Windows Api
DLL32 STATIC FUNCTION GetSPName( lpszLongPath AS STRING, lpszShortPath AS STRING, lBuffer AS LONG ) ;
      AS LONG PASCAL FROM "GetShortPathNameA" LIB "kernel32"
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: CopyFIle()
Posted: Thu Dec 20, 2018 12:25 PM

\samples,

GETDIR.PRG
TESTDROP.PRG
LONGNAME.PRG
TESTLFN2.PRG

mira y comente, se funciona.

Saludos.

João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: CopyFIle()
Posted: Thu Dec 20, 2018 04:20 PM
Jorge Jaurena wrote:Buen dia.
Necesito copiar archivos y uso CopyFile(), ocurre que cuando alguna carpeta tiene en el nombre algun espacio no copia nada, ahora si no hay espacios si.
Aclaracion: esto ocurre en un Win 10 de 64 pero en un Win 7 de 32 anda bien.
Uso Harbour y FWH.
Gracias.

Jorge Jaurena

Please try FWH function

LZCopyFile( cSrc, cDst )

Eg:
Code (fw): Select all Collapse
? lzCopyFile( "c:\fwh\samples\tutor01.prg", "c:\tests\spaced folder\tutor01.prg" )


I am using Windows 10 64-bits.
For me CopyFile() function is working correctly even with folder names containing spaces.
I see no problem.
Regards



G. N. Rao.

Hyderabad, India

Continue the discussion