Görsel Programlama (Güz-2016) Hafta-11-1

 

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;

namespace ornek1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            curun.Text = "Seçiniz";
        }

        private void bekle_Click(object sender, EventArgs e)
        {
            int secilen = curun.SelectedIndex;
            int miktar;
            bool k = Int32.TryParse(tmiktar.Text, out miktar);

            if (k && secilen > -1)
            {
                // (double)cfiyat.Items[secilen]: bu bilgi curun ile es zamanli kaydedildi siralari ayni
                double tutar = miktar * (double) cfiyat.Items[secilen];
                lurun.Items.Add(curun.Text);
                lmiktar.Items.Add(miktar);
                ltutar.Items.Add(tutar);
                curun.Text = "Seçiniz";
                tmiktar.Clear();
            }
        }

        private void bdyaz_Click(object sender, EventArgs e)
        {
            string yazilacak = "";

            for (int i = 0; i < lurun.Items.Count; i++)
                yazilacak += lurun.Items[i] + ";" + lmiktar.Items[i] + ";" + ltutar.Items[i]+"\n";
           
            try
            {
                File.WriteAllText("fatura.txt",yazilacak);
                MessageBox.Show("Dosya Yazıldı");
            }
            catch (Exception ex)
            {
                MessageBox.Show("Dosya Yazılamadı");
            }


        }

        ComboBox cfiyat = new ComboBox(); // fiyatlari tutan degisken

        private void btanimla_Click(object sender, EventArgs e)
        {
            ftanimla frm = new ftanimla(curun,cfiyat);
            frm.ShowDialog();
        }
    }
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;

namespace ornek1
{
    public partial class ftanimla : Form
    {
        ComboBox curun, cfiyat;
        public ftanimla(ComboBox _curun, ComboBox _cfiyat)
        {
            InitializeComponent();
            // yerel degiskenleri diger fonksiyonlarda kullanabilmek icin globallestirdik
            curun = _curun;
            cfiyat = _cfiyat;

            //onceki degerleri form1 den alip listeye yukledik
            for (int i = 0; i < curun.Items.Count; i++)
            {
                lurun.Items.Add(curun.Items[i]);
                lfiyat.Items.Add(cfiyat.Items[i]);
            }

        }

        private void bekle_Click(object sender, EventArgs e)
        {
            double fiyat;
            bool k = double.TryParse(tfiyat.Text, out fiyat);

            if (k && turun.Text.Length > 0)
            {
                lurun.Items.Add(turun.Text);
                lfiyat.Items.Add(fiyat);

                // form1 den gelen degiskenler
                curun.Items.Add(turun.Text);
                cfiyat.Items.Add(fiyat);

                // bilgi girisi yapilan alanlar temizlendi
                turun.Clear();
                tfiyat.Clear();
            }


        }

        private void bduzenle_Click(object sender, EventArgs e)
        {
            int secilen = lurun.SelectedIndex;

            double fiyat;
            bool k = double.TryParse(tfiyat.Text, out fiyat);
            if (k && secilen > -1 && turun.Text.Length>0)
            {
                // listedeki secili eleman guncellendi
                lurun.Items[secilen] = turun.Text;
                lfiyat.Items[secilen] = fiyat;
                // form 1 degiskenlerini guncelledik
                curun.Items[secilen] = turun.Text;
                cfiyat.Items[secilen] = fiyat;

                // bilgi girisi yapilan alanlar temizlendi
                turun.Clear();
                tfiyat.Clear();
            }
        }

        private void bdoku_Click(object sender, EventArgs e)
        {
            try
            {
                string[] veriler = File.ReadAllLines("urunler.txt");

                string[] ayrac={";"};

                lurun.Items.Clear();
                lfiyat.Items.Clear();
                curun.Items.Clear();
                cfiyat.Items.Clear();

                for (int i = 0; i < veriler.Length; i++)
                {
                    string[] veri = veriler[i].Split(ayrac, StringSplitOptions.None);
                    if (veri.Length == 2)
                    { 
                        double fiyat;
                        bool k = double.TryParse(veri[1], out fiyat);

                        if (k && veri[0].Length > 0)
                        {
                            lurun.Items.Add(veri[0]);
                            lfiyat.Items.Add(fiyat);
                            curun.Items.Add(veri[0]);
                            cfiyat.Items.Add(fiyat);
                        }

                    }
                }
                curun.Text = "Seçiniz";
                //cfiyat formda zaten gosterilmiyor, o yuzden text bilgisi degistirilmedi
                MessageBox.Show("Dosya Okundu!");
            }
            catch (Exception ex)
            {
                MessageBox.Show("Dosya Okunamadı!");
            }
        }

        private void bdyaz_Click(object sender, EventArgs e)
        {
            string yazilacak = "";

            for (int i = 0; i < lurun.Items.Count; i++)
                yazilacak += lurun.Items[i] + ";" + lfiyat.Items[i] + "\n";

            try
            {
                File.WriteAllText("urunler.txt",yazilacak);
                MessageBox.Show("Dosya Yazıldı!");
            }
            catch (Exception ex)
            {
                MessageBox.Show("Dosya Yazılamadı!");
            }

        }
    }
}

GP (Güz-2016) Hafta-11/1

Share