Lokalisointi + muut ympäristöt - Demo 8
Näissä demotehtävissä toteutetaan monikielinen WPF-sovellus. Lisäksi sovelletaan kurssilla opittuja taitoja muihin ohjelmointikieliin ja -ympäristöihin. Näiden tehtävien palauttamisen takaraja on 29.11. klo 10:00.
Tehtävä 1
Toteuta yksinkertainen graafinen autolaskuri monikielisenä WPF-sovelluksena. Autolaskurin pitää osata laskea henkilöautoja, kuorma-autoja ja niiden yhteissumman.
Lisää ohjelmaan menu josta voit valita onko käytettävä kieli suomi vai englanti. Tieto valitusta kielestä pitää tallentaa rekisteriin tai .config-tiedostoon. Uusi valittu kieli otetaan käyttöön ohjelman seuraavalla käynnistyskerralla.
Ohjelman sisältämistä teksteistä pitää kääntää ainakin ikkunan title, painikkeiden tekstit ja kieli-menu valintoineen.. Toteuta monikielisyys resx-tiedostoja käyttäen.
Tehtävä 2
Toteuta samanlainen autolaskuri kuin edellisessä tehtävässä mutta toteuta monikielisyys LocBaml-työkalun avulla. Älä käytä resx-tiedostoja.
Tehtävä 3
Käytä seuraavaa XAML-koodia uuden WPF-ohjelman pohjana. Et saa muuttaa XAML-koodia. Ohjelmoi ohjelmaan seuraava toiminnallisuus:
- File|Open-valinnalla tai open-painikkeella aukeaa OpenFileDialog, jonka avulla voit avata tekstitiedoston muokattavaksi lomakkeella olevaan RichTextBoxiin.
- Valikoista tai painikkeista tehdyt cut-, copy- ja paste-operaatiot toimivat RichTextBoxissa.
- File|Save-valinnalla tai save-painikkeella ohjelma tallentaa aiemmin avatun tekstitiedoston päälle editoitavana olevan tekstin. Jos mitään tiedostoa ei ole avattu niin save-painike ja menuvalinta eivät ole käytettävissä.
- File|Close-valinnalla tai close-painikkeella ohjelma sulkeutuu jos mitään muutoksia ei ole tehty edellisen tallennuksen jälkeen. Ts. close-valinnat eivät ole käytettävissä jos tallennus tarvitsee tehdä. Jos mitään tiedostoa ei ole avattu niin tallennustakaan ei tarvitse tehdä. Ohjelmalla ei siis voi luoda uusia tekstitiedostoja vaan vain editoida olemassaolevia.
- Help|Help-valinta tai Help-painike avaavat messageboxin jossa kerrotaan, että avustusta ei ole vielä tehty.
<Window x:Class="demo8_teht3.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="350" Width="600"> <Grid> <DockPanel> <Menu Height="20" DockPanel.Dock="Top"> <MenuItem Header="File"> <MenuItem Header="Open" Command="ApplicationCommands.Open"/> <MenuItem Header="Save" Command="ApplicationCommands.Save"/> <MenuItem Header="Close" Command="ApplicationCommands.Close"/> </MenuItem> <MenuItem Header="Edit"> <MenuItem Header="Cut" Command="ApplicationCommands.Cut"/> <MenuItem Header="Copy" Command="ApplicationCommands.Copy"/> <MenuItem Header="Paste" Command="ApplicationCommands.Paste"/> </MenuItem> <MenuItem Header="Help"> <MenuItem Header="Help" Command="ApplicationCommands.Help"/> </MenuItem> </Menu> <StackPanel DockPanel.Dock="Bottom" Orientation="Horizontal"> <Button Command="ApplicationCommands.Cut" FocusManager.IsFocusScope="True" Height="20" HorizontalAlignment="Left" VerticalAlignment="Bottom">Cut</Button> <Button Command="ApplicationCommands.Copy" FocusManager.IsFocusScope="True" Height="20" HorizontalAlignment="Left" VerticalAlignment="Bottom">Copy</Button> <Button Command="ApplicationCommands.Paste" FocusManager.IsFocusScope="True" Height="20" HorizontalAlignment="Left" VerticalAlignment="Bottom">Paste</Button> <Button Command="ApplicationCommands.Open" FocusManager.IsFocusScope="True" Height="20" HorizontalAlignment="Left" VerticalAlignment="Bottom">Open</Button> <Button Command="ApplicationCommands.Save" FocusManager.IsFocusScope="True" Height="20" HorizontalAlignment="Left" VerticalAlignment="Bottom">Save</Button> <Button Command="ApplicationCommands.Close" FocusManager.IsFocusScope="True" Height="20" HorizontalAlignment="Left" VerticalAlignment="Bottom">Close</Button> <Button Command="ApplicationCommands.Help" FocusManager.IsFocusScope="True" Height="20" HorizontalAlignment="Left" VerticalAlignment="Bottom">Help</Button> </StackPanel> <RichTextBox x:Name="teksti" DockPanel.Dock="Bottom"></RichTextBox> </DockPanel> </Grid> </Window>
Tehtävä 4
Toteuta yksinkertainen graafinen autolaskuri Java-kielellä joko applettina tai muuna Java-sovelluksena. Autolaskurin pitää osata laskea henkilöautoja, kuorma-autoja ja niiden yhteissumman. Laskurissa pitää olla myös edestakaisin liikkuva auto.
Tehtävä 5
Toteuta yksinkertainen graafinen autolaskuri QT Quickia käyttäen. Autolaskurin pitää osata laskea henkilöautoja, kuorma-autoja ja niiden yhteissumman. Laskurissa pitää olla myös edestakaisin liikkuva auto.
Tehtävä 6 (Bonustehtävä +20%)
Toteuta yksinkertainen (kolmiulotteinen?) autolaskuri Blendelfiä käyttäen. Autolaskurin pitää osata laskea henkilöautoja, kuorma-autoja ja niiden yhteissumman. Laskurissa pitää olla myös edestakaisin liikkuva auto.
Käyttäjien kommentit