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()); } } } |