ЗНАЕТЕ ЛИ ВЫ?

Тема 12. Работа с файлами. Элемент MenuStrip



Теоретический материал

Для работы с файлами в приложениях Windows.Forms используются классы OpenFileDialog и SaveFileDialog.

Свойства данных классов:

- DefaultExt: устанавливает расширение файла, которое добавляется по умолчанию, если пользователь ввел имя файла без расширения;

- CheckFileExists: при значении данного свойства, равным true, проверяет существование файла с указанным именем;

- CheckPathExists: если значение данного свойства true, то в программе проверяется существование пути к файлу с указанным именем;

- FileName: возвращает имя файла, выбранного в диалоговом окне;

- Filter: задает фильтр файлов по расширению.

- InitialDirectory: устанавливает каталог, который отображается при первом вызове окна;

- Title: заголовок диалогового окна

Дополнительные свойства класса SaveFileDialog:

CreatePrompt: при значении true в случае, если указан не существующий файл, то будет отображаться сообщение о его создании;

OverwritePrompt: при значении true в случае, если указан существующий файл, то будет отображаться сообщение о том, что файл будет перезаписан.

Чтобы отобразить диалоговое окно, надо вызвать метод ShowDialog().

Компонент MenuStrip

Для создания меню в Windows Forms применяется элемент MenuStrip. С помощью него можно создавать меню, аналогичные меню Microsoft Office.

Наиболее важные свойства компонента MenuStrip:

- Dock: прикрепляет меню к одной из сторон формы;

- LayoutStyle: задает ориентацию панели меню на форме;

- ShowItemToolTips: указывает, будут ли отображаться всплывающие подсказки для отдельных элементов меню;

- Stretch: позволяет растянуть панель по всей длине;

- TextDirection: задает направление текста в пунктах меню.

Способы использования элемента управления MenuStrip:

- создание легко настраиваемых, стандартных меню, поддерживающих широкий набор возможностей компоновки и пользовательского интерфейса, таких как упорядочение и выравнивание текста и изображений, операции перетаскивания, интерфейс MDI, переполнение и альтернативные режимы доступа к пунктам меню;

- разработка приложений для операционных систем;

- согласованная обработка событий.

Практические задачи

1. Создать меню для работы с файлами. На форме разместите два компонента MenuStrip и TextBox. У элемента TextBoxустановите галочку напротив свойстваMultiLine(рис. 120).

 

Рисунок 120. Добавление меню и текстовой области

 

Далее вынесите два элемента для работы с файлами OpenFileDialog, SaveFileDialog(рис. 121).

Рисунок 121. Добавление элементов

 

Используя элемент управления MenuStrip, создадим 1 пункт меню «Файл» и три подменю «Открыть» «Сохранить» «Выход». Для этого достаточно кликнуть по данному элементу и ввести соответствующие названия (рис. 122).

Рисунок 122. Добавление пунктов меню

 

Дважды щелкнем по форме и откроем редактор кода. Зададим путь к файлу по умолчанию, а также пропишем «Фильтры» для элементов OpenFileDialog и SaveFileDialog(рис. 123).

Рисунок 123. Программный код

 

Данные диалоги означают, что мы будем работать с текстовыми файлами.

Вернемся на форму и введем код для пункта «Открыть». Выберем данный пункт и в редакторе кода пропишем код, представленный на рисунках 122 - 124.

Рисунок 124. Код для пункта меню «Открыть»

Рисунок 125. Код для пункта меню «Выход»

 

Рисунок 126. Код для пункта меню «Сохранить»

Вопросы для контроля знаний

1. Какие классы используются для работы с файлами? В чем состоят свойства этих классов?

2. Как реализовать диалог между формами?

3. Зачем используется компонент MenuStrip?

4. Приведите примеры известных приложений, которые разработаны с помощью визуальных компонентов С#?

Задачи для самостоятельного решения

1. Создать меню для работы с графическими файлами, которая реализует основные операции: «открытие файла», «изменение его размера» и т. д.

2. Создать файл из 10 чисел, вывести максимальное и минимальное число. Найти их сумму.

3. В файле записана информация (указание текст должен быть в формате Unicode)

Иванова Татьяна Петровна

11.12.2009

Смирнова Елена Дмитриевна

15.05.2010

Коновалова Татьяна Петровна

25.01.2011

Семенов Иван Олегович

21.01.2011

Считать информацию из файла.

4. Создать текстовый файл е.txt и ввести в него ряд вещественных чисел. Составить программу, которая будет считывать из этого файла значения переменной х и вычислять значения функции y(x)=cos(x)-sin(x).

5. В файле записана следующая информация:

11.12.2009

15.05.2010

Считать эту информацию и вывести ее в виде

 

100 рублей от 11.12.2009

200 рублей от 15.05.2010

 

6. Создать в папке Work5 текстовый файл с произвольным именем. Ввести в этот файл в столбец произвольное число целых чисел (около 10-15 чисел). Создать программу, которая будет считывать из этого файла числа, а затем записывать четные числа в один файл, а нечетные – в другой файл.

Контрольная работа №4

1. Создать программный продукт для учащихся возрастной категории по любой теме. В программе должен быть представлен теоретический материал по теме и вопросы по данной теме разного типа: ввод ответа с клавиатуры, выбор одного правильного ответа из четырех, выбор одного или более правильных ответов из четырех. Каждый вопрос должен быть представлен на отбельной форме, иллюстрироваться изображениями. На последней форме должна выставляться итоговая оценка. Если учащийся ответил неправильно более чем на половину вопросов, то для него открывается дополнительный материал, с которым он должен познакомиться.

2. Создать справочник для туристической фирмы. В нем должна быть представлена теоретическая информация о пяти «горячих турах». На отдельной форме должна быть представлена информация о стоимости каждого тура, стоимости дополнительных услуг, итоговой стоимости поездке, если тур выбирают несколько человек, описана и предусмотрена система скидок. На данной форме должна быть представлена кнопка для расчета стоимости.

3. Создать игру для младшего школьников возраста, в которой они будут изучать события мыши и/или клавиатуры. При разработке игры учесть особенности детей данного возраста.

 

Итоговая работа

1.Разработать электронный ресурс по одной из тем программирования с использованием Windows.Forms. В электронном ресурсе должен быть представлен теоретический материал, три практических задания по выбранной теме с решением, задания для самостоятельной работы и тест для проверки знаний, который включает не менее 5 вопросов.

Темы для изучения

1. Ступенчатые массивы.

2. Логические операторы.

3. Битовые операции.

4. Функции и процедуры.

5. Рекурсия.

6. Регулярные выражения.

2.Разработайте проект по одной из предложенных тем.

1. Разработка электронного календаря-еженедельника, позволяющего планировать текущие дела и напоминать о них согласно текущей дате.

2. Разработка электронного приложения «Склад», позволяющего заносить записи о товарах, их ценах и количестве, сортировать, находить нужный товар, иллюстрировать текущее положение в виде диаграммы и удалять купленные товары.

3. Разработка налогового калькулятора индивидуального предпринимателя.

4. Разработка валютного калькулятора с возможностью добавления новых валют и постоянного обновления курсов, а также хранением курсов в течение недели и иллюстрации их изменения в виде графика.

5. Разработка туристического калькулятора для расчета стоимости путевки в зависимости от входных параметров.

6. Разработка текстового редактора.

7. Разработка графического редактора.

8. Разработка мультимедиа плеера, поддерживающего различные форматы файлов.

9. Разработка редактора для работы с квадратными матрицами.

10. Разработка стратегической игры для двух игроков.

11. Разработка игры для демонстрации событий мыши и клавиатуры.

12. Разработка калькулятора для учета авиапассажиров.

3.Продемонстрируйте возможности С# на примере решения задачи «Автоматизация расчета командировочных расходов».

Критерии оценки проектов

- соответствие предложенной тематике;

- обоснованность структуры и выбранных форм;

- полнота;

- результативность;

- оригинальность;

- оптимальность используемых алгоритмов;

- оптимальность использования базовых элементов;

- удобство интерфейса пользователя.

- наглядность представления проекта;

- убедительность при обосновании и защите проекта;

- уровень владения материалом;

- умение вести дискуссию.

 

 

Глоссарий

Тип данных – множество величин, объединенных определенной совокупностью допустимых операций.

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

Массив– это множество значений, которыми можно оперировать как группой.

Строки -это объекты класса String, значением которых является текст.

Файл – это набор данных, который хранится на внешнем запоминающем устройстве (например на жестком диске).

Структура – это составной тип данных, который используется для объединения данных различных типов в единое целое с учетом взаимосвязи между ними.

Визуальное программирование –способ создания программы с помощью графических объектов.

Windows.Forms – это набор различных управляемых библиотек, с помощью которых можно выполнить все необходимые для оконного приложения действия (обмен сообщениями с операционной системой, связью с другими компьютерами по сети, обработка событий мыши и клавиатуры и т.д.).

Формы Windows — это основной компонент пользовательского интерфейса.

Элементы управления – это компоненты, объединяющие графический интерфейс с предварительно разработанной функциональностью.

 

 

Вопросы для отчета

1. Язык программирования и система программирования. Структура и многообразие.

2. Парадигма программирования. Классификация. Сравнительная характеристика.

3. Технология программирования. Классификация. Сравнительная характеристика.

4. Современные технологии программирования и новые направления развития программирования.

5. Методы и события. События в среде Windows. Процедуры обработки событий.

6. Алфавит и синтаксис языка C#: структура программы, модуля, типы данных область видимости переменных. Константы. Основные операторы.

7. Управляющие конструкции и их реализация в системе программирования C# (ветвление, оператор выбора, циклы, функции и процедуры).

8. Управление событиями с помощью процедур, функций и модулей. Встроенные функции. Функция MsgBox и InputBox.

9. Разработка форм. Класс Form.

10. Базовые элементы управления: метка, текстовое поле, кнопка, флажок, переключатель, списки.

11. Классификация массивов. Способы реализации массивов на языке C#.

12. Применение строк в системе программирования C#.

13. Файлы.

 

 

Задачи повышенной сложности

При разработке данного раздела были использованы Интернет-источники ([7], [8], [9]).

1. Написать программу определения количества шестизначных «счастливых» билетов, у которых сумма первых 3 десятичных цифр равна сумме 3 последних десятичных цифр.

2. Имеется N камней веса А1,А2,...,АN. Необходимо разбить их на две кучи таким образом, чтобы веса куч отличались не более чем в 2 раза. Если этого сделать нельзя, то указать это.

3. Покупатель имеет купюры достоинством A(1), ...,A(n), а продавец - B(1), .. ,B(m). Необходимо найти максимальную стоимость товара Р, которую покупатель не может купить, потому что нет возможности точно рассчитаться за этот товар с продавцом, хотя денег на покупку этого товара достаточно.

4. Даны два массива чисел. Требуется вывести в выходной файл те элементы первого массива (в том порядке, в каком они идут в первом массиве), которых нет во втором массиве.

5. Во входном файле записана одна строка текста (не больше 255 символов).В выходной файл нужно вывести эту же строку, удалив все парные пробелы (то есть если где-то в строке идет подряд 2 или больше пробелов, то в этом месте нужно оставить только один из них).

6. Для игры в «Поле чудес» используется круглый барабан, разделенный на сектора, и стрелка. В каждом секторе записано некоторое число. В различных секторах может быть записано одно и то же число. Однажды ведущий игры решил изменить правила. Он сам стал вращать барабан и называть игроку (который барабана не видел) все числа подряд в том порядке, в котором на них указывала стрелка в процессе вращения барабана. Получилось так, что барабан сделал целое число оборотов, то есть последний сектор совпал с первым. После этого, ведущий задал участнику вопрос: какое наименьшее число секторов может быть на барабане? Требуется написать программу, отвечающую на этот вопрос ведущего. Входные данные: в первой строке входного файла INPUT.TXT записано число N – количество чисел, которое назвал ведущий (2 ≤ N ≤ 30000). Во второй строке записано N чисел, на которые указывала стрелка в процессе вращения барабана. Первое число всегда совпадает с последним (в конце стрелка указывает на тот же сектор, что и в начале). Числа, записанные в секторах барабана – натуральные, не превышающие 32000. Выходные данные: в выходной файл OUTPUT.TXT необходимо вывести одно число – минимальное число секторов, которое может быть на барабане.

7. Требуется найти самую длинную непрерывную цепочку нулей в последовательности нулей и единиц. Входные данные: в единственной строке входного файла INPUT.TXT записана последовательность нулей и единиц (без пробелов). Суммарное количество цифр от 1 до 100. Выходные данные: в единственную строку выходного файла OUTPUT.TXT нужно вывести искомую длину цепочки нулей.

8. Мажорирующим элементом в массиве A[1..N] будем называть элемент, встречающийся в массиве более N/2 раз. Легко заметить, что в массиве может быть не более одного мажорирующего элемента. Например, массив

3, 3, 4, 2, 4, 4, 2, 4, 4

имеет мажорирующий элемент 4, тогда как в массиве

3, 3, 4, 2, 4, 4, 2, 4

мажорирующего элемента нет.

Необходимо определить, есть ли в массиве мажорирующий элемент, и если есть, то какой.

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

Например:

Для строки «asdd1vnb24vnf63vbn,-5h-2kk»

Сумма S=1-2+4-6+3-5+2= -3.

10. В символьной строке имеются круглые скобки. Проверить, правильно ли они расставлены.

11. Для заданной строки символов проверить, является ли она палиндромом (симметричной с точностью до пробелов) или нет. Например, палиндромом является цепочка: А РОЗА УПАЛА НА ЛАПУ АЗОРА.

12. Вычислить значение арифметического выражения: .

Список литературы

Основная литература

1. Зайдельман Я. Н. Эффективность алгоритмов: простые задачи и наглядные примеры. М.: Чистые пруды, 2006.

2. Культин Н. Б. Microsoft Visual C# в задачах и примерах. СПб.: БХВ-Петербург, 2009.

3. Литвиненко Н. А. Технология программирования на С++: начальный курс: учебное пособие для вузов. СПб.: БХВ-Петербург, 2005.

4. Литвиненко Н. А. Технология программирования на С++ Win32 API-приложения: учебное пособие для вузов. СПб.: БХВ-Петербург, 2010.

5. Фленов М. Библия C#. СПб.: БХВ-Петербург, 2011.

 

Дополнительная литература

1. Кнут, Д. Искусство программирования. В 3т. / Под общ. ред. Ю. В. Козаченко. М.: Вильямс, 2001.

2. Осипов Н.А. Разработка Windows-приложений на С#: учебное пособие. Спб: НИУ ИТМО, 2012. 74 с.

3. ПлещевВ. В. Высокоуровневые методы информатики и программирования с примерами и упражнениями: учебник. Екатеринбург: Изд-во Урал.гос.экон. ун-та, 2002.

4. Трослен, Э. Язык программирования C# и платформа .Net 4.0. М.: ООО «И.Д. Вильямс», 2011.

5. Культин Н. С# в задачах и примерах. Спб. БХВ-Петербург, 2007. 240 С.





Последнее изменение этой страницы: 2017-01-26; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.216.79.60 (0.02 с.)