Comando que copia informações de um alias / arquivo para outro (ao utilizar Copy File pode se mandar para uma porta, como LPT1).
Exemplo da Rotina:
Copy [arquivo] to DESTINO
Exemplo 1- Exportando dados de um alias para o Excel:
//Bibliotecas #Include "Protheus.ch" /*/{Protheus.doc} zTeste Função de Teste @type function @author Terminal de Informação @since 13/11/2016 @version 1.0 @example u_zTeste() /*/ User Function zTeste() Local aArea := GetArea() Local cArqExcel := "teste_sb1.xls" //Copiando tabela para o arquivo Excel DbSelectArea('SB1') Copy To &("\system\"+cArqExcel) //Copia o arquivo para a máquina __CopyFile("\system\"+cArqExcel, GetTempPath()+cArqExcel) //Se não extiver instalado o excel, encerra If ! ApOleClient("MsExcel") MsgAlert("MsExcel não instalado", "Atenção") Return EndIf //Abre o arquivo do Excel oExcelApp := MsExcel():New() oExcelApp:WorkBooks:Open(GetTempPath()+cArqExcel) oExcelApp:SetVisible(.T.) oExcelApp:Destroy() RestArea(aArea) Return
Exemplo 2- Mandando um arquivo para ser impresso em uma porta LPT1:
//Bibliotecas #Include "Protheus.ch" /*/{Protheus.doc} zTeste Função de Teste @type function @author Terminal de Informação @since 13/11/2016 @version 1.0 @example u_zTeste() /*/ User Function zTeste() Local aArea := GetArea() Local cTexto := "" //Copiando o aruqivo para uma porta cTexto := "teste" MemoWrite("c:\teste\arquivo.txt", cTexto) Copy File "c:\teste\arquivo.txt" To LPT1 RestArea(aArea) Return
Exemplo em Vídeo:
Clique nesse link para ver um exemplo em Vídeo da nossa Maratona de Exemplos.
Observações:
– Caso tenha dúvidas ou problemas com os exemplos, entre em contato;
– Se tiver sugestões de rotinas, pode entrar em contato;
Referências:
– TDN