Advertisement
programusy

szyfrcezara:MainWindow.xaml.cs

Mar 9th, 2023
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.82 KB | None | 0 0
  1. using Microsoft.Win32;
  2. using System;
  3. using System.Collections;
  4. using System.Collections.Generic;
  5. using System.IO;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows;
  10. using System.Windows.Controls;
  11. using System.Windows.Data;
  12. using System.Windows.Documents;
  13. using System.Windows.Input;
  14. using System.Windows.Media;
  15. using System.Windows.Media.Imaging;
  16. using System.Windows.Navigation;
  17. using System.Windows.Shapes;
  18.  
  19. namespace szyfrcezara
  20. {
  21.     /// <summary>
  22.     /// Interaction logic for MainWindow.xaml
  23.     /// </summary>
  24.     public partial class MainWindow : Window
  25.     {
  26.         public MainWindow()
  27.         {
  28.             InitializeComponent();
  29.         }
  30.  
  31.         Queue arrayToCode = new Queue();
  32.  
  33.         char[] abecadlo = { 'A', 'B', 'C', 'D' ,'E' ,'F' ,'G' ,'H' ,'I' ,'J' ,'K' ,'L' ,'M' ,'N' ,'O' ,'P' ,'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'};
  34.         int klucz = 3;
  35.  
  36.         private void wczytaj_Click(object sender, RoutedEventArgs e)
  37.         {
  38.             OpenFileDialog dialog = new OpenFileDialog();
  39.             if (dialog.ShowDialog() == true)
  40.             {
  41.                 input.Text = File.ReadAllText(dialog.FileName);
  42.             }
  43.         }
  44.  
  45.         private void zapisz_Click(object sender, RoutedEventArgs e)
  46.         {
  47.             string fileText = input.Text;
  48.  
  49.             SaveFileDialog dialog = new SaveFileDialog()
  50.             {
  51.                 Filter = "Text Files(*.txt)|*.txt|All(*.*)|*"
  52.             };
  53.  
  54.             if (dialog.ShowDialog() == true)
  55.             {
  56.                 File.WriteAllText(dialog.FileName, fileText);
  57.             }
  58.         }
  59.  
  60.         private void zakoduj_Click(object sender, RoutedEventArgs e)
  61.         {
  62.             output.Text = "";
  63.             string codedString = "";
  64.             foreach (char letter in input.Text.ToUpper())
  65.             {
  66.                 if(letter != ' ')
  67.                 {
  68.                     arrayToCode.Enqueue(letter);
  69.                 }
  70.             }
  71.  
  72.             foreach (char letter in arrayToCode)
  73.             {
  74.                 //output.Text += Array.IndexOf(abecadlo, letter);
  75.                 int x = Array.IndexOf(abecadlo, letter);
  76.                 if (letter != '_')
  77.                 {
  78.                     if (x <= 25 - klucz)
  79.                     {
  80.                         codedString += abecadlo[x + klucz];
  81.                     }
  82.                     else
  83.                     {
  84.                         codedString += abecadlo[(x + 3) % 26];
  85.                     }
  86.                 }
  87.  
  88.                 else
  89.                 {
  90.                     codedString += "_";
  91.                 }
  92.             }
  93.             output.Text = codedString;
  94.             arrayToCode.Clear();
  95.         }
  96.  
  97.         private void dekoduj_Click(object sender, RoutedEventArgs e)
  98.         {
  99.             output.Text = "";
  100.             string decodedString = "";
  101.             foreach (char letter in input.Text.ToUpper())
  102.             {
  103.                 if (letter != ' ')
  104.                 {
  105.                     arrayToCode.Enqueue(letter);
  106.                 }
  107.             }
  108.  
  109.             foreach (char letter in arrayToCode)
  110.             {
  111.                 //output.Text += Array.IndexOf(abecadlo, letter);
  112.                 int x = Array.IndexOf(abecadlo, letter);
  113.                 if (x != '_')
  114.                 {
  115.                     if (x >= klucz)
  116.                     {
  117.                         decodedString += abecadlo[x - klucz];
  118.                     }
  119.                     else
  120.                     {
  121.                         decodedString += abecadlo[x+23];
  122.                     }
  123.                 }
  124.  
  125.                 else
  126.                 {
  127.                     decodedString += "_";
  128.                 }
  129.             }
  130.             output.Text = decodedString;
  131.             arrayToCode.Clear();
  132.         }
  133.     }
  134. }
  135.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement