CHILKAT_OBJECT()

Rivile GAMA sistemos funkcinės galimybės praplėstos CHILKAT bibliotekos objektais.

(nuo 115 RIV_GAMA versijos)

Pilnas sistemos funkcijų ir galimybių aprašymas pateiktas čia: https://www.chilkatsoft.com/refdoc/activex.asp

Pavyzdžiai : https://www.example-code.com/foxpro/default.asp/

Naudojimo apribojimai :

  • Chilkat programinė biblioteka turi būti registruojama kiekvienoje darbo vietoje – registruojama automatiškai pirmą kartą paleidus funkciją, naudojančią Chilkat biblioteką (pvz. f_mail_chilkat).
  • Bibliotekos registravimui reikalingos administratoriaus teisės. Jei Rivile GAMA vartotojas tokių teisių neturi, biblioteką kompiuteryje gali registruoti administratorius paleisdamas https://chilkatdownload.com/9.5.0.93/chilkatax-9.5.0-win32.msi failą.

Sintaksė

CHILKAT_OBJECT(tcChilkatObject)

Grąžina

CHILKAT objektą, priešingu atveju - .NULL.

Pastaba :

Naudojant bibliotekos aprašymuose pateiktus objektus, reikia nurodyti tik galutinį objekto pavadinimą (nenurodant CHILKAT bibliotekos versijos). Pavyzdžiui: aprašytas objektas "Chilkat_9_5_0.SFtp" , o kuriamas objektas chilkat_object("SFtp")

Pavyzdys 1

loJson=chilkat_object(„JsonObject“)

Sėkmės atveju grąžinamas sukurtas objektas, nesėkmės atveju grąžinama reikšmė .NULL.

Pavyzdys 2

SFTP funkcijos naudojimas:

LPARAMETERS lcHostName, lnPort, lcUserName, lcPassword, lcFileName
** Pavyzdiniai parametrai:
* m.lcHostName="sftp.example.com"
* m.lnPort=22
* m.lcUserName="myLogin"
* m.lcPassword="myPassword"
* m.lcFileName="c:/tmp/klientai.xls"

LOCAL loSftp,lcHandle

* Sukuriamas SFTP objektas
m.loSftp = chilkat_object("SFTP")

* Nustatomos timeout reikšmės
m.loSftp.ConnectTimeoutMs = 5000
m.loSftp.IdleTimeoutMs = 10000

* Prisijungiame prie SSH serverio (nurodomas serverio adresas ir portas)
IF m.loSftp.Connect(m.lcHostName,m.lnPort)<>1 THEN
    l_messagebox(m.loSftp.LastErrorText,16,"Klaida")
    RELEASE loSftp
    RETURN .F.
ENDIF

* Autentifikuojama su SSH serveriu
* Chilkat palaiko prisijungimus slaptažodžiu, tiek viešuoju raktu (public-key)
IF m.loSftp.AuthenticatePw(m.lcUserName,m.lcPassword)<>1 THEN
    l_messagebox(m.loSftp.LastErrorText,16,"Klaida")
    RELEASE loSftp
    RETURN .F.
ENDIF

* Po autentifikacijos, SFTP turi būti inicializuotas
IF m.loSftp.InitializeSftp()<>1 THEN
    l_messagebox(m.loSftp.LastErrorText,16,"Klaida")
    RELEASE loSftp
    RETURN .F.
ENDIF

* Atidaromas failas rašymui į SSH serverį
* Jei failas egzistuoja, jis bus perrašytas
m.lcHandle = m.loSftp.OpenFile(JUSTFNAME(m.lcFileName),"writeOnly","createTruncate")
IF (m.loSftp.LastMethodSuccess <> 1) THEN
    l_messagebox(m.loSftp.LastErrorText,16,"Klaida")
    RELEASE loSftp
    RETURN .F.
ENDIF

* Įkeliamas lokalus failas į SSH serverį
IF m.loSftp.UploadFile(m.lcHandle,m.lcFileName)<>1 THEN
    l_messagebox(m.loSftp.LastErrorText,16,"Klaida")
    RELEASE loSftp
    RETURN .F.
ENDIF

* Užbaigiamas failo įkėlimas
IF m.loSftp.CloseHandle(m.lcHandle)<>1 THEN
    l_messagebox(m.loSftp.LastErrorText,16,"Klaida")
    RELEASE loSftp
    RETURN .F.
ENDIF

RELEASE loSftp
RETURN .T.