Jump to content
Fivewin Brasil

ZIPAR ARQUIVO


edutraini

Recommended Posts

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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>

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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)

Link to comment
Share on other sites

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>

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...