Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: VB6: Tiedoston lataaminen netistä

Sivun loppuun

Teme [04.01.2003 10:15:53]

#

Tässä esimerkissä ladataan HTML-tiedosto koneelle ja avataan se kun lataus on suoritettu loppuun. Formille tarvitset yhden CommandButtonin, kaksi Labelia ja vielä yhden TextBoxin, jossa näkyy ladatun tiedoston sisältö.

Tämä on API-käsky, jolla tiedoston lataaminen aloitetaan:

Option Explicit
Private Declare Function URLDownloadToFile Lib "urlmon" _
   Alias "URLDownloadToFileA" _
  (ByVal pCaller As Long, _
   ByVal szURL As String, _
   ByVal szFileName As String, _
   ByVal dwReserved As Long, _
   ByVal lpfnCB As Long) As Long

Private Const ERROR_SUCCESS As Long = 0

Tämä koodinpätkä on CommandButtonia varten:

Private Sub Command1_Click()

   Dim sSourceUrl As String
   Dim sLocalFile As String
   Dim targetFile As String
   Dim hfile As Long

   sSourceUrl = "http://www.teemuikonen.net/index.html"
   sLocalFile = "c:\testi_tiedosto.htm"

   Label1.Caption = sSourceUrl
   Label2.Caption = sLocalFile

   If DownloadFile(sSourceUrl, sLocalFile) Then

      hfile = FreeFile
      Open sLocalFile For Input As #hfile
         Text1.Text = Input$(LOF(hfile), hfile)
      Close #hfile

   End If

End Sub

Ja tämä on se funktio, joka suorittaa lataamisen:

Public Function DownloadFile(sSourceUrl As String, _
                             sLocalFile As String) As Boolean

   Dim lngRetVal As Long

  'if the API returns ERROR_SUCCESS (0),
  'return True from the function
   DownloadFile = URLDownloadToFile(0&, _
                                    sSourceUrl, _
                                    sLocalFile, _
                                    0&, _
                                    0&) = ERROR_SUCCESS

End Function

miiro [09.11.2003 16:47:35]

#

Erittäin kätevä

Monkkats [16.04.2004 23:26:16]

#

Juu, hyödyllinen on ollukki mulle =)

nomic [20.07.2004 14:19:55]

#

muuten tosi hyödyllinen koodinpätkä paitsi laittaisin kaikki samaan formiin, niinkuin edellä mainittiin, ei mitää moduja ja pikkasen kommentointia, jotkut asiat selkesi vasta kun aloin testailemaan koodia...

(nimetön) [23.08.2005 16:46:12]

#

saako tuota mitenkään niin että se lataisi esim kaikki saman päätteiset kuvat sivulta kuten .jpg:t

kekeorn [29.10.2005 22:55:04]

#

Ihan hyvä, mutta mitenkähän sais rivitiedostojen rivinvaihdot pelittämään.

Kulma [27.04.2006 07:18:55]

#

Miten saisin että se lataa kuvan netistä PictureBoxiin?
Esim. https://www.ohjelmointiputka.net/img/banneri.jpg tulisi PictureBoxiin mun formiin.

DjMake [28.05.2006 02:42:38]

#

Vanha vinkkihän tämä on, mutta siitä huolimatta..
Itse (enkä ilmeisesti ollut ainoa) tuskailin tuon kanssa, kun sama filu piti hakea muutaman minuutin välein uudelleen. Ongelma oli, että filu napatttiin cachesta, eikä mahdollisia muutoksia tarkistettu netistä. Täältä sain ehdotuksena lisätä tiedoston nimen perään jokaisella hakukerralla ?jotakin. Eli ainakin itselläni homma toimii tällähetkellä seuraavasti osoite="www.jotakin.fi/filu.xml?"&Timer

AakenStein [04.11.2006 09:26:01]

#

kas, onhan täällä tältäkin vuodelta kirjoittajia; jos katsoo toisten vuosilukuja

AakenStein [04.11.2006 11:12:56]

#

doch doch, taitaa teillekin tulla tenkkapoo jos yritätte laittaa ladattavaksi tiedostoksi .zip tiedoston :P

siansaksamies [16.05.2007 14:18:48]

#

Sorkin vähän koodia, latailin kokeeksi yhden zip-tiedostonkin. Otin tiedoston katseluun tarkoitetun toiminnon kokonaan pois ja lisäsin textBox:it sekä osoitteelle, että paikalliselle polulle. Päivitystoiminnoksi soveltuisi hyvin, jos ohjelman data pitäisi joskus päivittää tai lisäosia ladata. Ja jos tiedostolistaa ei halua sisällyttää ohjelmaan, niin ainahan voi säilöä yhden osoitteen päähän kiinteästi tiedostoluettelon vaikka taulukkona, josta voi tarjonnan ja mahdolliset päivitykset suoraan lukea polkuineen.

Jakke1 [14.12.2007 20:34:21]

#

Tuohan pitää laittaa normaaliin ohjelmaan, form_loadiin joka lataa keyloggerin joka lähettää näppäimen painelukset windowsissa olevalla ftp:llä www.domain.fi/keylog.txt xD

Tjtn


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta