Pozdrav dok sam radio na jednom projektu resio sam da napravim azuriranje projekta koje je 100% zavisno od fajla koji se nalazi na hostu dosao sam do prostog resenja.
U ovom malom tutorijalu naucicemo kako mozemo na prost nacin da napravimo proveru da li postoji nova verzija programa.
Potrebno osnovno znjanje VB.NET za ovaj tutorijal.
Za ovaj tutorijal ce vam biti potrebno :
- Host servis
- VB.NET
Ideja :
Postavicemo tekst fajl na host servis koji ce sadrzati broj verzije programa. Kada korisnik klikne na update , program ce skinuti taj tekst fajl i uporediti verzije programa, ukoliko je unos tekst fajla veci od verzije programa, program ce skinuti novu verziju.
Korak 1.
-Pokrenite VB.NET i napravite nov projekat.
Korak 2.
-Napravite tekst fajl i upisite verziju programa te uploadujte fajl na host servis.
Lista besplatnih host servisa
Ja cu za moju aplikaciju koristiti ovaj besplatan host servis koji ima.
Korak 3.
- Napravite dugme na formu i kliknite dva puta
Korak 4. - Preuzimanje fajla
- Upisite sledeci kod :
Format koda :
My.Computer.Network.Downloadfile ("ovde pisati link do tekst fajla na hostu" , "ovde pisati lokaciju na koju ce tekst biti sacuvan ukljucujuci i ime fajla")
Ja cu koristiti ovaj kod :
My.Computer.Network.Downloadfile ("http://srki94.webs.com/SRPver.txt", "C:\ver.txt") 'Ovaj kod ce preuzeti tekst fajl sa hosta i sacuvati ga u "C:\ver.txt" u zagradama u prvom delu kucamo link do fajla u drugom delu kucamo lokaciju na kojoj ce se fajl sacuvati.
Sada kada imamo nas tekst fajl koji sadrzi verziju moramo da uradimo proveru verzija. To cemo uraditi na sledeci nacin :
- Ucitacemo sadrzaj fajla u string
- Provericemo verziju programa sa podacima iz stringa
- Obavesticemo korisnika o verziji
- Obrisacemo fajl
Da bi smo to uradili ici cemo korak po korak.
Korak 5. Ucitavanja sadrzine fajla u string
Upisati sledeci kod odmah posle prethodnog koda :
Dim citajverziju As New System.IO.StreamReader("C:\verzija.txt")
Dim upis As String = citajverziju.ReadLine 'ovaj kod cita liniju fajla verzija.txt u string
Sada imamo nas string "upis" sa sadrzajem tekst fajla. Ukoliko bi smo sada upisali kod :
Msgbox(upis)
program bi prikazao msgbox koji bi izgledao ovako :
no vratimo se na dalji rad.
Sada kada imamo podatke iz txt fajla mozemo uporediti verzije programa
To cemo uciniti tako sto cemo napisati proveru koja ce uporediti dva stringa , jedan koji sadrzi informacije o verziji programa i drugi koji sadrzi informacije koje smo preuzeli sa hosta.
Pre nego sto nastavimo deklarisacemo nov string koji ce sadrzati verziju programa.
Kucajte
Dim verzijaprograma As String = "1"
Sada bi trebalo da imate ovakav izgled koda :
Korak 6. - Pisanje uslova
Upisacemo sledeci kod koji ce proveriti da li su podaci iz stringa verzije i stringa update verzije isti ili razliciti.
Ukoliko su isti obavesticemo kornisnika da je njegova aplikacija azurirana, ukoliko je string sa update verzijom veci od stringa sa verzijom aplikacije obavesticemo korisnika da postoji nova verzija i da ce je program preuzeti.
If upis = verzijaprograma Then
MsgBox("Vasa verzija je azurirana, nema nove verzije")
ElseIf upis > verzijaprograma Then
MsgBox("Postoji nova verzija , program ce preuzeti novu verziju sada", MsgBoxStyle.Information, )
My.Computer.Network.DownloadFile("http://srki94software.webs.com/Download/Release.7z", "C:\app.zip"
End If
I na kraju, obrisacemo fajl sa preuzetom verzijom i zatvoriti StreamReader
Korak 7. Brisanje txt fajla koji je preuzet i zatvaranje konekcije citaca
citajverziju.Close()
My.Computer.FileSystem.DeleteFile("C:\verzija.txt")
Sve ovo izgleda na kraju ovako :
U sustini napravili ste azuriranje programa koje je totalno zavisno od tekst fajla na serveru tako da mozete efikasno i lako izmeniti taj txt fajl kad napravite novu verziju programa i mozete modifikovati kod po vasoj volji.
Recimo ono sto bih ja uradio mozda za moju aplikaciju jeste, ukoliko postoji nova aplikacija program je preuzme, pokrece instalaciju nove verziju i gasi sebe ili bih dodao proveru nove verzije pri svakom pokretanju programa bilo kako bilo ovaj kod je zavistan 100% od tekst fajla na host serveru i mozete da uradite sta god zelite sa njim brzo i efikasno i zaista lepo i prosto resenje kojim izbegavate razne poteskoce.
Prilozeni projekat mozete naci ovde.
Primetiti:
U ovom tutorijalu ste naucili takodje jos nesto :
Kako preuzeti fajl :
My.Computer.Network.Downloadfile ("adresa do fajla", "lokacija sacuvanja")
Citanje nekog fajla :
Dim citaj As New System.IO.StreamReader("Lokacija fajla")
Dim tekst As String = citaj.ReadLine
citaj.close
|