Jump to content
Fivewin Brasil

Backup de DBF - Error Dos 5 - RESOLVIDO


evertonlb

Recommended Posts

Boa tarde.

Fiz uma pequena funçãozinha para fazer um backup dos DBF. Logo que executa ela dá um Error DOS 5, Acesso não permitido.

Tirei todos os parâmetros de "somente leitura" tanto na pasta de destino quanto no arquivo em questão, mas continua dando o erro.

Será que alguém tem alguma sugestão para solucionar este problema?

cFileBackupKI := directory( _xPathBanc + "\*.MEM")
*
DBCloseAll()
*
if !empty( _xPathBackup )
	*
	for x := 1 to len(cFileBackupKI)
	   cFileName  := cFileBackupKI[x, 1]      //  _xPathBanc + "\" + 
      copy file ( alltrim( cFileName ) ) to ( alltrim( _xPathBackup ) )
	next
endif

 

Link to comment
Share on other sites

////////////////////////////////////////////////////////////////////////////
//
// Autor: Jose Carlos da Rocha
// Data: 07/05/2015
// Email: irochinha@hotmail.com.br
// Linguagem: xBase / Fivewin
// Plataformas: DOS, Windows
// Requerimentos: Harbour/xHarbour
//
/////////////////////////////////////////////////////////////////////////////
 
#include "FiveWin.ch"
 
FUNCTION MAIN()
 
   ? ;
   'ShellExecute( "CMD.EXE", "RUNAS", "", "C:\WINDOWS\SYSTEM32", 1 )',,;
    ShellExecute( "CMD.EXE", "RUNAS", "", "C:\WINDOWS\SYSTEM32", 1 )
 
RETURN .T.
 
#pragma BEGINDUMP
        #include <windows.h>
        #include <hbapi.h>
        // ShellExecute( cFile, cOperation, cParams, cDir, nFlag )
        HB_FUNC( SHELLEXECUTE )
        {
        hb_retnl( (LONG) ShellExecute( GetActiveWindow(),
                  ISNIL(2) ? NULL : (LPCSTR) hb_parc(2),
                  (LPCSTR) hb_parc(1),
                  ISNIL(3) ? NULL : (LPCSTR) hb_parc(3),
                  ISNIL(4) ? "C:\\" : (LPCSTR) hb_parc(4),
                  ISNIL(5) ? 1 : hb_parni(5) ) ) ;
        }
#pragma ENDDUMP


Link to comment
Share on other sites

Bom dia Everton.

O Copyfile exige que alem do caminho vc especifique o nome do arquivo a ser copiado.

Veja o código:

 

copy file ( alltrim( cFileName ) ) to ( alltrim( _xPathBackup ) )

 

A variavel 

_xPathBackup

Pelo que percebi não contem o nome do arquivo apenas o caminho, então vc deveria colocar:

_xPathBackup

alltrim( cFileName )

Ok?

 

Aqui no meu sistema uso o comando do proprio Windows:

Veja:

            copyfile(localexe+'SALC.BKK', localexe+'SALC.INI')
 

Segue a declaração que vc deve colocar no prg principal.

 

DLL32 FUNCTION COPYFILE( cExistingFileName AS LPSTR, cNewFileName AS LPSTR, lFailIfExists AS LONG ) AS BOOL;
    PASCAL FROM "CopyFileA" LIB "kernel32.dll"
 

 

Att.

 

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...