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
Erittäin kätevä
Juu, hyödyllinen on ollukki mulle =)
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...
saako tuota mitenkään niin että se lataisi esim kaikki saman päätteiset kuvat sivulta kuten .jpg:t
Ihan hyvä, mutta mitenkähän sais rivitiedostojen rivinvaihdot pelittämään.
Miten saisin että se lataa kuvan netistä PictureBoxiin?
Esim. https://www.ohjelmointiputka.net/img/banneri.jpg tulisi PictureBoxiin mun formiin.
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
kas, onhan täällä tältäkin vuodelta kirjoittajia; jos katsoo toisten vuosilukuja
doch doch, taitaa teillekin tulla tenkkapoo jos yritätte laittaa ladattavaksi tiedostoksi .zip tiedoston :P
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.
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
Aihe on jo aika vanha, joten et voi enää vastata siihen.