Mandar TXT via FTP
Moderador: Moderadores
- Alexandre Silva
- Usuário Nível 3

- Mensagens: 376
- Registrado em: 26 Mar 2007 00:16
- Localização: Itapema - SC
Mandar TXT via FTP
Meu cliente precisa mandar um arquivo txt pequeno,para o FTP de uma empresa diariamente..
tenho o nome de usuario e a senha..
Voces tem Alguma programa ou mesmo uma bat que eu posso utilizar, se voce e-mail usario o blat. mas é FTP
Obrigado
tenho o nome de usuario e a senha..
Voces tem Alguma programa ou mesmo uma bat que eu posso utilizar, se voce e-mail usario o blat. mas é FTP
Obrigado
* Clipper 5.2e/Gaspro 4.0 /CDX/Blinker 7.0 Harbour 3.2 Console Hbmk2
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Re: Mandar TXT via FTP
Alexandre,
Por que você não tenta fazer um sisteminha em xHarbour para fazer esse trabalho, veja no link abaixo como é facil.
viewtopic.php?f=4&t=7968&p=44588&hilit=ftp#p44588
Por que você não tenta fazer um sisteminha em xHarbour para fazer esse trabalho, veja no link abaixo como é facil.
viewtopic.php?f=4&t=7968&p=44588&hilit=ftp#p44588
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
-
Dudu_XBase
- Membro Master

- Mensagens: 1071
- Registrado em: 25 Ago 2003 16:55
Re: Mandar TXT via FTP
________________________________________________________________________________________________________
(Aow Saudade) Clipper 5.2e, Blinker 7, RDD SIXNSX, DBFCDX /Xharbour 1.0, Rdd Mediator (Mysql) Free , RDD Sqlrdd (Sql Server) Comercial
(Hoje) C# Python Sql Server e Oracle
- Alexandre Silva
- Usuário Nível 3

- Mensagens: 376
- Registrado em: 26 Mar 2007 00:16
- Localização: Itapema - SC
Re: Mandar TXT via FTP
Valeu
Vou fazer essa ftp -s scritp.txt e chamar no sistema
Fiquei com uma duvida:
Nao tem como, mandar para uma pasta especifica no servidor ?
Quando fizer o comando PUT nomedoarquivoquevai em que pasta vai cair ??
Vou fazer essa ftp -s scritp.txt e chamar no sistema
Fiquei com uma duvida:
Nao tem como, mandar para uma pasta especifica no servidor ?
Quando fizer o comando PUT nomedoarquivoquevai em que pasta vai cair ??
* Clipper 5.2e/Gaspro 4.0 /CDX/Blinker 7.0 Harbour 3.2 Console Hbmk2
Re: Mandar TXT via FTP
Olá,Quando fizer o comando PUT nomedoarquivoquevai em que pasta vai cair ??
Você tem que ter um servidor de ftp ativo e ter permissão para gravar na pasta destino.
Basicamente você vai precisar de um software servidor de ftp tipo ZFTPServer e provavelmente de uma conta em algum servidor de dns tipo dyndns.org
Há muito tempo atrás eu fiz isso.
Mas a melhor opção é transmitir os arquivos via email.
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Re: Mandar TXT via FTP
Alexandre,
Eu fiz este programa uns 5 anos atrás para fazer o que você tá querendo.
ftp.dbf
COMFTP.PRG
Eu fiz este programa uns 5 anos atrás para fazer o que você tá querendo.
ftp.dbf
Código: Selecionar todos
Structure for database: D:\CDX\DOMINOS\GERE\FTP.DBF
Number of data records: 1
Date of last update : 11/04/07
Code Page : 0
Field Field Name Type Width Dec Index Collate
1 HOST Character 50
2 USUARIO Character 20
3 SENHA Character 15
4 PORTA Character 5
5 PASTA Character 10
6 DIRFTP Character 50
** Total ** 151
Código: Selecionar todos
Exemplo:
HOST : seudns.ddns.com.br
USUARIO: convidado (definido no seu servidor de ftp)
SENHA : convidado (definido no seu servidor de ftp)
PORTA : 6112 (definida no servidor e no seu roteador)
PASTA : exe (pasta onde serão gravados os arquivos - servidor)
DIRFTP : D:\EMPRESA\00012\DOC\ (pasta onde estão os arquivos a serem transmitidos)
Código: Selecionar todos
#include "inkey.ch"
#include "visual2.ch"
#include "ctscan.ch"
#include "Setcurs.ch"
#include "Error.ch"
#include "Achoice.ch"
#include "FileIO.ch"
#include "common.ch"
SET SCOREBOARD OFF
SET DELETED ON
SET SAFETY OFF
SET DATE BRITISH
SET ESCAPE ON
SET CENTURY ON
SET DELIMITERS TO
SET CURSOR OFF
SET EXCLUSIVE OFF
SET WRAP ON
SET INTENSITY ON
SET EPOCH TO 1964
REQUEST DBFCDX
RDDSETDEFAULT("DBFCDX")
PUBLIC cErro
PUBLIC cDirSys:=""
CLS
EGAPALETTE("GR",43)
EGAPALETTE("BG",9) //9
EGAPALETTE("R+",36)
EGAPALETTE("R*",36)
EGAPALETTE("B+",11)
EGAPALETTE("G+",18)
EGAPALETTE("B",9)
SETBLINK(.F.)
VL850()
FreeTSlice(20)
ScrInicial := WIN(00,00,23,79," "+BLISERNUM()+" - ENVIO DE ARQUIVOS POR FTP ",WT_AZUL1CINZA,WD_AZUL1CINZA,.F.)
CLEARWIN(24,00,24,79,"B/W*")
aBtn := NewButton()
AddButton(aBtn,03,01,18,"&Enviar","Iniciar o Envio de Arquivos",.T.,{|| Enviar()})
SELECT 1
DO WHILE !NETUSE("FTP",.T.,0)
ENDDO
SELECT FTP
DBGOTOP()
lEnvio :=.F.
lContinua:=.T.
WHILE .T.
nOpcao := ProcButton(aBtn)
IF !lContinua
EXIT
ENDIF
IF lEnvio
MsgBox3D1({"",;
" ARQUIVOS ENVIADOS COM SUCESSO",;
"",;
""},;
"ATENۂO") // SEGUNDO PARAMETRO (TITULO)
ELSE
MsgBox3D1({"",;
"OS ARQUIVOS NÇO FORAM ENVIADOS",;
"",;
"1 - VERIFIQUE SE Hµ CONEXÇO COM A INTERNET",;
"",;
"2 - VERIFIQUE SE O MODEM ESTµ LIGADO ",;
"",;
"3 - VERIFIQUE SE Hµ ARQUIVOS PARA ENVIO ",;
"",;
"4 - ENTRE EM CONTATO COM O SUPORTE "},;
"ATENۂO") // SEGUNDO PARAMETRO (TITULO)
IF ALERTA("TENTAR NOVAMENTE O ENVIO ?",42) == 1
KEYBOARD CHR(13)
LOOP
ELSE
EXIT
ENDIF
ENDIF
ENDDO
CLOSE ALL
CLS
@23,00
QUIT
FUNCTION ENVIAR
IF LASTKEY() = 27
lContinua:=.F.
RETURN NIL
ENDIF
@05,01 SAY "Verificando Arquivos" COLOR "N/W"
aArq:={}
cFile:=FTP->DirFTP+"*.*" //FILESEEK("..\ENVIADO\*.*")
DO WHILE !EMPTY(cFile)
AADD(aArq,cFile)
cFile:=FILESEEK()
ENDDO
IF LEN(aArq) > 0
@06,01 SAY "Gerando Script FTP" COLOR "N/W"
ScriptFTP("*.doc")
IF FILE("ENVIA.FTP")
@07,01 SAY "Verificando ConexÆo" COLOR "N/W"
SWPRUNCMD("ftp -n -i -s:envia.ftp > envio.ftp",0)
ENDIF
lEnvio:=CHKFTP()
@09,01 SAY IIF(lEnvio,"Arquivos Enviados Com Sucesso","Arquivos NÆo Foram Enviados! ") COLOR "N/W"
FILEDELETE("ENVIA.FTP")
FILEDELETE("ENVIO.FTP")
ELSE
ALERTA("NÇO Hµ ARQUIVOS PARA SEREM ENVIADOS!",2)
ENDIF
RETURN
FUNCTION CHKFTP
LOCAL lEnvio:=.F., v_Erro:=""
IF FILE("ENVIO.FTP")
v_Erro:=MEMOREAD("ENVIO.FTP")
IF AT("Goodbye",v_Erro) > 0
lEnvio:=.T.
ENDIF
ENDIF
RETURN lEnvio
FUNCTION CHKENVIO
LOCAL lEnvio:=.T., dDataFile
IF FILE("ENVIO.FTP")
dDataFile:=FILEDATE("ENVIO.FTP")
aRet := FSEARCH("ENVIO.FTP","Goodbye")
IF LEN(aRet) > 0
nHANDLE:=FOPEN("ENVIO.FTP")
IF FERROR() = 0
FSEEK(nHANDLE,aRet[1])
cVar=FREADSTR(nHANDLE,7)
IF !cVar $ "Goodbye"
lEnvio := .F.
ENDIF
ELSE
lEnvio := .F.
ENDIF
FCLOSE(nHANDLE)
ELSE
lEnvio := .F.
ENDIF
ELSE
lEnvio := .F.
ENDIF
RETURN lEnvio
FUNCTION SCRIPTFTP(cArquivos)
DEFAULT cArquivos TO ""
//SELECT 1
//DO WHILE !NETUSE("FTP",.T.,0)
//ENDDO
//SELECT FTP
//DBGOTOP()
IF FILE("ENVIA.FTP")
FILEDELETE("ENVIA.FTP")
ENDIF
SET DEVICE TO PRINTER
SET PRINT ON
SET PRINTER TO ENVIA.FTP
SETPRC(0,0)
nLin:=0
@nLin,000 SAY "open "+LOWER(RTRIM(FTP->Host))+" "+RTRIM(FTP->Porta)
nLin++
@nLin,000 SAY "user "+LOWER(RTRIM(FTP->Usuario))+" "+LOWER(RTRIM(FTP->Senha))
nLin++
IF !EMPTY(FTP->Pasta)
@nLin,000 SAY "cd "+LOWER(RTRIM(FTP->Pasta))
nLin++
ENDIF
@nLin,000 SAY "mput "+LOWER(RTRIM(FTP->DirFTP))+cArquivos
IF cArquivos=".txt"
nLin++
@nLin,000 SAY "mput "+LOWER(RTRIM(FTP->DirFTP))+cArquivos
ENDIF
nLin++
@nLin,000 SAY "bye"
SET PRINT OFF
SET PRINTER TO
SET DEVICE TO SCREEN
//CLOSE FTP
RETURN NIL
FUNCTION ALERTA(cMensagem,nSituacao,cMen1,cMen2,cMen3,cMen4,cMen5)
LOCAL nOpcao:=1, nFoco:=1
DEFAULT nSituacao TO 1
DO CASE
CASE nSituacao = 1
nOpcao := MsgBox2(cMensagem)
CASE nSituacao = 2
DO CASE
CASE PCOUNT() = 2
MsgBox1(cMensagem)
CASE PCOUNT() = 4
MsgBox1({cMensagem,;
cMen1,;
cMen2})
CASE PCOUNT() = 5
MsgBox1({cMensagem,;
cMen1,;
cMen2,;
cMen3})
CASE PCOUNT() = 6
MsgBox1({cMensagem,;
cMen1,;
cMen2,;
cMen3,;
cMen4})
CASE PCOUNT() = 7
MsgBox1({cMensagem,;
cMen1,;
cMen2,;
cMen3,;
cMen4,;
cMen5})
ENDCASE
CASE STR(nSituacao,2) $ "31,32,41,42"
IF SUBST(STR(nSituacao,2),1,1) = "3"
cBotao1:="Autoriza"
cBotao2:="Cancela"
nFoco := VAL(SUBST(STR(nSituacao,2),2,1))
ENDIF
IF SUBST(STR(nSituacao,2),1,1) = "4"
cBotao1:="Sim"
cBotao2:="NÆo"
nFoco := VAL(SUBST(STR(nSituacao,2),2,1))
ENDIF
DO CASE
CASE PCOUNT() = 2
nOpcao := MsgBox2({cMensagem,;
cMen1},"Aten‡Æo",,cBotao1,cBotao2,nFoco,,WT_AZUL2BRANCO,WD_AZUL2BRANCO)
CASE PCOUNT() = 3
nOpcao := MsgBox2({cMensagem,;
cMen1 ,;
cMen2},"Aten‡Æo",,cBotao1,cBotao2,nFoco,,WT_AZUL2BRANCO,WD_AZUL2BRANCO)
CASE PCOUNT() = 4
nOpcao := MsgBox2({cMensagem,;
cMen1 ,;
cMen2 ,;
cMen3},"Aten‡Æo",,cBotao1,cBotao2,nFoco,,WT_AZUL2BRANCO,WD_AZUL2BRANCO)
CASE PCOUNT() = 5
nOpcao := MsgBox2({cMensagem,;
cMen1 ,;
cMen2 ,;
cMen3 ,;
cMen4},"Aten‡Æo",,cBotao1,cBotao2,nFoco,,WT_AZUL2BRANCO,WD_AZUL2BRANCO)
CASE PCOUNT() = 6
nOpcao := MsgBox2({cMensagem,;
cMen1 ,;
cMen2 ,;
cMen3 ,;
cMen4 ,;
cMen5},"Aten‡Æo",,cBotao1,cBotao2,nFoco,,WT_AZUL2BRANCO,WD_AZUL2BRANCO)
ENDCASE
CASE nSituacao = 5
nOpcao := MsgBox2(cMensagem,,,,,2)
ENDCASE
RETURN (nOpcao)
FUNCTION DWNMSG(cMsg,cCor)
IF PCOUNT() > 1
@ 24,00 SAY PADC(cMsg,80) COLOR cCor
ENDIF
RETURN NIL
FUNCTION NETUSE(cDatabase,lOpenMode,nSeconds,cDiretorio)
LOCAL lForever
DEFAULT nSeconds TO 0 ,;
lOpenMode TO .F.,;
cDiretorio TO ""
lForever := (nSeconds = 0)
DO WHILE (lForever .OR. nSeconds > 0)
IF lOpenMode
USE (cDirSys+cDatabase) EXCLUSIVE
ELSE
USE (cDirSys+cDatabase) SHARED // Shared
ENDIF
IF .NOT. NETERR() // USE succeeds
RETURN (.T.)
ENDIF
INKEY(1) // Wait 1 second
nSeconds --
ENDDO
RETURN (.F.) // USE fails
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
-
Dudu_XBase
- Membro Master

- Mensagens: 1071
- Registrado em: 25 Ago 2003 16:55
Re: Mandar TXT via FTP
Tarde...
dentro do script.txt adicione o comando cd <pasta> ai vc "inputa" o bixo onde se quisé....
dentro do script.txt adicione o comando cd <pasta> ai vc "inputa" o bixo onde se quisé....
________________________________________________________________________________________________________
(Aow Saudade) Clipper 5.2e, Blinker 7, RDD SIXNSX, DBFCDX /Xharbour 1.0, Rdd Mediator (Mysql) Free , RDD Sqlrdd (Sql Server) Comercial
(Hoje) C# Python Sql Server e Oracle
