Program generujący alfanumeryczne kody kreskowe 3z9, w dwóch formatach podanego ciągu znaków przez użytkownika.

W programie należy wpisać tekst do pola tekstowego, który chcemy przekonwertować na kod kreskowy. Następnie klikamy generuj. Aby wyczyścić Pole z kreskami należy kliknąć Wyczyść.

Zawartość pliku Form1.cs.

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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
using System;
using System.Drawing;
using System.Windows.Forms;
using System.Drawing.Drawing2D;

namespace Kody_3z9
{
    public partial class Form1 : Form
    {
        int x, y, endX, endY; //deklaracja zmiennych przechowujących współrzędne początka i końca lini
        bool flaga = true; //zmienna typu logicznego przechowująca dane o niedozwolonych znakach
        byte format; //przechowuje format użytego kodowania

        public Form1()
        {
            x = 10; //początek rysowania linii
            y = 10; //początek rysowania linii
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            this.Close(); //zamykanie aplikacji
        }

        private void button2_Click(object sender, EventArgs e)
        {
            string tekst = textBox1.Text; //pobieraniu tekstu do zakodowania z obiektu textBox1
            if (tekst =="") //sprawdzanie czy użytkownik wprowadził jakiekolwiek znaki
            {
                MessageBox.Show("Nie wprowadzono żadnych znaków!");
                return; //kończenie działania funkcji
            };
            tekst = tekst.ToUpper(); //powiększanie linter
            tekst = "*" + tekst + "*"; //dodawania znaku start i stop do tekstu
           
            if (radioButton1.Checked == true) //sprawdzanie który format kodowania wybrał użytkownik
            {
                format = 1;
            }
            else
            {
                format = 2;
            };

            for (int i = 0; i <= tekst.Length - 1; i++) //wykonuje się tyle razy ile znaków ma tekst
            {
                wysylanie(Convert.ToString(tekst[i])); //wysyłanie pojedynczych znaków do metody wysyłanie
                if (flaga) //sprawdzanie czy program pominął jakiś znak
                {
                    MessageBox.Show("Wprowadzono nieobsługiwany znak! Znak został pominięty w kodowaniu!");
                };
                flaga = true;
            }
        }

        private void wysylanie (string litera)
        {
            string help; //deklaracja zmiennej pomocniczej
            Format1 dane = new Format1(); //tworzenie klasy przechowującej dane kodowania
            for (int i = 0; i <= 43; i++) //przeszukiwanie tablicy i odnajdowania znaków
            {
                if (litera == dane.fo1[0, i]) //jeżeli znaleziono znak
                {
                    flaga = false; //informuje że znaleziono znak
                    help = dane.fo1[format, i]; //pobieranie z tablicy informacji kodowania znaku
                    for (int j=0; j <= 9; j++)
                    {
                        dodajLinie(Convert.ToString(help[j])); //wysyłanie po kolei każdej informacji o linii
                    }
                    break; //kończenie działania pętli for
                };
            }
        }

        void dodajLinie(string znak) //znak - określa rodzaj linii
        {
            Color kolor; //zmienna przechowująca kolor linii
            int grubosc = 0; //przechowuje grubość rysowanych linii
         
           
            if (format == 2) //jeżeli użytkownik zastosował format2
            {
                switch(znak)
                {
                    case "B": //Zamienianie znaków kodowania na format2
                        znak = "W";
                        break;
                    case "b":
                        znak = "N";
                        break;
                    case "W":
                        znak = "w";
                        break;
                    case "w":
                        znak = "n";
                        break;
                }
            };

            if ((znak == "W") || (znak == "w")) //określanie jakiej grubości ma być narysowana linia
            {
                grubosc = 3;
            }
            else
            {
                grubosc = 1;
            };

            if ((znak == "w") || (znak == "n")) //określanie koloru rysowanej linii
            {
                kolor = Color.White;
            }
            else
            {
                kolor = Color.Black;
            };

            x = x + grubosc; //określanie przesunięcia w prawo
           
            endY = y + 60; //wysokość
            endX = x; //określanie współrzędnej końca linii
               
            Graphics p = panel1.CreateGraphics(); //tworzenie zmiennej Graphics przechowującej dane gdzie mają znaleść się rysowane linie
            Rectangle o = new Rectangle(12, 12, 383, 100); //tworzenie zmiennej Rectangle i ustalanie obszaru rysowania
            PaintEventArgs a = new PaintEventArgs(p, o); //tworzenie zdarzenia rysowania

            GraphicsPath linia = new GraphicsPath(); //tworzenie zmiennej GraphicsPath
            linia.AddLine(x, y, endX, endY); //dodawanie linii o określonych współrzędnych
               
            Pen myPen = new Pen(kolor, grubosc); //tworzenie zmiennej Pen która określa kolor i grubość lini
            a.Graphics.DrawPath(myPen, linia); //rysowanie linie

        }

        private void button3_Click(object sender, EventArgs e)
        {
            panel1.Invalidate(); //usuwanie linii z obiektu panel1
            x = 10; //ustawienie początkowych współrzędnych rysowania linii
            y = 10;
        }  
    }
}

Zawartość pliku Format1.cs (plik ten zawiera utworzoną przeze mnie klasę).

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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
using System;

namespace Kody_3z9
{
    public class Format1
    {
        public string[,] fo1 = new string [3,44]; //tablica przechowująca dane kodowania
       
        public Format1()
        {
            // dostępne znaki
            fo1[0, 0] = "0";
            fo1[0, 1] = "1";
            fo1[0, 2] = "2";
            fo1[0, 3] = "3";
            fo1[0, 4] = "4";
            fo1[0, 5] = "5";
            fo1[0, 6] = "6";
            fo1[0, 7] = "7";
            fo1[0, 8] = "8";
            fo1[0, 9] = "9";
            fo1[0, 10] = "A";
            fo1[0, 11] = "B";
            fo1[0, 12] = "C";
            fo1[0, 13] = "D";
            fo1[0, 14] = "E";
            fo1[0, 15] = "F";
            fo1[0, 16] = "G";
            fo1[0, 17] = "H";
            fo1[0, 18] = "I";
            fo1[0, 19] = "J";
            fo1[0, 20] = "K";
            fo1[0, 21] = "L";
            fo1[0, 22] = "M";
            fo1[0, 23] = "N";
            fo1[0, 24] = "O";
            fo1[0, 25] = "P";
            fo1[0, 26] = "Q";
            fo1[0, 27] = "R";
            fo1[0, 28] = "S";
            fo1[0, 29] = "T";
            fo1[0, 30] = "U";
            fo1[0, 31] = "V";
            fo1[0, 32] = "W";
            fo1[0, 33] = "X";
            fo1[0, 34] = "Y";
            fo1[0, 35] = "Z";
            fo1[0, 36] = "-";
            fo1[0, 37] = ".";
            fo1[0, 38] = " ";
            fo1[0, 39] = "$";
            fo1[0, 40] = "/";
            fo1[0, 41] = "+";
            fo1[0, 42] = "%";
            fo1[0, 43] = "*";

            //dodwanie formatu1
            fo1[1, 0] = "NnNwWnWnNn";
            fo1[1, 1] = "WnNwNnNnWn";
            fo1[1, 2] = "NnWwNnNnWn";
            fo1[1, 3] = "WnWwNnNnNn";
            fo1[1, 4] = "NnNwWnNnWn";
            fo1[1, 5] = "WnNwWnNnNn";
            fo1[1, 6] = "NnWwWnNnNn";
            fo1[1, 7] = "NnNwNnWnWn";
            fo1[1, 8] = "WnNwNnWnNn";
            fo1[1, 9] = "NnWwNnWnNn";
            fo1[1, 10] = "WnNnNwNnWn";
            fo1[1, 11] = "NnWnNwNnWn";
            fo1[1, 12] = "WnWnNwNnNn";
            fo1[1, 13] = "NnNnWwNnWn";
            fo1[1, 14] = "WnNnWwNnNn";
            fo1[1, 15] = "NnWnWwNnNn";
            fo1[1, 16] = "NnNnNwWnWn";
            fo1[1, 17] = "WnNnNwWnNn";
            fo1[1, 18] = "NnWnNwWnNn";
            fo1[1, 19] = "NnNnWwWnNn";
            fo1[1, 20] = "WnNnNnNwWn";
            fo1[1, 21] = "NnWnNnNwWn";
            fo1[1, 22] = "WnWnNnNwNn";
            fo1[1, 23] = "NnNnWnNwWn";
            fo1[1, 24] = "WnNnWnNwNn";
            fo1[1, 25] = "NnWnWnNwNn";
            fo1[1, 26] = "NnNnNnWwWn";
            fo1[1, 27] = "WnNnNnWwNn";
            fo1[1, 28] = "NnWnNnWwNn";
            fo1[1, 29] = "NnNnWnWwNn";
            fo1[1, 30] = "WwNnNnNnWn";
            fo1[1, 31] = "NwWnNnNnWn";
            fo1[1, 32] = "WwWnNnNnNn";
            fo1[1, 33] = "NwNnWnNnWn";
            fo1[1, 34] = "WwNnWnNnNn";
            fo1[1, 35] = "NwWnWnNnNn";
            fo1[1, 36] = "NwNnNnWnWn";
            fo1[1, 37] = "WwNnNnWnNn";
            fo1[1, 38] = "NwWnNnWnNn";
            fo1[1, 39] = "NwNwNwNnNn";
            fo1[1, 40] = "NwNwNnNwNn";
            fo1[1, 41] = "NwNnNwNwNn";
            fo1[1, 42] = "NnNwNwNwNn";
            fo1[1, 43] = "NwNnWnWnNn";

            //dodwanie formatu2
            fo1[2, 0] = "bwbWBwBwbw";
            fo1[2, 1] = "BwbWbwbwBw";
            fo1[2, 2] = "bwBWbwbwBw";
            fo1[2, 3] = "BwBWbwbwbw";
            fo1[2, 4] = "bwbWBwbwBw";
            fo1[2, 5] = "BwbWBwbwbw";
            fo1[2, 6] = "bwBWBwbwbw";
            fo1[2, 7] = "bwbWbwBwBw";
            fo1[2, 8] = "BwbWbwBwbw";
            fo1[2, 9] = "bwBWbwBwbw";
            fo1[2, 10] = "BwbwbWbwBw";
            fo1[2, 11] = "bwBwbWbwBw";
            fo1[2, 12] = "BwBwbWbwbw";
            fo1[2, 13] = "bwbwBWbwBw";
            fo1[2, 14] = "BwbwBWbwbw";
            fo1[2, 15] = "bwBwBWbwbw";
            fo1[2, 16] = "bwbwbWBwBw";
            fo1[2, 17] = "BwbwbWBwbw";
            fo1[2, 18] = "bwBwbWBwbw";
            fo1[2, 19] = "bwbwBWBwbw";
            fo1[2, 20] = "BwbwbwbWBw";
            fo1[2, 21] = "bwBwbwbWBw";
            fo1[2, 22] = "BwBwbwbWbw";
            fo1[2, 23] = "bwbwBwbWBw";
            fo1[2, 24] = "BwbwBwbWbw";
            fo1[2, 25] = "bwBwBwbWbw";
            fo1[2, 26] = "bwbwbwBWBw";
            fo1[2, 27] = "BwbwbwBWbw";
            fo1[2, 28] = "bwBwbwBWbw";
            fo1[2, 29] = "bwbwBwBWbw";
            fo1[2, 30] = "BWbwbwbwBw";
            fo1[2, 31] = "bWBwbwbwBw";
            fo1[2, 32] = "BWBwbwbwbw";
            fo1[2, 33] = "bWbwBwbwBw";
            fo1[2, 34] = "BWbwBwbwbw";
            fo1[2, 35] = "bWBwBwbwbw";
            fo1[2, 36] = "bWbwbwBwBw";
            fo1[2, 37] = "BWbwbwBwbw";
            fo1[2, 38] = "bWBwbwBwbw";
            fo1[2, 39] = "bWbWbWbwbw";
            fo1[2, 40] = "bWbWbwbWbw";
            fo1[2, 41] = "bWbwbWbWbw";
            fo1[2, 42] = "bwbWbWbWbw";
            fo1[2, 43] = "bWbwBwBwbw";
        }
    }
}

Zawartość pliku Form1.Designer.cs, ten plik został wygenerowany automatycznie.

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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
namespace Kody_3z9
{
    partial class Form1
    {
        /// <summary>
        /// Required designer variable.
        /// </summary>
        private System.ComponentModel.IContainer components = null;

        /// <summary>
        /// Clean up any resources being used.
        /// </summary>
        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }

        #region Windows Form Designer generated code

        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
            this.groupBox1 = new System.Windows.Forms.GroupBox();
            this.radioButton2 = new System.Windows.Forms.RadioButton();
            this.radioButton1 = new System.Windows.Forms.RadioButton();
            this.textBox1 = new System.Windows.Forms.TextBox();
            this.button1 = new System.Windows.Forms.Button();
            this.button2 = new System.Windows.Forms.Button();
            this.panel1 = new System.Windows.Forms.Panel();
            this.button3 = new System.Windows.Forms.Button();
            this.groupBox1.SuspendLayout();
            this.SuspendLayout();
            //
            // groupBox1
            //
            this.groupBox1.Controls.Add(this.radioButton2);
            this.groupBox1.Controls.Add(this.radioButton1);
            this.groupBox1.Location = new System.Drawing.Point(218, 118);
            this.groupBox1.Name = "groupBox1";
            this.groupBox1.Size = new System.Drawing.Size(177, 49);
            this.groupBox1.TabIndex = 1;
            this.groupBox1.TabStop = false;
            this.groupBox1.Text = "Format";
            //
            // radioButton2
            //
            this.radioButton2.AutoSize = true;
            this.radioButton2.Location = new System.Drawing.Point(105, 19);
            this.radioButton2.Name = "radioButton2";
            this.radioButton2.Size = new System.Drawing.Size(66, 17);
            this.radioButton2.TabIndex = 1;
            this.radioButton2.Text = "Format 2";
            this.radioButton2.UseVisualStyleBackColor = true;
            //
            // radioButton1
            //
            this.radioButton1.AutoSize = true;
            this.radioButton1.Checked = true;
            this.radioButton1.Location = new System.Drawing.Point(6, 19);
            this.radioButton1.Name = "radioButton1";
            this.radioButton1.Size = new System.Drawing.Size(66, 17);
            this.radioButton1.TabIndex = 0;
            this.radioButton1.TabStop = true;
            this.radioButton1.Text = "Format 1";
            this.radioButton1.UseVisualStyleBackColor = true;
            //
            // textBox1
            //
            this.textBox1.Location = new System.Drawing.Point(12, 118);
            this.textBox1.MaxLength = 20;
            this.textBox1.Name = "textBox1";
            this.textBox1.Size = new System.Drawing.Size(200, 20);
            this.textBox1.TabIndex = 2;
            //
            // button1
            //
            this.button1.Location = new System.Drawing.Point(150, 144);
            this.button1.Name = "button1";
            this.button1.Size = new System.Drawing.Size(62, 23);
            this.button1.TabIndex = 3;
            this.button1.Text = "Zamknij";
            this.button1.UseVisualStyleBackColor = true;
            this.button1.Click += new System.EventHandler(this.button1_Click);
            //
            // button2
            //
            this.button2.Location = new System.Drawing.Point(12, 144);
            this.button2.Name = "button2";
            this.button2.Size = new System.Drawing.Size(62, 23);
            this.button2.TabIndex = 4;
            this.button2.Text = "Generuj";
            this.button2.UseVisualStyleBackColor = true;
            this.button2.Click += new System.EventHandler(this.button2_Click);
            //
            // panel1
            //
            this.panel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
            | System.Windows.Forms.AnchorStyles.Right)));
            this.panel1.BackColor = System.Drawing.Color.White;
            this.panel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
            this.panel1.Location = new System.Drawing.Point(12, 12);
            this.panel1.Name = "panel1";
            this.panel1.Size = new System.Drawing.Size(383, 100);
            this.panel1.TabIndex = 5;
            //
            // button3
            //
            this.button3.Location = new System.Drawing.Point(80, 144);
            this.button3.Name = "button3";
            this.button3.Size = new System.Drawing.Size(64, 23);
            this.button3.TabIndex = 6;
            this.button3.Text = "Wyczyść";
            this.button3.UseVisualStyleBackColor = true;
            this.button3.Click += new System.EventHandler(this.button3_Click);
            //
            // Form1
            //
            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(407, 177);
            this.Controls.Add(this.button3);
            this.Controls.Add(this.panel1);
            this.Controls.Add(this.button2);
            this.Controls.Add(this.button1);
            this.Controls.Add(this.textBox1);
            this.Controls.Add(this.groupBox1);
            this.Name = "Form1";
            this.Text = "Kody 3z9";
            this.groupBox1.ResumeLayout(false);
            this.groupBox1.PerformLayout();
            this.ResumeLayout(false);
            this.PerformLayout();

        }

        #endregion

        private System.Windows.Forms.GroupBox groupBox1;
        private System.Windows.Forms.RadioButton radioButton2;
        private System.Windows.Forms.RadioButton radioButton1;
        private System.Windows.Forms.TextBox textBox1;
        private System.Windows.Forms.Button button1;
        private System.Windows.Forms.Button button2;
        private System.Windows.Forms.Panel panel1;
        private System.Windows.Forms.Button button3;
    }
}

Zawartość pliku Program.cs, również on został wygenerowany automatycznie.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
using System;
using System.Windows.Forms;

namespace Kody_3z9
{
    static class Program
    {
        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());
        }
    }
}