PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV 25 → WX - Trabalhando com o comando HCopyFile (Função), copia o arquivo Hfsql entre servidores
WX - Trabalhando com o comando HCopyFile (Função), copia o arquivo Hfsql entre servidores
Iniciado por BOLLER ADRIANO, ago., 13 2016 5:22 PM - Sem resposta
Membro registado
3.657 mensagems
Popularité : +175 (223 votes)
Publicado em agosto, 13 2016 - 5:22 PM
HCopyFile (Função)

Em francês: HCopieFichier

Copia um arquivo de dados HFSQL (.fic, .ndx, .ftx e .mmo arquivos se existirem):

a partir do servidor para o servidor HFSQL (para efectuar uma cópia de segurança, por exemplo).
a partir do servidor HFSQL para o cliente (para realizar um backup local, por exemplo).
a partir do cliente para o servidor HFSQL (para actualizar os ficheiros de dados, por exemplo).
a partir de um servidor para HFSQL antoher servidor HFSQL.

Novo na versão 21

WINDEVWINDEV móvelUniversal Windows 10 App Esta função está agora disponível em Universal Windows 10 modo de App.
Nota: A partir da versão 19, HFSQL é o novo nome da HyperFileSQL.

Exemplo

Veja exemplos adicionais
// Copie os arquivos de servidor para servidor
// enquanto renomeando e alterando diretório
HCopyFile ( MyConnection , ". \ Backup \ customerfile_bck.fic" , MyConnection , ". \ Customerfile.fic" )



// Copie os arquivos do servidor para o computador cliente
HCopyFile ( "" , "C: \ Data \ Customer.fic" , MyConnection , "customer.fic" )


// Copie os arquivos do computador cliente para o servidor
HCopyFile ( MyConnection , "customer.fic" , "" , "C: \ Data \ Customer.fic" )


// Copia os arquivos de um servidor para outro servidor
HCopyFile ( "CNT" , "customer.fic" , "CNT2" , "dir \ customer.fic" , hNoIndex , PROGBAR_ MyProgressBar )


// Copia o arquivo do cliente de um cliente sobre si mesmo (backup) s
sMyDestinationDirectory is string = CompleteDir(fExeDir()) + "TestDirectory"
IF NOT fDirectoryExist(sMyDestinationDirectory) THEN fMakeDir(sMyDestinationDirectory)
HCopyFile("", sMyDestinationDirectory + "CUSTOMER.FIC", "", ...
CompleteDir(fExeDir()) + "CUSTOMER.FIC", hCopyIndex)



Andróid
// Exemplo de utilização HCopyFile no Android
// (a partir do servidor HFSQL C / S para o dispositivo Android) HFCSConnection é Connection

HFCSConnection is Connection

// Parameters of the connection
HFCSConnection..Provider = hAccessHFClientServer
HFCSConnection..User = "admin"
HFCSConnection..Password = ""
HFCSConnection..Server = "192.168.40.26"
HFCSConnection..Database = "mydatabase"

sDBPath is string = (SysDirStorageCard() + [fSep] + ProjectInfo(piProjectName)

IF NOT HCopyFile("", sDBPath + [fSep] + "copy/customer.fic", ...
HFCSConnection, CUSTOMER..Name + ".fic") THEN
Error(HErrorInfo(hErrFullDetails))
END



Sintaxe
<Result> = HCopyFile (<Nome da conexão de destino>, <caminho do arquivo de destino>, <Nome da conexão de fonte>, <Caminho do arquivo de origem>, <Mode>, <Progress Bar>, <senha>)
<Resultado>: booleana



Verdadeiro se o arquivo de dados foi copiado,
False se ocorreu um erro. Herror é usado para identificar o erro.

<Nome da conexão de destino>: Sequência de caracteres (com ou sem aspas)

Nome da conexão no qual o arquivo de dados devem ser copiados. Esta ligação foi definido no editor de modelo de dados ou por HDescribeConnection ou HOpenConnection .
Se esse parâmetro corresponde a uma cadeia vazia ( ""), o arquivo de dados serão copiados para o computador cliente.

<Caminho de Destino do Arquivo>: Sequência de caracteres (com aspas)

Nome e caminho do arquivo de dados de destino. O caminho e este arquivo de dados são criados automaticamente se não existir no servidor.
Se o arquivo de dados de destino é encontrado no servidor, o caminho é relativo à base de dados.

<Nome da conexão de origem>: Sequência de caracteres (com ou sem aspas)

Nome da conexão a partir do qual o arquivo de dados devem ser copiados. Esta ligação foi definido no editor de modelo de dados, ou por HDescribeConnection ou HOpenConnection .
Se esse parâmetro corresponde a uma cadeia vazia ( ""), o arquivo de dados para copiar é encontrado no computador do cliente.

<Caminho do arquivo de origem>: Sequência de caracteres (com aspas)

Nome e caminho do arquivo de dados de origem (para copiar). Se o arquivo de dados de origem é encontrada no servidor, o caminho é relativo à base de dados.

<Mode>: constante Integer

O modo utilizado pode corresponder a uma das seguintes constantes:

hCopyIndex Os índices do arquivo de dados são copiados (arquivo NDX e arquivar FTX se existir).

hCopyIfNotFound Cópias de arquivos somente os dados se ele não existir no local especificado no computador de destino.

hCreateIndex Os índices do arquivo de dados não são copiados (arquivo NDX e arquivo FTX se existir). Eles são automaticamente recriada no destino através de uma operação de reindexação.

Se o arquivo de dados é protegido por senha, o <Password> parâmetro deve ser especificado.

hNoIndex Os índices do arquivo de dados não são copiados (arquivo NDX e arquivo FTX se existir).

<Progress Bar>: Sequência de caracteres (com ou sem aspas)

Nome da barra de progresso encontrada na janela, usado para mostrar o progresso da cópia.

<Senha>: Sequência de caracteres (com aspas)

Senha do arquivo de dados (se existir). É obrigatório Este senha se o hCreateIndex constante é utilizada.

Observações

modo de funcionamento do HCopyFile

O arquivo de dados copiados é desbloqueado, bem como os registros encontrados no arquivo de dados.
O índice não é copiado se ele não existe ou se estiver danificada.
A senha não é necessário para copiar o arquivo de dados. No entanto, o arquivo de dados copiado permanece protegido por senha.
arquivo de dados na transação: antes de copiar o arquivo de dados, recomendamos que você:
bloquear o arquivo de dados em leitura / escrita ( HLockFile ).
cancelamento das operações interrompidas ( HTransactionCancel ).

condições de utilização

Você também tem a capacidade de copiar um arquivo de dados a partir do computador cliente para este mesmo computador cliente. Neste caso, a função é equivalente à fCopyFile .
Esta função é utilizada para copiar arquivos para um servidor HFSQL (em modo cliente / servidor). Esta função não pode ser usada com um servidor externo (Oracle ou outro).
Para copiar um arquivo HFSQL encontrados em um computador local para o servidor, esse arquivo deve ter sido libertado anteriormente por todos os utilizadores. Sem conexão com o arquivo deve estar em progresso caso contrário, a cópia falhará.
Caso de arquivos replicados (replicação entre os servidores): Para um arquivo replicado, HCopyFile não deve ser usado para copiar um arquivo para o servidor: a cópia não é possível. No entanto, um arquivo pode ser copiado a partir do servidor para o computador cliente.

Os nomes dos arquivos de dados e diretórios no servidor
O nome dos arquivos de dados (.fic, .ndx, .ftx e arquivos .mmo se existirem) no servidor não devem conter caracteres acentuados.
Além disso, em um servidor Linux, o nome dos arquivos deve ser escrito em caracteres minúsculos.

:merci:

--
Adriano José Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 9949 1800
adrianoboller@gmail.com
skype: adrianoboller
http://wxinformatica.com.br/