Главная » Просмотр файлов » Текстовый редактор и задания

Текстовый редактор и задания (981802), страница 2

Файл №981802 Текстовый редактор и задания (Проги на Delphi для ИУ (Ваулин)) 2 страницаТекстовый редактор и задания (981802) страница 22015-06-15СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 2)

if Memo1.Modified then begin //если текст Memo1 был

// изменён, то предложить диалог для выбора файла

case MessageDlg('Текст был изменен. Сохранить данные'+

' в файле по выбору?', mtConfirmation,

[mbYes, mbNo, mbCancel], 0) of

6{idYes}: begin // сохранить текст в файле, выбрав его

//в диалоге ФАЙЛ.СОХРАНИТЬ КАК...

N6Click(Self);

//перейти к диалогу ФАЙЛ.ОТКРЫТЬ

end;

{2}idCancel: exit;//выйти из диалога ФАЙЛ.ОТКРЫТЬ

//в редактор без сохранения

{7}idNo:;//не сохранять текст в файле и

//перейти к диалогу ФАЙЛ. ОТКРЫТЬ

end; //case

end;//if Memo1.Modified

//Открытие окна диалога ФАЙЛ.ОТКРЫТЬ для выбора папки

//и файла, текст из которого следует

//поместить в Memo1 - рабочую область редактора.

if Form1.OpenDialog1.Execute then begin //если выбран файл

S:=OpenDialog1.FileName;//то S присвоить спецификацию файла,

Memo1.Lines.LoadFromFile(S);//загрузить текст из файла в Memo1

Memo1.Modified:=false;//считать, что текст не модифицирован,

//а в заголовок формы добавить спецификацию файла

Form1.Caption:='Form1' + ' ' + S;

end;//if Form1.OpenDialog1.Execute

end;

Рис. 10. Обработчик события открытия файла

Создайте обработчик procedure TForm1.N3Click(Sender: TObject) события щелчка на пункте меню Файл\Открыть…, для чего сделайте двойной щелчок на соответствующей строке дерева объектов и в появившейся заглушке добавьте операторы и комментарии, имея в виду следующее.

  1. Если редактируемый текст не был изменён (Memo1. Modified ложно), то сразу перейти к диалогу открытия файла, иначе следует предложить пользователю разрабатываемой программы выбрать в диалоге (см. справку по функции MessageDlg) вариант продолжения работы с измененным текстом:

    • I) или сохранить его в файле по выбору, вызвав N6Click(Self) и затем открыть новый файл;

    • II) или не сохранять текст и открыть новый файл;

    • III) или отменить выполнение команды, выйдя из метода по exit и продолжить редактирование текста, как если бы команда открытия файла вообще не вводилась.

(см. текст обработчика рис. 10).

      1. Диалог для выбора открываемого файла запускается командой OpenDialog1.Execute (см справку по классу TOpenDialog). Если открываемый файл не был выбран (в окне диалога Открыть была нажата кнопка Отмена), то следует просто выйти из обработчика (вернуться к редактированию прежнего текста), иначе следует загрузить выбранный файл на редактирование, переменной S присвоить спецификацию этого файла и отобразить её в заголовке окна форма, а также свойству Memo1.Modified присвоить значение false – признак того, что загруженный на редактирование текст не изменён.

    1. Создайте самостоятельно обработчик procedure TForm1.N7Click(Sender: TObject) события щелчка на пункте меню Файл.Выход, для чего сделайте двойной щелчок на соответствующей строке дерева объектов и в появившейся заглушке добавьте операторы и комментарии, имея в виду следующее. Если редактируемый текст не был изменён (Memo1.Modified ложно), то сразу завершите работу программы оператором close, иначе следует предложить пользователю разрабатываемой программы выбрать в диалоге (см. справку по функции MessageDlg) вариант продолжения работы с измененным текстом:

    • I) или сохранить его в файле (пользователь нажал кнопку Yes) по выбору, вызвав N6Click(Self) и затем завершить работу программы;

    • II) или не сохранять текст (пользователь нажал кнопку No) и завершить работу программы;

    • III) или отменить выполнение команды (пользователь нажал кнопку Cancel), выйдя из метода по exit и продолжить редактирование текста, как если бы команда завершить работу программы вообще не вводилась.

При выполнении этого пункта задания используя вкладки Index или Search справочной системы Turbo Delpi сначала следует найти справку по функции MessageDlg, затем – допустимые значения её параметров из числа стандартных. Например, вызов функции

MessageDLG('Сохранить файл?',mtInformation,[mbCancel,mbYes,mbNo],0)

обеспечит диалог вида

Справка по работе со справочной системой Turbo Delpi.

    • Запуск справочной системы командой Help/Borland Help.

    • Установка фильтра для отбора справок только по языку Delphi – выбором в раскрывающемся списке Filtered by: строки Language: Delphi.

    • Выбор справки по оглавлению справочной системы (по интересующей теме, подтеме и т.д) выполняют на вкладке Contents (если её нет, то введите команду Viev/Navigation/Contents…).

    • Выбор справки по ключевому слову (по стандартному имени типа, имени подпрограммы и т.п) выполняют на вкладке Index.

    • Выбор разделов справки по содержащемуся в них фразе, слову или части слова – из списка Search Result for…, формирующегося при вводе искомого текста в поле Look for: и нажатия кнопки Search.

    1. Создайте самостоятельно обработчик procedure TForm1.N2Click(Sender: TObject) события щелчка на пункте меню Файл.Создать, для чего сделайте двойной щелчок на соответствующей строке дерева объектов и в появившейся заглушке добавьте операторы и комментарии. Окно Memo1 нужно очистить без всяких условий, задав Memo1.Text значение пустой строки, имя файла S должно иметь значение пустой строки,( то есть не должна представлять имя файла,), а оператором присваивания в заголовке формы Form1.Caption задать название Form1.

    2. Создайте самостоятельно обработчик procedure TForm1.N5Click(Sender: TObject) события щелчка на пункте меню Файл\Сохранить, для чего сделайте двойной щелчок на соответствующей строке дерева объектов и в появившейся заглушке добавьте операторы и комментарии.

В условном операторе записать условие, если текст еще не сохранялся в файле (S=''), то следует передать управление обработчику команды Файл/Сохранить как…, выполнив оператор N6Click(Self), иначе – сохранить текст Memo1 в файле оператором Memo1.Lines.SaveToFile(S). Затем установить оператором Memo1.Modified:=false признак, что текст в Memo1 не модифицирован.

    1. Создайте самостоятельно обработчик procedure TForm1.N4Click(Sender: TObject) события щелчка на пункте меню Файл.Закрыть, для чего сделайте двойной щелчок на соответствующей строке дерева объектов и в появившейся заглушке добавьте операторы и комментарии, имея в виду, что если текст был изменен, то нужно в диалоге (см. справку по функции MessageDlg) выяснить, что желает пользователь. Если он нажмёт кнопку Cancel, то есть хочет вернуться к редактированию текста, то следует просто выйти из обработчика. Если он нажмёт кнопку No, то нужно удалить текст, вывести в заголовок окна название формы ‘Form1’ и присвоить S пустое значение. Если пользователь нажмёт кнопку Yes, то нужно выполнить те же действия, что и при нажатии кнопки No, но предварительно сохранить текст оператором Memo1.Lines.SaveToFile(S), если S'', или сохранить текст в файле по выбору, вызвав N6Click(Self), если S=''.

Задания на обработку TextFile

Общее для всех заданий

  1. Подпункты меню Файл: Файл.Открыть…, Файл.Сохранить как…, Файл\Выход… и соответствующие им диалоги, а также пункт меню Работа, но с двумя индивидуальными для каждого задания подпунктами.

  2. Исходный (создаваемый с использованием меню Файл) файл должен иметь следующую структуру строк (в скобках указаны длины полей и выравнивание): Номер строки (4, правое), пробелы (2), Группа (8, левое), пробелы (2), Фамилия (12, левое), Оценка 1 (3, правое), Оценка 2 (3, правое), Оценка 3 (3, правое),
    например,

  3. Исходный файл должен храниться в каталоге проекта программы и иметь данные по трём группам, для каждой из которых должно быть число строк, достаточное для проверки работ по подпунктам меню Работа, но не менее 10 для каждой группы. Сделать Memo1 шириной >= длине строки файла и с вертикальной полосой прокрутки (в Инспекторе объектов свойству ScrollBars дать значение ssVertical при создании макета формы).

  4. Если в задании какие-либо данные отсутствуют или сказано, что они должны быть введены/выбраны в диалогах, то предполагается использование OpenDialog, SaveDialog, MessageDlg или InputQuery

В некоторых заданиях будет предложено отбирать строки файлов по маске. Маской является строка, содержащая символы замещения: * (звёздочка) – представляет любую, в том числе и пустую, последовательность символов; ? (знак вопроса) – представляет любой один, и только один символ. Например, маске *т? удовлетворяет любая последовательность символов, предпоследним символом которой является буква «т », после которого должен стоять ровно один любой символ. Такой маске будут, в частности, соответствовать слова та, эта, приметы, но не такт, этак, приметный.

Д обавляемые подпункты меню Работа по вариантам
1. - Отличники…
– для выбранного файла отобразить список фамилий студентов заданной в диалоге группы, имеющих все оценки 5.

- Средние баллы – для выбранного файла отобразить средние баллы по каждому экзамену для студентов всех групп.

2. - Средний балл группы… – для выбранного файла отобразить для заданной в диалоге группы средний балл по всем экзаменам.

- Должники – отобразить строки файла, представляющие студентов всех групп, в фамилии которых содержится заданная в диалоге строка и имеющих оценки 2. Если заданная строка пустая (сделать так по умолчанию), то отобразить все строки, в которых есть оценки 2.

3. - Неуды по экзаменам… – для выбранных в диалоге файла, группы и экзамена (1, 2 или 3) отобразить количество оценок 2.

- Хорошисты – отобразить строки файла, представляющие студентов всех групп, имеющих оценки, большие 3.

4. - Разбить по группам – по данным файла, содержащим сведения по студентам разных групп, создать новые текстовые файлы с именами '<имя группы>.txt', включающими все строки файла-источника с соответствующими именами групп. Массивы не использовать.

- Отстающие – отобразить строки файла, представляющие студентов всех групп, имеющих две и более оценки 2.

5. - Список групп… – по данным файла, содержащим сведения по студентам разных групп, создать новый текстовые файл с именами групп и отобразить его содержимое в окне редактора текста.

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

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

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

7. - Добавление строки… – в упорядоченный по фамилиям файл, заданный пользователем в диалоге, добавить новую строку, заданную в окне редактора текста, сохранив упорядоченность по фамилиям.

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

8. - Сортировка… – упорядочить строки файла в редакторе текста по фамилиям методом пузырька и сохранить в том же файле.

- Выбор по маске… – загрузить в око редактора строки файла, представляющие студентов всех групп, имеющих фамилию, соответствующую маске с одним символом замещения * (звёздочка), заданной пользователем в диалоге.

9. - Сортировка при чтении… – при чтении строк файла, заданный пользователем в диалоге, добавлять их в окно редактора текста так, чтобы сохранялась упорядоченночть строк по фамилиям, а затем сохранить упорядоченный таким образом текст в том же файле.

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

10. - Сортировка при чтении… – при чтении строк файла добавлять их в окно редактора текста так, чтобы сохранялась упорядоченность строк по убыванию среднего балла, а затем сохранить упорядоченный таким образом текст в том же файле.

- Выбор трёх худших… – загрузить в око редактора три строки файла, представляющие студентов заданной пользователем в диалоге группы, имеющих наименьшие суммы баллов.

Характеристики

Тип файла
Документ
Размер
157,5 Kb
Тип материала
Высшее учебное заведение

Список файлов решённой задачи

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6417
Авторов
на СтудИзбе
307
Средний доход
с одного платного файла
Обучение Подробнее