XAML - Windows Mağaza Uygulaması- Faiz Hesaplama

Merhaba arkadaşlar son yazımdan sonra biraz vakit geçmiş. Bu aralar bilgisayarım serviste olduğundan program yazmak yada bir şeyler paylaşmak adına isteksizdim. Şuan Kullandığım SONY VAIO kendi makineme (Lenovo Y500 Sli) göre biraz hantal kalıyor bundan dolayı bir şeyler paylaşmak yada yapmak pek eğlenceli gelmiyor.

 BDH Bilişim Adlı Şirket bir türlü bilgisayarımın parçasını yurt dışından getiremediğinden işkence çekiyorum resmen. (Sakın ha sakın BDH a göndermeyin bilgisayarlarınızı gidiyorsa gelmiyor bir türlü ve bilgi dahi alamıyorsunuz. Yine sinirlendim ya)

 Neyse konuya gelelim. Bazı arkadaşlarımın Windows Mağaza Uygulaması yazdırtma çabaları bugün itibariyle son buldu :)

 Birazdan paylaşacağım Uygulama Windows Mağaza Uygulamasıdır. XAML dilinde yazılmıştır aslında codebehind da C# kullanılmıştır. Bende XAML de çok yeniyim hatta 1-2 saat oldu diyebilirim bu işe girmem.

Bknz. Wiki Amca

Neyse Program Faiz Hesaplama Programı. Ama burada tek sinir olduğum konu UI ye atmış olduğunuz Textbox ve diğer controller için codebehind da sorun yaşıyorsunuz. VS2010-2013 kullananlar bilirler kod yazarken ne kadar kısayol kullanırsak o kadar yazma hızımız artıyor. Ancak burada bunu kullanmak biraz zor oluyor autocomplete olayı başarılı değil bazı kısımlarda ise çok yavaş çalışıyor. Yinede başlangıç seviyesi kullanıcılar için yeterli diye düşünüyorum. Yinede bu konuda geliştirme yapılmalıdır bence.

 Öncelikle New-Project kısmından Visual C# BLANK APP(XAML) seçeneğini seçiyoruz ve karşımıza bomboş bir ekran geliyor.
Toolboxtan 3 tane textbox atıyoruz 1 tane slider alıyoruz 1 tane de button ve 2 tane textblock ekliyoruz.
Bizim Label olarak bildiğimiz controller burada textblock adını almış.
Ayrıca normal form app ve web app larda otomatik name yada id veren Visual Studio burada tek tek bizim vermemizi istiyor buma dikkat etmelisiniz.

 slider-> vade ay belirlemek için kullanıyoruz.Properties kısmından max value değerini yükseltmenizde fayda var.
textboxlar sırasıyla kredi tutarı , faiz oranı, vade şeklinde kullanılacak

burada vade için hem textbox hemde slider kullandım bunları onchange ile birbirine bağladım.
sonrasında normal faiz işlemleri için c# kodlarını yazdım.
Bu arada Açarken Win8.1 için yazıldı 8 de çalışır mı bilmiyorum :)
Ayrıca Eğer Ben Askere gitmeden PC servisten gelirse sizlerle daha fazla bilgi paylaşacağım.
Şimdilik bu kadar...

Buradan indirebilirsiniz...

XAML kodları

<Page
    x:Class="MortgageHesaplama.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:MortgageHesaplama"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d">

    <Grid Background="#FF5D0259">
        <TextBox x:Name="Tutar" HorizontalAlignment="Left" Margin="487,203,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="286" PlaceholderText="Çekilecek Tutar"/>
        <TextBox x:Name="faiz" HorizontalAlignment="Left" Margin="487,254,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="286" PlaceholderText="Faiz oranı"/>
        <Slider x:Name="ayvade" HorizontalAlignment="Left" Margin="487,355,0,0" VerticalAlignment="Top" Width="286" Maximum="240" LargeChange="5" RequestedTheme="Light" Foreground="#FF17B490" ValueChanged="ayvade_ValueChanged"/>
        <TextBox x:Name="aysayisi" HorizontalAlignment="Left" Margin="487,313,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="286" PlaceholderText="0"/>
        <Button x:Name="Hesapla" Content="Hesapla" HorizontalAlignment="Left" Margin="484,412,0,0" VerticalAlignment="Top" Width="292" Click="Hesapla_Click"/>
        <TextBlock x:Name="toplam" HorizontalAlignment="Left" Margin="452,484,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Height= "19" Width="330" FontSize="16"/>
        <TextBlock x:Name="toplamtut" HorizontalAlignment="Left" Margin="452,508,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Height="19" Width="330" FontSize="16"/>

    </Grid>
</Page>


C# Kodları


using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Runtime.InteropServices.WindowsRuntime;
using Windows.Foundation;
using Windows.Foundation.Collections;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Controls.Primitives;
using Windows.UI.Xaml.Data;
using Windows.UI.Xaml.Input;
using Windows.UI.Xaml.Media;
using Windows.UI.Xaml.Navigation;

// The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=234238

namespace MortgageHesaplama
{
    /// <summary>
    /// An empty page that can be used on its own or navigated to within a Frame.
    /// </summary>
    public sealed partial class MainPage : Page
    {
        public MainPage()
        {
            this.InitializeComponent();
        }

        private void ayvade_ValueChanged(object sender, RangeBaseValueChangedEventArgs e)
        {
            aysayisi.Text =Convert.ToString(ayvade.Value);
        }

        private void Hesapla_Click(object sender, RoutedEventArgs e)
        {
         
         int anapara=   Convert.ToInt32(Tutar.Text);
         string faizcevrilmis = faiz.Text;
         faizcevrilmis = faizcevrilmis.Replace(",", ".");
         double faizorani = Convert.ToDouble(   faizcevrilmis);
         int ay = Convert.ToInt32(aysayisi.Text);
         double aylik = hesapla(anapara, faizorani, ay);
         double toplamodenecek = aylik * ay;
         toplam.Text = "Aylık Ödemeniz     : " + Convert.ToString(aylik) + " TL ";
         toplamtut.Text = "Toplam Ödemeniz : " + Convert.ToString(toplamodenecek) + " TL ";

        }

        double hesapla(int a,double  f, int s)
        {
           
          
            double ustkisim = a * (f / 100);
            double altkisim = 1 - (1 / (Math.Pow((1 + f / 100), s)));
            double sonuc = ustkisim / altkisim;
         
return sonuc;
        }

    }
}







Yorumlar