Текстовый редактор на паскале

Здравствуйте, пишу текстовый редактор на паскале 🙂 Думаю как организовать ввод, была мысль сделать массив со строками, просто мы в текстовом редакторе, иногда начинаем писать с новой строки, а при помощи стандартной процедуры read после того, как нажмём enter, он записывает в переменную, то, что вводит юзер, я думаю сделать типа цикла, и если юзер нажал ентер, то просто добавлять старую строку в массив, и создаём новую, но вот не уверен в правильности такого решения, и как в паскале настроить сочетании HotKeys, нужно как поймать событие когда юзер нажимает ctrl+s

1 ответ 1

С помощью read[ln] вы реализуете не текстовый редактор, а строковый. Да, тут циклом читаете построчно, заносите в массив каждую введенную строку. Получится этакий copy con.

Более интересный текстовый редактор надо писать с помощью readkey, gotoxy и т.д (гугль в помощь по модулю crt). Т.е. получаете введенный символ, и в зависимости от того что ввели выполняете действия – печатаете символ, двигаете курсор, удаляете символ и т.д. Тут и шорткаты сможете обработывать.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками pascal или задайте свой вопрос.

Похожие

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

дизайн сайта / логотип © 2019 Stack Exchange Inc; пользовательское содержимое попадает под действие лицензии cc by-sa 4.0 с указанием ссылки на источник. rev 2019.12.20.35703

Презентация. Язык программирования «ПАСКАЛЬ» Текстовой редактор языка.

Рассмотреть краткую историю языка программирования "Паскаль". Сформировать первые сведения о языке Pascal; Получить навыки работы в текстовом редакторе языка Pascal.

Просмотр содержимого документа
«Язык программирования «ПАСКАЛЬ»Текстовый редактор языка»

Тема урока: Язык программирования «ПАСКАЛЬ» Текстовой редактор языка.

ГБОУ Школы №293 им. А.Т. Твардовского г. Москвы

Бахтинова Наталия Валерьевна

  • Сформировать первые сведения о языке Pascal;Получить навыки работы в текстовом редакторе языка Pascal.

Исторические сведения о языке «Паскаль»

  • Язык программирования Паскаль получил своё название в честь великого французского математика и физика Блеза Паскаля, который в 1642г. изобрёл счётную машину для арифметических операций, так называемое "паскалево колесо". В конце 1968 г. профессор Вирт и его сотрудники из швейцарского федерального института технологии в Цюрихе разработали первую версию языка Паскаль. Спустя два года – первый вариант компилятора. В 1971 г. Вирт выпустил описание своего языка.

Блез Паска́ль — французский математик, механик, физик, литератор и философ

Создавая Паскаль Вирт преследовал две цели:

  • во-первых, разработать язык пригодный для обучения программированию как систематической дисциплины;
  • во-вторых, реализация языка должна быть эффективной и надёжной.
  • Одним из достоинств языка Паскаль является то, что он полностью воплотил в себя идею структурного программирования, суть которой заключается в том, что с помощью нескольких конструкций можно выразить в принципе любые алгоритмы.
Читайте также:  Virtualbox запуск с флешки

Никлаус Вирт (нем. Niklaus Wirth, род. 15 февраля 1934 года) — швейцарский учёный, один из известнейших теоретиков в области разработки языков программирования. Ведущий разработчик и создатель языков программирования Паскаль, Модула-2, Оберон.

Запуск языка «Паскаль»

Для запуска языка Паскаль нужно загрузить файл PASCAL.EXE находящийся, как правило, в каталоге PASCAL.

  • На синем фоне будем писать программу.
  • На сером фоне написаны строки подсказки.
  • Верхняя строка содержит раскрывающиеся меню: Ф айл, Т екст, В ыполнение, К омпиляция, Р ежимы, О тладка, Н аблюдение.
  • Для перехода в верхнее меню нажимаем F10. Нажатие клавиши alt и первой буквы любого из слов верхнего меню раскрывает окно. (пример alt + B)

  • Ввод программы в компьютер представляет собой ввод текста в компьютер. Ниже перечислены наиболее часто используемые команды текстового редактора Турбо Паскаля.

  • PgUp – на страницу вверх;
  • PgDn – на страницу вниз;
  • Home – в начало строки;
  • End – в конец строки;
  • Ctrl-PgUp – в начало текста;
  • Ctrl-PgDn – в конец текста.

  • Backspace (←) – стереть символ слева от курсора;
  • Del – стереть символ, на который указывает курсор (справа от курсора);
  • Ctrl-Y – стереть строку, на которой располагается курсор;
  • Enter – вставить новую строку, разрезать старую;
  • Ctrl-Q L – восстановить текущую строку (действует, если курсор не покидал изменённую строку ).

Работа с блоком

  • Ctrl-K B – пометить начало блока;
  • Ctrl-K K – пометить конец блока;
  • Ctrl-K Y – стереть блок;
  • Ctrl-K C – копировать блок;
  • Ctrl-K V – переместить блок;
  • Ctrl-K W – записать блок в дисковый файл;
  • Ctrl-K R – прочитать блок из дискового файла;
  • Ctrl-K P – напечатать блок;
  • Ctrl-K H – убрать выделение блока.

Вопросы для повторения:

  • В каком году появилась первая версия языка программирования Pascal?
  • Какими достоинствами обладает язык Pascal?
  • Какие клавиши удобно использовать для быстрого перемещения курсора по программе из верхнего левого угла экрана в нижний правый угол? (а если наоборот ?)
  • Что необходимо сделать, чтобы скопировать часть программы?
  • Можно ли восстановить изменения сделанные в тексте программы?

Урок из серии: «Программирование для школьников в среде Lazarus»

Стандартные диалоги – это диалоговые окна, общие для большинства приложений Windows. Например, когда пользователь сохраняет файл в редакторе Word, он использует диалоговое окно Save As … (Сохранить как …). Когда он сохраняет рабочую книгу в Microsoft Excel, он также использует диалоговое окно Save As …

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

Вместо этого программист попросту устанавливает стандартный компонент на форму и задает ему необходимые свойства.

В составе Lazarus поставляется 14 диалоговых компонентов. Все они находятся на вкладке Dialogs. Как и MainMenu, в среде Lazarus диалоговые компоненты являются невизуальными, они присутствуют на форме в виде значков, однако во время выполнения они невидимы.

Читайте также:  Антивирус для прокси сервера

В этом уроке мы рассмотрим диалоговые компоненты: TOpenDialog, TSaveDialog, TFontDialog.

Для активизации диалогового окна используется метод Execute(). Он выполняет открытие соответствующего окна и возвращает значение True, если пользователь щелкнул по кнопке ОК.

Компоненты TOpenDialog и TSaveDialog

Компонент TOpenDialog предназначен для выбора файла с целью последующего открытия, а компонент TSaveDialog — для последующего сохранения файла.

свойства приведены в таблице.

DefaultExt Расширение файла по умолчанию Добавляется в конец имени файла, если расширение не указано явно. Title Заголовок диалогового окна FileName Выбранное пользователем имя файла вместе с полным путем поиска. Filter Список расширений файлов, в соответствии с которыми отбираются имена файлов для отображения в диалоговом окне при открытии файла . При сохранении файла выбранное из списка расширение добавляется к имени файла. FilterIndex Порядковый номер строки в списке расширений.

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

Рассмотрим использование диалоговых окон на примере создания простейшего Текстового редактора.

Задание. Создайте приложение Текстовый редактор. В приложении должно быть меню, содержащее пункты: Файл -Открыть, Файл-Сохранить, Шрифт. Приложение открывает текстовый файл на диске с использованием компонента TOpenDialog, записывает текст из файла в объект Memo на форме. После редактирования и форматирования текст необходимо сохранить. Для выбора файла для сохранения использовать компонент TSaveDialog, при форматировании шрифта — компонент TFontDialog.

При работе с текстовыми файлами следует иметь в виду, что при выводе в TMemo файла с русским текстом, в Windows буквы могут отображаться некорректно. Это вызвано тем, что текстовые файлы в ОС Windows имеют кодировку CP-1251. Перед выводом текст необходимо преобразовать в кодировку UTF8.

Для преобразования символов из одной кодировки в другую можно использовать функции: SysToUTF8() и UTFToSys().

Ход выполнения проекта

1. Создайте форму и разместите на ней компоненты MainMenu, Memo1. Компонент MainMenu – невизуальный компонент, его значок можно поместить в произвольном месте.

2. Чтобы начать формирование пунктов меню, дважды щелкните по компоненту TMainMenu1. Откроется специальное окно Редактор меню.

Определите пункты меню.

Меню первого уровне содержит два пункта: New Item1 и New Item2 . Первый пункт создается автоматически. Чтобы на этом уровне добавить второй пункт, откройте контекстное меню существующего пункта и выполните команду Вставить новый пункт (после). Появиться новый пункт New Item2.

Меню New Item1 содержит пункты : New Item3 и New Item4. Откройте контекстное меню пункта New Item1 и выполните команду Создать подменю. В подменю появиться пункт New Item3. Для него откройте контекстном меню и выполните команду Создать новый пункт (после). Появиться пункт New Item4.

3. Значения свойств установите в соответствии с таблицей.

Компонент Свойство Значение
MenuItem1 Caption Файл
MenuItem2 Caption Шрифт
MenuItem3 Caption Открыть
MenuItem4 Caption Сохранить
Form1 Caption Текстовый редактор
Memo1 ScrollBars ssVertical

4. Удалите текст «Memo1» из окна Memo1.

  • выберите в окне Инспектор объектов объект Memo1;
  • на странице Свойства в строке Lines дважды щелкните на значении String или на кнопке с многоточием для формирования и редактирования текста;
  • в окне Диалог ввода строк удалите текст «Memo1» и щелкните мышью на кнопке ОК.
Читайте также:  Q6700 в современных играх

5. Выберите в палитре компонентов вкладку Dialogs и поместите на форму компоненты OpenDialog, SaveDialog, FontDialog.

Эти компоненты невизуальные, разместить их в нижней части формы рядом со значком TMainMenu.

6. Настройте свойства компонентов OpenDialog, SaveDialog

Компонент Свойство Значение
OpenDialog1 Title Открыть
SaveDialog1 Title Сохранить

7. Чтобы реализовать выбор типа файла при открытии файла в окне диалога:

  • выберите в окне Инспектор объектов объект OpenDialog1;
  • на странице свойства дважды щелкните мышью по списку значений свойства Filter.
  • в окне Редактор фильтра (Filter Edit) задайте фильтры для выбора типа и расширения файла.

8. Чтобы установить в качестве расширения файла первый вариант (.txt), задайте для свойства OpenDialog1.FilterIndex значение 1.

9. Для диалога SaveDialog задайте свойство DefaultExt = txt (чтобы расширение txt автоматически добавлялось к создаваемому файлу).

10. В разделе implementation после директивы < TForm1 >запишите программный код процедуры Ansi_Memo, реализующей загрузку текста из файла с системной кодировкой (кодировка Ansi) в memo-поле (кодировка UTF8), а также процедуры Memo_Ansi, сохраняющей текст из memo-поля в файле на диске.

11. Напишите программный код для процедуры обработчика щелчка на пункте меню Файл – Открыть. Для этого дважды щелкните на данном пункте меню.

После выбора пользователем файла в свойстве OpenDialog1.FileName будет находиться имя файла вместе с путем к нему.

Обратите внимание на оператор:

Если имя файла, а также путь содержит кириллицу, то необходимо строку с именем файла преобразовать в системную кодировку.

12. Напишите программный код процедуры обработчика щелчка на пункте меню Файл-Сохранить:

Приложение открывает диалоговое окно «Сохранить», в котором задается имя файла. Имя файла из свойства SaveDialog1.FileName запоминается в переменной FName. В заключительной части процедуры оператор Memo1.Lines.SaveToFile(FName); используется для записи в файл содержимого свойства Lines объекта Memo1

13. Напишите программный код процедуры обработчика щелчка на пункте меню Шрифт:

14. Сохраните, откомпилируйте и запустите на выполнение созданное приложение.

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

16. Отредактируйте текст в окне приложения и нажмите кнопку Сохранить.

После этого в диалоговом окне сохранить текстовый файл выберите в поле тип файла расширение для сохраняемого файла, задайте его имя и щелкните мышью по кнопке Сохранить.

17. Открыв в окне Проводника папку, в которой был сохранен файл, убедитесь, что файл с указанным вами именем в ней есть.

18. Измените размер шрифта и цвет в диалоговом окне Шрифт.