IT rekvalifikácia. Seniorní programátori zarábajú až 6 000 €/mesiac a rekvalifikácia je prvým krokom. Zisti, ako na to!

Unit Converter

Aplikáciám vytvorenie pre súťaž Machr na C# .NET - Viacjazyčná aplikácia. Aplikáciám je lokalizovaná do 51 svetových jazykovú pomoc Yandex Translate API. Je jednoducho rozšíriteľný o ďalšom veličiny, či jednotky. Taktiez Slúžte Ako praktická ukážka objektového prístupu k Xml súborom - LINQ to XML.

Algoritmus výpočtu

Algoritmus výpočtu je triviálnych. Funguje na takomto princípe:

výsledok = hodnota * odchýlkaVstupnejJednotky / odchýlkaVýstupnejJednotky

Príklad:

<Unit offset="0,001">mg</Unit> <!-- Vstupná jednotka -->
<Unit offset="1000">Kg</Unit> <!-- Výstupná jednotka -->
232 mg * 0,001 / 1000 = 0,000232 kg

Odchýlka (offset) je odchýlkou od základnej jednotky danej veličiny napr. 1kg = 1000g - g (gram) je v tomto prípade základná jednotka tzn. od naj sa odvodzujú vzťah k ostatným jednotkám danej veličiny.

Pridávaním veličín / jednotiek

Pridávaním veličín sa uskutočňuje v subor quantities.xml, ktory sa nachádza v zložka zo samotnú aplikáciám. Princíp Rozšírením je jednoduchý: Medzi tagy <Quantities></Quantities> pridáme nový element <Quantity>, do ktoreho vnoríme ľubovoľný počet elementov Unit (jednotka), pričom jeden z tychto elementov musí byť základná jednotka (offset="1"). Atribúty offset definuje vzťah Medzi atribútom offset základnej jednotky a ním samotným:

1 meter = 0,001 milimeter

Príklad:

<Quantity name="Length">
  <Unit offset="0,000000001">nm</Unit>
  <Unit offset="0,000001">μm</Unit>
  <Unit offset="0,001">mm</Unit>
  <Unit offset="0,01">cm</Unit>
  <Unit offset="0,1">dm</Unit>
  <Unit offset="1">m</Unit>
  <Unit offset="1000">Km</Unit>
  <Unit offset="1609,344">m(mile)</Unit>
</Quantity>

POUŽITIE Yandex Translate API

Pre preklad aplikácie je použitá prekladacími API od Spoločnosti Yandex. Túto cestu som si zvolil kvoli jednoduchosti použitím a taktiez kvoli tomu, že Microsoft Translator od Bing-u momentálne vstupuje do druhej verziám a žiadny web (ani StackOverflow : D ) Nevie presne vysvetliť Ako funguje. Pre POUŽÍVANIE tajte API je nutné získať tzv. ApiKey, ktory možno bezplatne získať na tajte adrese.

Samotné použitím je realizované cez Tried WebClient, ktora sa nachádza v .NET framework-u od verziám 4.5. Tvar Požiadavky je nasledovný:

https://translate.yandex.net/api/v1.5/tr/translate?key=ApiKey&lang=inputLanguage-outputLanguage&text=text

Príklad:

WebClient webClient = new WebClient();
    webClient.Encoding = Encoding.UTF8;
string apiKey = "trnsl.1.1.xxxxxxxxxxxxxxx.xxxxxxxxxxx.xxxxxxxxxxxxxxxxxxxxxxxxxxxx";

    string request = "https://translate.yandex.net/api/v1.5/tr/translate?key=" + apiKey + "&lang=" + inputLanguage + "-" + outputLanguage + "&text=" + text;
    XDocument = XDocument.Parse(webClient.DownloadString(request));

    var query = from x in XDocument.Element("Translation").Elements("text")
                select x.Value;

    string translatedText = query.ElementAt(0);

V kóde, ktory je na Stiahnutie sa nachádza API kľúč, ktory som použil pri vývoji tajte aplikácie. Je vám k dispozícii.


Galéria


 

Stiahnuť

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

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

 

Všetky články v sekcii
Okenné aplikácie v C # .NET WPF
Program pre vás napísal Štefan Pružinský
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
Autor je mladý programátor webových aj desktopových aplikácii. Jeho hlavné pole pôsobnosti je platforma .NET a programovací jazyk C#. Vyvíja v ňom rôzne (aj) multiplatformové aplikácie. V budúcnosti by sa chcel stať komplexným programátorom. :)
Aktivity