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:
1 | Copy [arquivo] to DESTINO |
Exemplo 1- Exportando dados de um alias para o Excel:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | //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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | //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