Обработчик событий для работы с текстом



 

Для работы с текстом клиентской области нашего приложения предусмотрено два обработчика событий, соответствующих командам меню очистка и преобразование.

Обработчик события очистка текста содержит один метод редактора текстов richTextBox1, который удаляет все строки текста:

private void clearTToolStripMenuItem_Click(object sender,

EventArgs e)

   {

       richTextBox1.Clear();

   }

    Обработчик события преобразования текста предназначен для выделения из текста клиентской области значений матрицы 6*6, обычно считанной из файла.

Исходный код метода обработки текста имеет следующий вид:

private void obraboToolStripMenuItem_Click(object sender, EventArgs e)

{

 string ss;

 string[] clova;

 int k, n;

 int[] masi = new int[100];

 n = 0;

 ss = richTextBox1.Text;

 clova = ss.Split('\t', ' ');

 for (int i = 0; i < clova.Length; i++)

 {

k = clova[i].Length;

if (k == 2 || k == 3)

{

masi[n] = Int32.Parse(clova[i]); n++; }

richTextBox1.AppendText(i.ToString() + " = " + clova[i] +

 " k= " + k.ToString() + "\n");

}

 int j1, j2; j1 = j2 = 0;

 for (int i = 0; i < 36; i++)

 {

a[j1, j2] = masi[i];

j2++;

if (j2 == 6) { j1++; j2 = 0; }

if (j1 == 6 && j2 == 6) break;

 }

}

Здесь необходимы некоторые комментарии.

Объявлен массив clova типа string, в который из текста клиентской области приложения с помощью метода Split заносятся любые сочетания символов выделенных знаком табуляции, пробелом или возвратом :

ss = richTextBox1.Text;

clova = ss.Split('\t',' ','\n');

Определяется общее количество слов текста clova.Length.

 В цикле все слова длиною 2 или 3 символа преобразуются в целые числа и записываются в массив целых чисел masi. Одновременно все слова и их длина выводятся на экран в клиентскую область (для контроля).

В последней части обработчика события выделенные целые числа из массива переписываются в матрицу 6*6.

Примерный вид содержимого клиентской области:

Матрица создана

 

12 34 94 54 39 53    

59 23 49 99 53 48    

66 27 48 46 67 47    

92 15 16 85 75 73    

33 19 56 38 95 53    

24 39 40 16 81 49    

0 = Матрица k= 7

1 = создана k= 7

2 = k= 0

3 = k= 0

4 = 12 k= 2

5 = 34 k= 2

6 = 94 k= 2

7 = 54 k= 2

8 = 39 k= 2

9 = 53 k= 2

10 = k= 0

11 = 59 k= 2

12 = 23 k= 2

13 = 49 k= 2

14 = 99 k= 2

15 = 53 k= 2

16 = 48 k= 2

17 = k= 0

18 = 66 k= 2

19 = 27 k= 2

20 = 48 k= 2

21 = 46 k= 2

22 = 67 k= 2

23 = 47 k= 2

24 = k= 0

25 = 92 k= 2

26 = 15 k= 2

27 = 16 k= 2

28 = 85 k= 2

29 = 75 k= 2

30 = 73 k= 2

31 = k= 0

32 = 33 k= 2

33 = 19 k= 2

34 = 56 k= 2

35 = 38 k= 2

36 = 95 k= 2

37 = 53 k= 2

38 = k= 0

39 = 24 k= 2

40 = 39 k= 2

41 = 40 k= 2

42 = 16 k= 2

43 = 81 k= 2

44 = 49 k= 2

45 = k= 0

46 = k= 0

После визуальной проверки клиентскую область можно очистить.

 

 

Далее запускаем режим печати матрицы (смотри рисунок 5.4):

 

 

 

Рисунок 5.4 – Печать матрицы после преобразования клиентской области текста.

 

Видно, что нет привычного сообщения «Матрица создана».


Дата добавления: 2019-02-12; просмотров: 128; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!