edutraini Posted January 8, 2010 Report Share Posted January 8, 2010 ESTOU COM UMA DIFICULDADE NAO ESTOU CONSEGUINDO ZIPAR OS ARQUIVOS QUANDO NAO ESTOU NO DIRETORIO AONDE ESTAO OS XMLS SOMENTE QUANDO ESTOU NO DIRETORIO E APROVEITANDO GOSTARIA DE SABER SE ESTA CERTO A ROTINA QUE PEGA O ARQUIVO ZIPADO E ANEXA PARA MANDAR POR EMAIL OBRIGADO DESCULPE MINHA IGNORANCIA ALESSANDRO static function ARQxml(vn_dtini,vn_dtfim) local narq:=spac(0) local aarqmandar:={} local cDestino:="c:\sistema\contabil" Local lRet, adir afiles := {} Sele nfe Set SOFT ON Seek VN_DTINI Set SOFT OFF DO WHILE DTNFISCAL <= VN_DTFIM .AND. .NOT. EOF() If Status = "C" Skip Loop Endif cFile = VP_DNFE+"remessa\protocolos\"+ALLTRIM(NFE->CHAVENFE)+'nfe'+".xml" aDir := Directory(cfile) Aeval( aDir, {|a| aadd( aFiles, a[1]) }) skip Enddo ferase('compact.zip') lRet := hb_zipfile( 'compact.zip', afiles ) // HB_ZIPFILE( 'compact.zip', afiles, , , .t.,, .f.,,) nMeuIP:="Nº Arquivos Xmls Periodo de "+dtoc(vn_dtini)+" a "+dtoc(vn_dtfim) DEFINE MAIL oMAIL ; SUBJECT "Nota Fiscal Eletronica "; // assunto TO nEmail ; // para TEXT " Nota Fiscal Eletronica "+nMeuIP ; //mensagem FILES aFiles,"" FROM USER // com este vai abrir a tela de novo e-mail no outlook com tudo preenchido bastado apenas o usuario SEND MAIL oMAIL // clicar em enviar, caso vc nao coloque o FROM USER ele mando o e-mail direto nem abre o outlook. return .t. FW24 + CLIP5_2 Quote Link to comment Share on other sites More sharing options...
edutraini Posted January 8, 2010 Author Report Share Posted January 8, 2010 ESTOU COM UMA DIFICULDADE NAO ESTOU CONSEGUINDO ZIPAR OS ARQUIVOS QUANDO NAO ESTOU NO DIRETORIO AONDE ESTAO OS XMLS SOMENTE QUANDO ESTOU NO DIRETORIO E APROVEITANDO GOSTARIA DE SABER SE ESTA CERTO A ROTINA QUE PEGA O ARQUIVO ZIPADO E ANEXA PARA MANDAR POR EMAIL OBRIGADO DESCULPE MINHA IGNORANCIA ALESSANDRO static function ARQxml(vn_dtini,vn_dtfim) local narq:=spac(0) local aarqmandar:={} local cDestino:="c:\sistema\contabil" Local lRet, adir afiles := {} Sele nfe Set SOFT ON Seek VN_DTINI Set SOFT OFF DO WHILE DTNFISCAL <= VN_DTFIM .AND. .NOT. EOF() If Status = "C" Skip Loop Endif cFile = VP_DNFE+"remessa\protocolos\"+ALLTRIM(NFE->CHAVENFE)+'nfe'+".xml" aDir := Directory(cfile) Aeval( aDir, {|a| aadd( aFiles, a[1]) }) skip Enddo ferase('compact.zip') lRet := hb_zipfile( 'compact.zip', afiles ) // HB_ZIPFILE( 'compact.zip', afiles, , , .t.,, .f.,,) nMeuIP:="Nº Arquivos Xmls Periodo de "+dtoc(vn_dtini)+" a "+dtoc(vn_dtfim) DEFINE MAIL oMAIL ; SUBJECT "Nota Fiscal Eletronica "; // assunto TO nEmail ; // para TEXT " Nota Fiscal Eletronica "+nMeuIP ; //mensagem FILES aFiles,"" FROM USER // com este vai abrir a tela de novo e-mail no outlook com tudo preenchido bastado apenas o usuario SEND MAIL oMAIL // clicar em enviar, caso vc nao coloque o FROM USER ele mando o e-mail direto nem abre o outlook. return .t. FW24 + CLIP5_2 Quote Link to comment Share on other sites More sharing options...
aferra Posted January 8, 2010 Report Share Posted January 8, 2010 Kra se o Alessandro for eu, não te zuei em nenhum momento, pelo contrario, então se quiser, leia com atenção o post do outro tópico, que verás, que estou zuando outro e não vc. Mas blz... Veja se isso lhe ajuda.... static function ARQxml(vn_dtini,vn_dtfim) local narq:=spac(0) local aarqmandar:={} local cDestino:="c:\sistema\contabil" local cArqZip := 'C:\SISTEMA\CONTABIL\REMESSA\PROTOCOLOS\compact.zip' Local lRet, adir afiles := {} Sele nfe Set SOFT ON Seek VN_DTINI Set SOFT OFF DO WHILE DTNFISCAL <= VN_DTFIM .AND. .NOT. EOF() If Status = "C" Skip Loop Endif cFile = VP_DNFE+"remessa\protocolos\"+ALLTRIM(NFE->CHAVENFE)+'nfe'+".xml" // cFile tem que estar com o caminho inteiro, por exemplo. // C:\SISTEMA\CONTABIL\REMESSA\PROTOCOLOS\123465.XML //aDir := Directory(cfile) // acho desencessário //Aeval( aDir, {|a| aadd( aFiles, a[1]) }) idem aadd( aFiles, cFile ) skip Enddo //ferase('compact.zip') // mesmo esquema..... tem que conter o caminho correto senão dá erro ferase( cArqZip ) lRet := hb_zipfile( cArqZip, ; // Diretório com o nome do arquivo ZIP aFiles, ; // Array contendo os arquivo para ZIPAR 9,; // Nivel de compressão ,; // Bloco de Código para atualizar um meter .T.,; // se sobrescreve o arquivo destino NIL,; // esse eu fico devendo, não sei. .T. ) // Zipar com o caminho nMeuIP:="Nº Arquivos Xmls Periodo de "+dtoc(vn_dtini)+" a "+dtoc(vn_dtfim) DEFINE MAIL oMAIL ; SUBJECT "Nota Fiscal Eletronica "; // assunto TO nEmail ; // para TEXT " Nota Fiscal Eletronica "+nMeuIP ; //mensagem FILES cArqZip,"" FROM USER // com este vai abrir a tela de novo e-mail no outlook com tudo preenchido bastado apenas o usuario SEND MAIL oMAIL // clicar em enviar, caso vc nao coloque o FROM USER ele mando o e-mail direto nem abre o outlook. return .t. id=code>id=code>Alessandroid=blue> FW20d+CL53b+Blk7+@Say+CDX FW9.07+xHb121+PellesC+CDX "Uma imaginação bem canalizada é fonte de grandes proezas"id=red> Quote Link to comment Share on other sites More sharing options...
Ladinilson Posted January 8, 2010 Report Share Posted January 8, 2010 Até hoje não consegui usar hb_zipfile() funcionava direito na versão 16 bits o ZipFile(), já procurei em vários comentarios, fivetech, baixei várias versões de libs, aqui também e apenas disseram que as livrarias tem que estar antes da do FW. o arquivo fica de tamanho 0 bytes ou não cria. desde este tópico http://www.fivewin.com.br/forum/topic.asp?TOPIC_ID=14931 FWH 8.1 / xHB 1.1.0 / xDev / Pelles Editado por - Ladinilson on 08/01/2010 10:33:48 Quote Link to comment Share on other sites More sharing options...
gibaf Posted January 8, 2010 Report Share Posted January 8, 2010 eu faco assim: OBS: 1) testei com o q esta comentado (abaixo do Funcion), passando a matriz com os arquivos em anexo, mas nao funcionou.... Coloquei no For...Next, dae, funcionou ! 2) tem q linkar, na compilacao os xHBZipDll.Lib e o xHBZip.Lib. *--------------------- function BkZipar( _cZip, _aFiles, _cSenha ) *--------------------- //HB_ZipFile( , | , , , , , , , ) --> lCompress //_cZip = pasta destino + nome do arquivo.zip local aoWait:={} local x:=0 DEFAULT _cSenha := "" if file( _cZip ) ferase( _cZip ) endif SetRegua(len( _aFiles ),,) for x=1 to len( _aFiles ) IncRegua("Compactando... "+_aFiles[x]) hb_zipfile( _cZip, _aFiles[x],,,,_cSenha,.t., ) next return nil id=code>id=code>Gilberto Frohlich - Toledo/PR giba_f@hotmail.com giba_f@yahoo.com.br xHarbour xBuild+Fivewin 2.7+PellesC+(Postgres+DB2) Quote Link to comment Share on other sites More sharing options...
edutraini Posted January 8, 2010 Author Report Share Posted January 8, 2010 Alessandro funcionou perfeitamente muito obrigado e desculpe se interpretei de forma grosseira o seu comentario Muito Obrigado Edu FW24 + CLIP5_2 Quote Link to comment Share on other sites More sharing options...
aferra Posted January 8, 2010 Report Share Posted January 8, 2010 Edu sem problemas, é que a gente vai zuando no meio dos post aà na correria vai dando essa m...., kkkkkkkkk de minha parte está tudo blz!!!!! sempre que precisar e eu puder ajudar estaremos aqui...... um grande abraço. Alessandroid=blue> FW20d+CL53b+Blk7+@Say+CDX FW9.07+xHb121+PellesC+CDX "Uma imaginação bem canalizada é fonte de grandes proezas"id=red> Quote Link to comment Share on other sites More sharing options...
REINALDO2 Posted January 11, 2010 Report Share Posted January 11, 2010 ACHO QUE A RESPOSTA PAGA PAU POS CARA SUN OF THE BITHC Quote Link to comment Share on other sites More sharing options...
edutraini Posted January 11, 2010 Author Report Share Posted January 11, 2010 ainda sou novo no forum aos poucos vou me acostumando kkkkkkkkkkkk Obrigado FW24 + CLIP5_2 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.