IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Automatická kontrola aktualizácií programu v C #

Ak máte vlastný program a riešite problém s aktualizáciami - ako upozorniť užívateľa na novú verziu programu - Čítajte ďalej a dozviete sa ako na to.

Jasne, môžete si nastaviť napevno dátum a potom byť nútení do onoho súdneho dňa vydať novú verziu, ale je tu aj jednoduchšie spôsob -> zautomatizovanie.

Najskôr si načítame aktuálnu verziu (informácie z Assembly -> Version)

Assembly.GetE­xecutingAssem­bly (). GetName (). Version -> týmto dostaneme niečo také 1.0.0.0 -> formát Major, Minor, Build, Revision, ale my by sme radšej niečo také -> 1.0 Useknite zvyšok pomocou toString (2)

Celý kód potom bude vyzerať takto:
Pozn .: CultureInfo udáva informáciu o decimálnom separátora (jednoducho čiarke) či bude "." alebo "," InvariantCulture je štandard -> "." inak je v základe podľa systémového nastavenia (v češtine) ","

using System.Reflection;//pro používání informací z assemblyinfo
using System.Globalization;//pro culture info

double CurrentVersion = double.Parse(Assembly.GetExecutingAssembly().GetName().Version.ToString(2), CultureInfo.InvariantCulture);

Potom si naparsujeme súbor, v ktorom budú dva riadky -> 1-> verzia; 2-> link (pre presmerovanie na súbor)

using System.Net;//pro načtení obsahu souboru z internetu
using System.IO;//pro stream reader

WebRequest request = WebRequest.Create("http://www.itnetwork.cz/scripts/programs_version.php?uniqid=xxxxx");
WebResponse response = request.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream());

Php súbor vyzerá takto:
Pozn .: stačí uložiť textový súbor o dvoch riadkoch php použite ak tieto informácie ukladáte do databázy

<?php
require_once('mysql.php');
$query = mysql_query('SELECT name, version FROM table WHERE application = "ClockWork" LIMIT 1') or die(mysql_error());
$data = mysql_fetch_assoc($query);

echo(
    $data['version'] . "\nhttp://www.itnetwork.cz/" . $data['name']
);
?>

Naparsujeme si ony dva riadky.

using System.Globalization;//pro cultureinfo

double NewestVersion = double.Parse(reader.ReadLine(), CultureInfo.InvariantCulture);//první řádka je verze
string Link = reader.ReadLine();//druhá řádka je link

A hodíme tam jednoduchú dopytovací podmienku.

using System.Diagnostics;//pro process.start

if (NewestVersion > CurrentVersion)
{
    if (MessageBox.Show("Ke stažení je dostupná nová verze programu! ("+ NewestVersion.ToString() +")\nPřejete si ji stáhnout?", "Je dostupná aktualizace", MessageBoxButtons.YesNo) == System.Windows.Forms.DialogResult.Yes)
        Process.Start(Link);
}
else
    MessageBox.Show("Používáte poslední verzi!", "Aktualizace nenalezena");

Na stiahnutie prikladám zdrojový kód ukážky sa skompilovanými výsledkom.

Ste redaktorom na ITnetwork?

Potom môžete využiť nasledujúceho odkazu:

http://www.itnetwork.cz/smallapps/programs_version.php?uniqid=

Kde za rovná sa dosadíte uniqid vášho programu / hry, ktorý nájdete v administračnej sekcii v editácii článku hneď na začiatku.
Výstupom je verzia softvér, tak ako je ukázaná v článku -> verzia \ nodkaz


 

Stiahnuť

Stiahnutím nasledujúceho súboru súhlasíš s licenčnými podmienkami

Stiahnuté 489x (41.76 kB)
Aplikácia je vrátane zdrojových kódov v jazyku C#

 

Všetky články v sekcii
C # - Pre pokročilých
Článok pre vás napísal David Jančík
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
Autor je vášnivý programátor. Nezná slovo "nelze", nebojí se zkoušet nepoznané a pronikat do nových technologií.
Aktivity