예제 #1
0
        public static FlowDocument SearchText(RichTextBox RichTB, string Word)
        {
            Paragraph asd = new Paragraph(new Run(""));
            Run       BarevnyText;
            string    zac;

            string[] VsechenText = RTB.GetText(RichTB).Split(' ');
            for (int i = 0; i < VsechenText.Length; i++)
            {
                zac = VsechenText[i];//.Replace(Environment.NewLine, string.Empty);
                if (i == VsechenText.Length - 1)
                {
                    zac = VsechenText[i].Replace(Environment.NewLine, string.Empty);
                }
                if (zac == Word)
                {
                    BarevnyText            = new Run($"{VsechenText[i]}");
                    BarevnyText.Background = new SolidColorBrush(Colors.Red);
                    asd.Inlines.Add(BarevnyText);
                    asd.Inlines.Add(new Run(" "));
                }
                else
                {
                    BarevnyText = new Run($"{VsechenText[i]} ");
                    asd.Inlines.Add(BarevnyText);
                }
            }
            FlowDocument Novy = new FlowDocument(asd);

            Novy.PageWidth = 2000;
            return(Novy);
        }
예제 #2
0
        private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
        {
            if (File.Exists(AdresaSouboru))
            {
                string text = File.ReadAllText(AdresaSouboru, Encoding.UTF8);
                if (text != RTB.GetText(TextMainWindow))
                {
                    MessageBoxResult Vysledek = MessageBox.Show("Soubor byl změněn! Přejete si ho uložit?", "Neuložený soubor", MessageBoxButton.YesNo);
                    switch (Vysledek)
                    {
                    case MessageBoxResult.Yes:
                        try
                        {
                            File.WriteAllText(AdresaSouboru, RTB.GetText(TextMainWindow));
                        }
                        catch (Exception)
                        {
                        }
                        break;

                    case MessageBoxResult.No:
                        break;
                    }
                }
            }
            else
            {
                MessageBoxResult Vysledek = MessageBox.Show("Přejete si soubor uložit?", "Neuložený soubor", MessageBoxButton.YesNo);
                switch (Vysledek)
                {
                case MessageBoxResult.Yes:
                    sfd.ShowDialog();
                    try
                    {
                        File.WriteAllText(sfd.FileName, RTB.GetText(TextMainWindow));
                    }
                    catch (Exception)
                    {
                    }
                    break;

                case MessageBoxResult.No:
                    Application.Current.Shutdown();
                    break;
                }
            }
        }
예제 #3
0
        public static RichTextBox GetTime(RichTextBox RichTB)
        {
            string min = string.Empty;

            if (DateTime.Now.Minute < 10)
            {
                min = $"0{DateTime.Now.Minute}";
            }
            else
            {
                min = $"{DateTime.Now.Minute}";
            }
            //.Replace(Environment.NewLine, string.Empty);
            string nove = ($"{RTB.GetText(RichTB)}{DateTime.Today.Day}.{DateTime.Today.Month}.{DateTime.Today.Year} {DateTime.Now.Hour}:{min} ");

            return(RTB.SetText(RichTB, nove));

            //TextSouboru.Text += $"{DateTime.Today.Day}.{DateTime.Today.Month}.{DateTime.Today.Year} {DateTime.Now.Hour}:{DateTime.Now.Minute} ";
            //RichTB.CaretIndex = TextSouboru.Text.Length;
            //RichTB.ScrollToHorizontalOffset(double.MaxValue); // Horní část vypíše datum a čas v mém formátu, tyhle dva řádky nastaví kurzor po napsání na konec
        }
예제 #4
0
        private void Find_Click(object sender, RoutedEventArgs e)
        {
            Button Tenhle = (Button)sender;

            if (Tenhle.Content.ToString() == "Najít")
            {
                if (RTB.GetText(MainWindow.TextMainWindow) != "")
                {
                    //MainWindow.TextMainWindow.Document = RTB.SearchText(MainWindow.TextMainWindow, findtext.Text);
                    MainWindow.TextMainWindow.Document = RTB.Experiment(MainWindow.TextMainWindow, findtext.Text);
                    Close();
                }
                else
                {
                    MessageBox.Show($"Textové pole je prázdné!", "Text nebyl nalezen", MessageBoxButton.OK, MessageBoxImage.Error, MessageBoxResult.OK);
                }
            }
            else
            {
                MainWindow.TextMainWindow.Document = RTB.ReplaceWord(MainWindow.TextMainWindow, findtext.Text, replacetext.Text);
            }
        }
예제 #5
0
        public static FlowDocument Experiment(RichTextBox RichTB, string Word)
        {
            Paragraph asd = new Paragraph(new Run(""));
            Run       BarevnyText;
            int       PocetPismen = Word.ToCharArray().Length;

            char[] ZnakySlova     = Word.ToCharArray();
            string ZachytnyString = string.Empty;
            string VsechenText    = RTB.GetText(RichTB);

            char[] ZnakyTextu = VsechenText.ToCharArray();
            try
            {
                for (int i = 0; i < ZnakyTextu.Length; i++)
                {
                    for (int a = 0; a < ZnakySlova.Length; a++)
                    {
                        if (ZnakyTextu[i] == ZnakySlova[a])
                        {
                            BarevnyText            = new Run(ZnakySlova[a].ToString());
                            BarevnyText.Background = new SolidColorBrush(Colors.Red);
                            asd.Inlines.Add(BarevnyText);
                            a = ZnakySlova.Length - 1;
                        }
                        else
                        {
                            if (a == ZnakySlova.Length - 1)
                            {
                                asd.Inlines.Add(ZnakyTextu[i].ToString());
                            }
                        }
                    }
                }
            }
            catch (Exception)
            {
            }
            return(new FlowDocument(asd));
        }
예제 #6
0
 private void Window_KeyDown(object sender, KeyEventArgs e)
 {
     if (e.Key == Key.S && Keyboard.Modifiers == ModifierKeys.Control)
     {
         sfd.ShowDialog();
         try
         {
             File.WriteAllText(sfd.FileName, RTB.GetText(TextMainWindow));
         }
         catch (Exception)
         {
         }
     }
     else if (e.Key == Key.F && Keyboard.Modifiers == ModifierKeys.Control)
     {
         NT.replacetext.Visibility   = Visibility.Hidden;
         NT.replacebutton.Visibility = Visibility.Hidden;
         NT.nahradit.Visibility      = Visibility.Hidden;
         NT.findbutton.Margin        = new Thickness(0, 4, 33, 15);
         NT.Height = 85;
         NT.Show();
     }
 }
예제 #7
0
        private void MenuItem_Soubor_Click(object sender, RoutedEventArgs e)
        {
            MenuItem Pracujici = (MenuItem)sender;

            string[] JmenoSouboru;
            char     lomitko = Convert.ToChar(92);

            if (Pracujici.Header.ToString() == "Ukončit")
            {
                Close();
            }
            else if (Pracujici.Header.ToString() == "Nový")
            {
                if (Ulozeno)
                {
                    TextMainWindow = RTB.SetText(TextMainWindow, "");
                    Title          = "Nový soubor";
                }
                else
                {
                    MessageBoxResult mbr = MessageBox.Show("Tento soubor nebyl uložen! Přejete si ho uložit?", "Upozornění", MessageBoxButton.YesNo, MessageBoxImage.Information);
                    if (mbr == MessageBoxResult.Yes)
                    {
                        sfd.ShowDialog();
                        try
                        {
                            File.WriteAllText(sfd.FileName, RTB.GetText(TextSouboru));
                            Ulozeno = true;
                        }
                        catch (Exception)
                        {
                        }
                    }
                    else
                    {
                        TextMainWindow = RTB.SetText(TextMainWindow, "");
                        Title          = "Nový soubor";
                        Ulozeno        = true;
                    }
                }
            }
            else if (Pracujici.Header.ToString() == "Otevřít...")
            {
                ofd.ShowDialog();
                AdresaSouboru = $"{ofd.InitialDirectory}{ofd.FileName}";
                if (File.Exists(AdresaSouboru))
                {
                    TextMainWindow = RTB.SetText(TextMainWindow, File.ReadAllText(AdresaSouboru, Encoding.UTF8));
                    JmenoSouboru   = ofd.FileName.Split(lomitko);
                    Title          = JmenoSouboru[JmenoSouboru.Length - 1];
                }
            }
            else if (Pracujici.Header.ToString() == "Uložit")
            {
                sfd.ShowDialog();
                try
                {
                    File.WriteAllText(sfd.FileName, RTB.GetText(TextMainWindow));
                }
                catch (Exception)
                {
                }
            }
            else if (Pracujici.Header.ToString() == "Tisk...")
            {
                PrintDialog PD = new PrintDialog();
                if ((bool)PD.ShowDialog().GetValueOrDefault())
                {
                    FlowDocument FD = new FlowDocument();
                    foreach (string Odstavec in RTB.GetText(TextMainWindow).Split('\n'))
                    {
                        Paragraph Paragraf = new Paragraph();
                        Paragraf.Margin = new Thickness(0);
                        Paragraf.Inlines.Add(new Run(Odstavec));
                        FD.Blocks.Add(Paragraf);
                    }
                    DocumentPaginator DP = ((IDocumentPaginatorSource)FD).DocumentPaginator;
                    PD.PrintDocument(DP, Title);
                }
            }
        }
예제 #8
0
 private void TextSouboru_TextChanged(object sender, TextChangedEventArgs e)
 {
     Ulozeno     = false;
     TextSouboru = TextMainWindow;
     TextRTB     = RTB.GetText(TextMainWindow);
 }
예제 #9
0
 private void Cas(object sender, RoutedEventArgs e)
 {
     TextMainWindow = RTB.GetTime(TextMainWindow);
     NewRTB         = RTB.GetText(TextMainWindow);
 }