LFTP.LIB e TIP.LIB
Moderador: Moderadores
- jorge andrade
- Usuário Nível 1

- Mensagens: 38
- Registrado em: 02 Dez 2009 13:28
- Localização: são paulo
LFTP.LIB e TIP.LIB
Pessoal
Boa noite
Me perdoem a ignorância, sei que existe muitos post relativos as duas lib's acima, porém não achei nenhum sobre as funções/métodos existentes nelas e os parâmetros destas funções. Por favor, alguém tem essa documentação?
Exemplo: Estou usando o comando download(nome do arquivo no ftp), queria saber quais parametros existem
Desde de já, obrigado.
[]s,
Boa noite
Me perdoem a ignorância, sei que existe muitos post relativos as duas lib's acima, porém não achei nenhum sobre as funções/métodos existentes nelas e os parâmetros destas funções. Por favor, alguém tem essa documentação?
Exemplo: Estou usando o comando download(nome do arquivo no ftp), queria saber quais parametros existem
Desde de já, obrigado.
[]s,
Editado pela última vez por Toledo em 16 Out 2014 19:08, em um total de 1 vez.
Razão: O presente tópico foi movido da seção Outras linguagens de programação, uma vez que seu conteúdo não tem relação com os objetivos daquela seção.
Razão: O presente tópico foi movido da seção Outras linguagens de programação, uma vez que seu conteúdo não tem relação com os objetivos daquela seção.
Jorge Andrade
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7929
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
LFTP.LIB e TIP.LIB
Ola!
Verifique a pasta contrib da sua distribuição.
Na pasta do harbour\contrib\hbtip\tests tem alguns exemplos de uso.
Saudações,
Itamar M. Lins Jr.
Verifique a pasta contrib da sua distribuição.
Na pasta do harbour\contrib\hbtip\tests tem alguns exemplos de uso.
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
- jorge andrade
- Usuário Nível 1

- Mensagens: 38
- Registrado em: 02 Dez 2009 13:28
- Localização: são paulo
LFTP.LIB e TIP.LIB
Obrigado Itamar pela resposta, mas a minha necessidade está mais para LFTP.LIB e não na TIP.LIB, a qual citei pelo fato de alguns exemplos do uso de FTP utilizar esta lib, portanto, se alguém ainda puder me ajudar, agradeço.
[]s,
[]s,
Jorge Andrade
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7929
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
- jorge andrade
- Usuário Nível 1

- Mensagens: 38
- Registrado em: 02 Dez 2009 13:28
- Localização: são paulo
LFTP.LIB e TIP.LIB
Quais os parametros para:
Download
Upload
Fora outros que pretendo utilizar.
Desde de já, obrigado.
[]s,
Download
Upload
Fora outros que pretendo utilizar.
Desde de já, obrigado.
[]s,
Jorge Andrade
- Jairo Maia
- Moderador
- Mensagens: 2785
- Registrado em: 16 Ago 2010 13:46
- Localização: Campinas-SP
LFTP.LIB e TIP.LIB
Olá Jorge,
Você já deixou claro que tem preferência em usar a LFTP.LIB e não a FTP.LIB. Penso que o que não está claro ao fórum ainda, é a razão disso. Qual é o motivo da recusa em usar a FTP.LIB? Algum motivo especial?
Você já deixou claro que tem preferência em usar a LFTP.LIB e não a FTP.LIB. Penso que o que não está claro ao fórum ainda, é a razão disso. Qual é o motivo da recusa em usar a FTP.LIB? Algum motivo especial?
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
- jorge andrade
- Usuário Nível 1

- Mensagens: 38
- Registrado em: 02 Dez 2009 13:28
- Localização: são paulo
LFTP.LIB e TIP.LIB
Jairo
Boa noite
Não tenho nenhum problema em relação a nenhuma das lib's, é que eu peguei um exemplo da LFTP.LIB e como não quero ficar testando mais de uma, resolvi tentar descobrir mais sobre ela, de qualquer maneira agradeço, os palpites e indagações, mas já resolvi desenvolver utilizando TIpClientFtp().
[]s,
Boa noite
Não tenho nenhum problema em relação a nenhuma das lib's, é que eu peguei um exemplo da LFTP.LIB e como não quero ficar testando mais de uma, resolvi tentar descobrir mais sobre ela, de qualquer maneira agradeço, os palpites e indagações, mas já resolvi desenvolver utilizando TIpClientFtp().
[]s,
Jorge Andrade
- jorge andrade
- Usuário Nível 1

- Mensagens: 38
- Registrado em: 02 Dez 2009 13:28
- Localização: são paulo
LFTP.LIB e TIP.LIB
Olá Kapi
Obrigado pela sua resposta.
Foi justamente a partir de um dos exemplos citados no post, no qual obtive resultados satisfatórios, que questionei sobre a documentação das lib's, mas resolvi fazer de outra maneira, através de um exemplo obtido no CHM do xHarbour, contudo, gostaria de explicar pra não ficar uma suposta presunção de que estou querendo reinventar a roda, até talvez por ignorância e por questões de querer saber mais sobre o assunto, pois pra mim exemplos são feitos para ajudar e não vir definitivamente pronto e resolver o problema, pois temos que queimar a mufa.
Quando perguntei sobre a documentação, aí que entra a necessidade de saber quais as opções que tenho quando disparo uma determinada função e quais os seus parâmetros, pegando nos exemplos do post a opção Download(arquivo), o arquivo será gravado na pasta corrente, sabendo que utilizando a TIpClientFtp(), onde :downloadFile( <cLocalFile>, [<cRemoteFile>] ) --> lSuccess eu tenho 2 parâmetros onde determino onde quero gravo o arquivo destino e onde eu quero pegar.
Sei que utilizando SetDir(pasta), em um dos exemplos do post, diz que a pasta, pode ser origem e destino "(oObj:SetDir("pastaftp/matriz") // pasta pra onde vc quer enviar ou baixa.. Destino..", então isso pressupõe que o mesmo serve para determinar ambos, com a diferença talvez do uso das diretivas "/" ou " \"
Então, me perdoem a ignorância, a pergunta era simples, era tudo uma questão querer diminuir a minha falta de conhecimento sobre as mesmas, contudo, agradeço a colaboração de todos.
[]s
Obrigado pela sua resposta.
Foi justamente a partir de um dos exemplos citados no post, no qual obtive resultados satisfatórios, que questionei sobre a documentação das lib's, mas resolvi fazer de outra maneira, através de um exemplo obtido no CHM do xHarbour, contudo, gostaria de explicar pra não ficar uma suposta presunção de que estou querendo reinventar a roda, até talvez por ignorância e por questões de querer saber mais sobre o assunto, pois pra mim exemplos são feitos para ajudar e não vir definitivamente pronto e resolver o problema, pois temos que queimar a mufa.
Quando perguntei sobre a documentação, aí que entra a necessidade de saber quais as opções que tenho quando disparo uma determinada função e quais os seus parâmetros, pegando nos exemplos do post a opção Download(arquivo), o arquivo será gravado na pasta corrente, sabendo que utilizando a TIpClientFtp(), onde :downloadFile( <cLocalFile>, [<cRemoteFile>] ) --> lSuccess eu tenho 2 parâmetros onde determino onde quero gravo o arquivo destino e onde eu quero pegar.
Sei que utilizando SetDir(pasta), em um dos exemplos do post, diz que a pasta, pode ser origem e destino "(oObj:SetDir("pastaftp/matriz") // pasta pra onde vc quer enviar ou baixa.. Destino..", então isso pressupõe que o mesmo serve para determinar ambos, com a diferença talvez do uso das diretivas "/" ou " \"
Então, me perdoem a ignorância, a pergunta era simples, era tudo uma questão querer diminuir a minha falta de conhecimento sobre as mesmas, contudo, agradeço a colaboração de todos.
[]s
Jorge Andrade
- Toledo
- Administrador

- Mensagens: 3133
- Registrado em: 22 Jul 2003 18:39
- Localização: Araçatuba - SP
- Contato:
LFTP.LIB e TIP.LIB
Você tem o CHM do xHarbour? Se sim, então você tem a documentação da classe TIpClientFtp(), no CHM tem todos os parâmetros, descrição, métodos e retorno de cada função desta classe.jorge andrade escreveu:através de um exemplo obtido no CHM do xHarbour
Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
- jorge andrade
- Usuário Nível 1

- Mensagens: 38
- Registrado em: 02 Dez 2009 13:28
- Localização: são paulo
LFTP.LIB e TIP.LIB
Obrigado Toledo pela resposta, mas eu já havia finalizado o assunto, ao informar que já tinha feito através da TIPclientFTP() e não precisava mais da documentação questionada, eu apenas deixei um motivo da minha questão, mas como frisei na minha resposta, fiz justamente através do CHM do xHarbour, acho que vc leu errado meu último post, de qqr forma fico grato pela paciência.
[]s,
[]s,
Jorge Andrade
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7929
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
LFTP.LIB e TIP.LIB
Neste caso vc colocou os bois na frente da carroça. Porque o nome da LIB pouco importa seria mais fácil vc ter colocado os exemplos e informar que era no xHarbour porque no Harbour tem exemplos mais novos.
Exemplo simples de download via FTP com poucas linhas vc consegue fazer o que está querendo.
Neste exemplo abaixo vc baixa arquivo via HTTP com a barrinha gráfica de percentual.
Saudações,
Itamar M. Lins Jr.
Exemplo simples de download via FTP com poucas linhas vc consegue fazer o que está querendo.
Código: Selecionar todos
/* Download a file from an FTP server */
#require "hbtip"
PROCEDURE Main( cURL, ... )
LOCAL lRetVal := .T.
LOCAL aFiles, cFile
LOCAL oFTP, oURL
/* fetch files to transfer */
IF ! Empty( aFiles := { ... } )
hb_default( @cURL, "ftp://user:pass@ftp.example.com" )
oURL := TUrl():New( cURL )
oFTP := TIPClientFTP():New( oURL, .T. )
oFTP:nConnTimeout := 20000
oFTP:bUsePasv := .T.
IF oFTP:Open( cURL )
FOR EACH cFile IN aFiles
? "Filename:", cFile
IF oFtp:DownloadFile( cFile )
lRetVal := .T.
ELSE
lRetVal := .F.
EXIT
ENDIF
NEXT
oFTP:Close()
ELSE
? "Could not connect to FTP server", oURL:cServer
IF oFTP:SocketCon == NIL
? "Connection not initialized"
ELSEIF hb_inetErrorCode( oFTP:SocketCon ) == 0
? "Server response:", oFTP:cReply
ELSE
? "Error in connection:", hb_inetErrorDesc( oFTP:SocketCon )
ENDIF
lRetVal := .F.
ENDIF
ENDIF
ErrorLevel( iif( lRetVal, 0, 1 ) )
RETURN
Código: Selecionar todos
/* TEST of TIP libs (for higher level URI interface)
*
* Usage: This file is similar to a wget command
*
* Without the filename, tipwget will be in demo mode,
* just demostrating it is working
*
* With the filename, data will be stored to the file or
* retrieved from the file and sent to Internet.
*
* Usage of URI.
* HTTP[S] Protocol
* http[s]://<sitename>/<path>?<query>
* - at the moment HTTP URI is not able to send data,
* (f.e. a form)
*
* POP[S] Protocol
* pop[s]://<username>:<password>@<popserver>/[-][MsgNum]
* - Without MsgNum, you get the list of messages
* - With MsgNum get Message MsgNum
* - With -MsgNum deletes message MsgNum
*
* SMTP[S] Protocol
* smtp[s]://<mail-from>@<server>/RCPT
* - (You have to provide a filename)
* - use &at; in mail-from message
* - Send the mail in filename (that must include
* headers) to RCPT f.e.
* stmp[s]://user&at;example.com@smtp.example.com/gian@niccolai.ws
*
* NOTE: In Unix, to use '&' from command line you have to surround
* the URL with "", f.e. "smtp[s]://...&at;...@server/dest"
*
* FTP[S] Protocol
* ftp[s]://user:passwd@<ftpserver>/[<path>]
* - without path, get the list of files (use path/ to get the list of
* files in a dir.
* - with path, get a file. If the target file (second param) starts with '+'
* it will be sent instead of being retrieved.
*/
#require "hbssl"
#require "hbtip"
#if ! defined( __HBSCRIPT__HBSHELL )
REQUEST __HBEXTERN__HBSSL__
#endif
#include "hbclass.ch"
#include "tip.ch"
PROCEDURE Main( cURL, cFile )
LOCAL bWrite := .F.
LOCAL oURL, oClient
LOCAL cData
? "Harbour - TIP (class based internet client protocol) test"
IF ! HB_ISSTRING( cURL ) .OR. Empty( cURL )
? hb_StrFormat( "Usage: %1$s <URI> [dumpToOrFromFileName]", hb_ProgName() )
RETURN
ENDIF
IF Empty( oURL := TUrl():New( cURL ) )
? "Invalid URL", cURL
RETURN
ENDIF
SWITCH Lower( oURL:cProto )
CASE "ftp"
oClient := TIPClientFTP():New( oURL )
EXIT
CASE "http"
CASE "https"
oClient := TIPClientHTTP():New( oURL )
EXIT
CASE "pop"
CASE "pops"
oClient := TIPClientPOP():New( oURL )
EXIT
CASE "smtp"
CASE "smtps"
oClient := TIPClientSMTP():New( oURL )
EXIT
ENDSWITCH
IF Empty( oClient )
? "Invalid URL", cURL
RETURN
ENDIF
oClient:nConnTimeout := 2000 /* 20000 */
oURL:cUserid := StrTran( oURL:cUserid, "&at;", "@" )
? "Connecting to", oURL:cProto + "://" + oURL:cServer
IF oClient:Open()
? "Connection status:", iif( Empty( oClient:cReply ), "<connected>", oClient:cReply )
IF ! Empty( cFile ) .AND. hb_LeftEq( cFile, "+" )
cFile := SubStr( cFile, 2 )
bWrite := .T.
ENDIF
?
oClient:exGauge := {| done, size | ShowGauge( done, size ) }
#if 0
/* Can be also: */
oClient:exGauge := {| done, size, oConnection | dothing( done, size, oConnection ) }
#endif
IF oClient:nAccessMode == TIP_WO .OR. ( oClient:nAccessMode == TIP_RW .AND. bWrite )
IF oClient:WriteFromFile( cFile )
? "Data successfully sent"
ELSE
? "Error: Data not sent", oClient:lastErrorMessage()
ENDIF
ELSE
IF Empty( cFile )
cData := oClient:Read()
IF ! Empty( cData )
? "First 80 characters:", RTrim( Left( cData, 80 ) )
ELSE
? "Error: file can't be retrieved", oClient:lastErrorMessage()
ENDIF
ELSE
IF oClient:ReadToFile( cFile )
? "File", cFile, "written."
? "Server replied", oClient:cReply
ELSE
? "Error: Generic error in writing", cFile
ENDIF
ENDIF
ENDIF
oClient:Close()
? "Done:", iif( Empty( oClient:cReply ), "(no goodbye message)", oClient:cReply )
ELSE
? "Can't open URI", cURL
IF ! Empty( oClient:cReply )
? oClient:cReply
ENDIF
ENDIF
RETURN
STATIC PROCEDURE ShowGauge( nSent, nSize )
SetPos( Row(), 0 )
?? "Sending:", nSent, "/", nSize
RETURN
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
- jorge andrade
- Usuário Nível 1

- Mensagens: 38
- Registrado em: 02 Dez 2009 13:28
- Localização: são paulo
LFTP.LIB e TIP.LIB
Caro Itamar, obrigado mais uma vez, foi justamente o que eu fiz, pq se fosse o contrário estaria errado, pois carroça não puxa boi. ahahahaha (Brincadeira), foi só uma pergunta que criou td isso sem necessidade, mas obrigado de novo.
[]s,
[]s,
Jorge Andrade
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7929
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
LFTP.LIB e TIP.LIB
Como diz Chaves: isso, isso, isso!!!
Se mostrasse os exemplos que vc queria executar seria mais ligeiro p/ nós.
Saudações,
Itamar M. Lins Jr.
Se mostrasse os exemplos que vc queria executar seria mais ligeiro p/ nós.
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7929
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
LFTP.LIB e TIP.LIB
E se não achar no manual, o último recurso é olhar nos próprios fontes o funcionamento das funções/métodos!
Saudações,
Itamar M. Lins Jr.
Código: Selecionar todos
CREATE CLASS TIPClientFTP FROM TIPClient
VAR nDataPort
VAR cDataServer
VAR bUsePasv INIT .T.
VAR RegBytes
VAR RegPasv
// Socket opened in response to a port command
VAR SocketControl
VAR SocketPortServer
METHOD New( oUrl, xTrace, oCredentials )
METHOD Open( cUrl )
METHOD Close()
METHOD GetReply()
METHOD Commit()
METHOD ScanLength()
METHOD TransferStart()
METHOD Pasv()
METHOD Quit()
METHOD TypeI()
METHOD TypeA()
METHOD NoOp()
METHOD Rest( nPos )
METHOD Pwd()
METHOD Cwd( cPath )
METHOD Dele( cPath )
METHOD LS( cSpec )
METHOD Rename( cFrom, cTo )
METHOD MKD( cPath )
METHOD RMD( cPath )
METHOD Retr( cFile )
METHOD Stor( cFile )
METHOD List( cSpec )
METHOD UserCommand( cCommand, lPasv, lReadPort, lGetReply )
METHOD Port()
METHOD SendPort()
METHOD ReadAuxPort()
METHOD Read( nLen )
METHOD Write( cData, nLen )
METHOD MGet( cSpec, cLocalPath )
METHOD MPut( cFileSpec, cAttr )
METHOD UploadFile( cLocalFile, cRemoteFile )
METHOD DownloadFile( cLocalFile, cRemoteFile )
METHOD ListFiles( cFileSpec )
METHOD FileSize( cFileSpec )
ENDCLASS
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
