«

»

Lis 03

Wydrukuj to Wpis

Kalkulator jednostek ilości danych

kalkulator-jednostek-ilosci-danych

W tym artykule opisano, jak stworzyć kalkulator jednostek ilości danych. Kalkulator przelicza bit – b, Byte – B, KiloByte – KB, MegaByte – MB, GigaByte – GB, TeraByte – TB, PetaByte – PB, ExaByte – EB, ZettaByte – ZB, YottaByte – YB. Przelicza Kilo w dwóch wariantach: 1000 i 1024. Program jest napisany prostym językiem w Visual C#.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace Bit_Calculator
{
    public partial class Form1 : Form
    {
        int countItems = 10; // liczba jednostek dla for
        ListViewItem[] item = new ListViewItem[11]; //liczba jednostek dla listview
        //typy jednostek 
        string[] items = new string[]{"", "bit - b", "Byte - B", "KiloByte - KB", "MegaByte - MB",
                                        "GigaByte - GB", "TeraByte - TB", "PetaByte - PB", "ExaByte - EB", 
                                        "ZettaByte - ZB", "YottaByte - YB"}; 
        public Form1()
        {
            InitializeComponent();
 
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
            //dodaje jednostki do comboBox
            for (int i = 1; i <= countItems; i++)
            {
                comboBox1.Items.Add(items[i]);
            }
            //zabezpiecza comboBox od wpisania textu
            comboBox1.DropDownStyle = ComboBoxStyle.DropDownList;
            comboBox1.Text = items[1];
            //dodaje jednostki Kilo
            comboBox2.Items.AddRange(new object[]{1024, 1000});
            comboBox2.DropDownStyle = ComboBoxStyle.DropDownList;
            comboBox2.SelectedIndex = 0;
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            Convert_Bit(comboBox1.Text, Convert.ToDouble(numericUpDown1.Value)); //konwertuje przy naciśnięciu na button1
        }
 
      public void Convert_Bit(string TypeStr, double Quantity)
      {
          listView1.Items.Clear(); // oczysza listę
          double convert = 0; // wynik jednostek
          int Kilo = Convert.ToInt32(comboBox2.Text); //jednostka Kilo 
          byte bit = 1; 
          byte Byte = 8 ; // liczba bitów w 1B
          int KiloByte = Byte * Kilo; // liczba bitów w 1KB
          double MegaByte = Math.Pow(Kilo, 2) * Byte; // liczba bitów w 1MB
          double GigaByte = Math.Pow(Kilo, 3) * Byte; // liczba bitów w 1GB
          double TeraByte = Math.Pow(Kilo, 4) * Byte; // liczba bitów w 1TB
          double PetaByte = Math.Pow(Kilo, 5) * Byte; // liczba bitów w 1PB
          double ExaByte = Math.Pow(Kilo, 6) * Byte; // liczba bitów w 1EB
          double ZettaByte = Math.Pow(Kilo, 7) * Byte; // liczba bitów w 1ZB
          double YottaByte = Math.Pow(Kilo, 8) * Byte; // liczba bitów w 1YB
 
          double Type = 0; //wartość wybranej jednostki
          double CType = 0; // wartość konwertujących jednostek
 
          switch (TypeStr)
          {
              case "bit - b" : Type = bit; break;
              case "Byte - B": Type = Byte; break;
              case "KiloByte - KB": Type = KiloByte; break;
              case "MegaByte - MB": Type = MegaByte; break;
              case "GigaByte - GB": Type = GigaByte; break;
              case "TeraByte - TB": Type = TeraByte; break;
              case "PetaByte - PB": Type = PetaByte; break;
              case "ExaByte - EB": Type = ExaByte; break;
              case "ZettaByte - ZB": Type = ZettaByte; break;
              case "YottaByte - YB": Type = YottaByte; break;
          }
 
 
          for (int i = 1; i <= countItems; i++)
          {
              item[i] = new ListViewItem();
              item[i].Text = items[i].Remove(items[i].Length -4, 4);
              switch (i)
              {
                  case 1: CType = bit; break;
                  case 2: CType = Byte; break;
                  case 3: CType = KiloByte; break;
                  case 4: CType = MegaByte; break;
                  case 5: CType = GigaByte; break;
                  case 6: CType = TeraByte; break;
                  case 7: CType = PetaByte; break;
                  case 8: CType = ExaByte; break;
                  case 9: CType = ZettaByte; break;
                  case 10: CType = YottaByte; break;
              }
 
              convert = (Type * Quantity) / CType; // na przykład: 16bit = (Byte(8bit) * 2(Quantity)) / bit
              item[i].SubItems.Add(Convert.ToString(convert));
              listView1.Items.Add(item[i]);
          }
 
      }
    }
}

Załączniki do pobrania

Permalink do tego artykułu: http://tmall.com.pl/kalkulator-jednostek-ilosci-danych/

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Możesz użyć tych znaczników i atrybutów HTMLa: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>