Delphi как открыть блокнот

Создание и работа с текстовыми файлами в Delphi

Когда речь идет о работе с программой с текстовым файлом, мы имеем в виду процедуры ввода данных из файла в программу или, , написание этого данные в файл с помощью программы. Для текстового файла допустимы простые манипуляции с файлами без каких-либо специальных дополнительных механизмов, используемых для работы со специализированными файлами, таких как загрузка данных из Excel или работа с программой базы данных. Конечно, Delphi может работать с файлами с помощью компонентов. Однако в данной статье рассматривается механизм работы непосредственно с текстовым файлом без использования других компонентов.

В целом работа с файлом состоит из следующих шагов:

1. подключение к файл — подключение к внешнему файлу, указание режима подключения;

2. выполнение операций записи или чтения из файла;

3. завершение файла.

Прикрепление файла

Для связи программы с файлом используется специальная переменная — «Файловая переменная». Она объявляется так же, как и любая переменная в Delphi. Тип этой переменной может быть File для записываемых файлов (хранилище данных определенного типа) или может указывать TextFile , что будет означать тип обычного текстового файла. Объявление переменной:

Исполняемый код программы прикреплен к внешнему файлу:

Команда AssignFile , подключит файловую переменную к внешнему файлу. Второй параметр указывает адрес файла. Можно установить относительную или абсолютную. Если ввести только имя файла, программа попытается найти его в той же директории, где он находится. Абсолютный путь вводится от корневого диска:

Использование относительного каталога позволяет не привязываться к конкретным дискам и адресам. Например:

После установления соединения выполняется процедура, устанавливающая файловый режим. Это в основном режим чтения или записи. Эти режимы назначаются процедурами Reset() (для чтения) и rewrite() (для записи):

* Для команды Rewrite() , следует отметить, что при запуске он либо создаст файл, указанный в переменной file, либо, если он уже существует, снова перезапишет файл и удалит старый без предупреждения.

Любую из приведенных выше команд можно использовать без AssignFile() . Для этого вам нужно всего лишь указать путь к файлу в качестве второго параметра. Так он сразу привязывает файл к файловой переменной и присваивает этому файлу режим работы:

Операции с файлом

Чтобы читать из файла, необходимо установить режим чтения и использовать команду Readln() , которая вставляет строку из файла в строковую переменную. Затем вы можете делать с этим изменением все, что хотите.

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

Для записи установите файл в режим записи и используйте команду Writeln() для записи строки после строка.

Закрыть файл

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

Читайте также:  Как открыть кулон сердце

Примеры работы с текстовыми файлами в Delphi

Загрузить одиночное значение из файла в переменную:

Загрузить все строки файла в компонент Memo:

Обратите внимание, что для этой задачи проще использовать собственную команду компонента Memo LoadFromFile() .

Записать строку в file:

Записать все строки компонента Memo в текстовый файл:

Что касается чтения файла в Memo, то здесь есть специальная команда:

Шрифт

Delphi

Наши проекты

Урок 6: Базовый текстовый редактор

Ставим TMemo и TMainMenu в виде . Свойству Align устанавливаем значение alClient , чтобы компонент занимал все свободное пространство формы. Установите для свойства ScrollBars значение ssBoth и WordWrap для False . И удалите текст по умолчанию, введенный в Memo1, удалив этот текст из свойства Lines .

Дважды щелкните MainMenu1 — появится окно. Теперь создадим меню «Файл». Содержит пункты: «Создать», «Открыть», «Сохранить», «Сохранить как.», разделитель (символ «-») и «Конец»

Установите сочетания клавиш, как показано на рис . 1 . Клавиши быстрого доступа задаются в свойстве Ярлык

Рис. 1 – Меню «Файл»

Аналогичным образом создаем меню «Правка»:

Рис. 2 — Меню «Правка»

Аналогично создаем меню «Формат»:

Рис. 3 — Меню «Формат»

Итак, приступим. Окно редактора меню нам больше не нужно, его можно закрыть. У нас уже есть меню в форме. Он падает при нажатии, в целом почти работает. Осталось только написать код, который будет выполняться при выборе чего-либо в меню. Щелкните меню «Файл» и выберите «Готово».

Рис. 4. Создание события onClick после нажатия

появится окно редактора кода в меню «Выход» с подготовленной процедурой. Пишем:

Обратите внимание, что Close и Form1.Close — это одно и то же. Поскольку форма является родителем, имя родителя можно опустить.

Теперь программа завершит работу после выбора меню «Выход».

Реализация переноса

Из «Формат » выбираем «Перенос слов»:

Давайте разберемся, что мы делаем: Если режим переноса слов уже установлен, мы убираем его и ставим галочку на N14. И наоборот.

Реализация функции «Сохранить как»

Для сохранения документа нам понадобится диалоговое окно. Воспользуемся TSaveDialog во вкладке Диалоги . Поместим его в форме.Настроим фильтр,то есть файлы которые этот диалог будет отображать.Нам нужны *.txt,то есть текстовые документы.Для этого нужно найти свойство Фильтр и нажмите на кнопку .Появится окно.Заполните его как показано на рис. .5 .

Рис. 5 — Редактор фильтров

Теперь измените свойство DefaultExt на *.txt . Это расширение будет добавлено к файлу.

Давайте создадим процедуру для сохранения файла. Напишем этот код сразу после .

Затем выберите «Файл» в меню -> «Сохранить как. «. Здесь пишем:

Что здесь делается и как это работает? Очень простой! Когда пользователь выбирает пункт меню «Сохранить как», вызывается описанная ранее процедура «Сохранить как». Теперь давайте посмотрим на процедуру Сохранить как. Когда функция Execute вызывается в TSaveDialog , появляется диалоговое окно Save, и если пользователь нажимает кнопку Save, функция Execute возвращает True в противном случае False . При возврате True будет выполнена процедура SaveToFile , т.е. сохранение файла. SaveDialog1.FileName хранит путь к файлу, на который указывает пользователь в диалоговом окне.

Я ввел глобальную переменную FileWork . Сохраняет путь к файлу, с которым работает пользователь. Это необходимо для реализации функции «Файл» -> «Экономить деньги». Обязательно объявите его в разделе Var перед реализацией . Должно быть так:

Реализация функции «Сохранить»

Выберите «Файл» —> «Экономить деньги». И пишем:

Читайте также:  Как открыть керамические часы

Если пользователь уже сохранил файл, то в FileWork что-то сохранится, а не «пустое» ни в коем случае. Если » сохраняется, то есть ничего не сохраняется, мы вызываем SaveAs. Появится только диалоговое окно Сохранить. Если переменная FileWork не пуста, сохраните файл по пути, указанному в FileWork.

Реализация функции «Открыть»

Помимо TSaveDialog , есть TOpenDialog . А если вы немного знаете английский, то уже поймете, что этот компонент для открытия файлов.

Расположите этот компонент на форме и измените свойство Filter так же, как в SaveDialog1.

Вообще, TSaveDialog и TOpenDialog очень похожи. Диалоговое окно открытия также вызывается командой Execute , которая возвращает True , если пользователь хочет открыть файл.

Щелкните «Файл» — > «ОТКРЫТЫМ». Пишем:

Запускаем программу F9 и пробуем. Если все сделано правильно, все должно работать.

Реализация функции «Создать»

Нажмите «Файл» —> «Создавать». Пишем:

Тут все понятно и без объяснений. Но все же поясню: первая строчка удаляет FileWork, то есть программа не будет знать, что мы работаем с файлом. Вторая строка удаляет Memo1.

Реализация функций в меню «Правка»

Щелчок меню «Вырезать»:

Щелчок меню «Копировать»:

Щелчок по меню «Вставка»:

Реализация функций в меню «Шрифт»

Нужен еще один компонент — TFontDialog . Функция для вызова такая же, как у TOpenDialog и TSaveDialog — Execute . Создайте событие, щелкнув меню «Источник».

Если пользователь применил изменения, Свойства шрифта Memo1 назначается настройка шрифта, выбранная пользователем. Они хранятся в свойстве Font FontDialog1.

Конец близок.

Основная часть программы написана. Осталось совсем немного. Нам нужно активировать форму, чтобы ее свойства появились в инспекторе объектов, но поскольку Memo1 охватывает всю форму, мы не можем этого сделать. Есть несколько вариантов. Вы можете просто выделить форму в Object TreeView. Либо выберите Memo1, затем, удерживая клавишу Shift, снова нажмите Memo1.

Итак, вы активировали форму. Изменим заголовок окна: в свойстве Заголовок напишем «Блокнот». Измените свойство Position на poScreenCenter , чтобы форма отображалась в центре экрана.

И, наконец, добавьте модуль XPMan в список модулей (раздел использования ). Это должно выглядеть примерно так:

Этот модуль прикрепляет XMManifest к приложению, т.е. если у вас установлена ​​XP, то все компоненты станут в стиле XP, а если у вас Vista, то они станут в стиле Vista, а не как на Win98 или Win2000. Не стесняйтесь экспериментировать

Загрузите исходный код программы

Урок 7: Изучение TImage, TGroupBox, TRAdioGroup

Обсуждение на форуме

Источник

Урок 22. Как работают файлы

В этом уроке мы научимся работать с файлами.

Ознакомиться с набором необходимых для работы функций.

function FileCreate(const FileName: String): integer;

Создает файл по указанному пути Имя file и возвращает индекс созданного файла. Возвращает -1 при ошибке создания.

function FileOpen(const FileName: String; Mode: LongWord): integer;

Открывает файл по указанному пути Имя файла с параметрами Режим , также возвращает -1 при ошибке. Параметр Mode может принимать одно из следующих значений:

  • fmOpenRead — открыт для чтения
  • fmOpenWrite — открыт для записи
  • fmOpenReadWrite — открыть для чтения и записи

function FileRead(handle: integer; var Buffer; Count: integer): integer;

Читает открытый или созданный файл. Вместо пути индекс файла принимает дескриптор . Буфер : куда будет записан контент. Count : количество байтов для чтения.

function FileWrite(handler: integer; var Buffer; Count: integer): integer;

Читайте также:  Как открыть дверь на крышу многоэтажки

Аналогична функции чтения, но вместо чтения она записывает в файл содержимое размером Число (в байтах) переменной Буфер .

функция FileClose(обработчик: целое число);

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

function FileSearch(const Name, DirList: string): String;

Поиск файла Имя в одной или нескольких папках DirList , разделенных точкой с запятой. Необходимо ввести не только название папки, но и полный адрес этой папки.
Имя файла может быть именем файла или полным адресом файла.
Если это файл найден, будет возвращен полный адрес файла, включая имя файла; если искомый файл не найден, будет возвращена пустая строка.

ПРЕДУПРЕЖДЕНИЕ: Текущая папка ВСЕГДА будет искаться первой, независимо от указанных каталогов. Если файл найден там, путь к файлу не будет возвращен, только имя файла.

function FileSeek(Handle, Offset, Origin: Integer): Integer;

Устанавливает позицию чтения/записи (в байтах) открытого файла и возвращает новую позицию в файле (смещение в байтах от начала файла). Возможные значения параметра Source перечислены ниже. Чтобы определить текущую позицию в файле, передайте File_Current в Origin и Offset в ноль.

  • File_Begin (0) : смещение рассчитывается относительно начала файла
  • File_Current (1) : смещение рассчитывается относительно к текущей позиции в файле
  • File_End (2) : смещение вычисляется относительно конца файла

Теперь мы Закончили с теорией, кое-что посчитаем. убрать в форме 2 кнопки и Memo и написать в обработчике события кнопки 1 OnClick следующий код: функция SizeOf возвращает размер типа или самой переменной в байтах, т.к. размер строки заранее неизвестен. скомпилируйте и нажмите кнопку.

Теперь давайте прочитаем это. создайте обработчик события для кнопки 2 OnClick и напишите код:

Источник

Delphi как открыть блокнот

Создание блокнота
1. Сегодня мы будем создавать простой блокнот в Delphi 7. Для этого открываем Delphi 7, вставляем его на форму:

1 шт. Memo (из вкладки Standard),
1 шт. MainMenu (из вкладки Standard),
1 шт. StatusBar (из вкладки Win 32),
1 шт. XPManifest (из вкладки Win32),
1 шт. Открыть диалог (из вкладки Диалог),
1 шт. SaveDialog (из вкладки Dialog),
1 шт. FontDialog (из вкладки Dialog),

2. Дважды щелкните компонент в форме MainMenu1, появится окно. Вводим как показано на картинке:

3. Удаляем параметр lines в Memo. Мы присваиваем значение alClient параметру align.
Теперь приступим к кодированию:
-Выполнить нажмите MainMenu на Open и напишите:

Если OpenDialog1.Execute=true, то
Memo1.Lines.LoadFromFile(OpenDialog1.FileName); //Открыть текст в Memo1

-Нажмите MainMenu на Save и введите:

If SaveDialog1.Execute=true then

Memo1.Lines.SaveToFile(SaveDialog1.FileName ) ; // Сохранить текст в Memo1

-Нажмите MainMenu при выходе и напишите:

Form1.Close; //Закройте Блокнот

-Нажмите MainMenu на Undo и введите:

Memo1.Undo; //Отменить изменения

-Нажмите Копировать в главном меню и введите:

Memo1.CopyToClipboard; //Вставить текст из буфера обмена
Нажмите Вставить в главном меню и введите:

Memo1.PasteFromClipboard; //Скопируйте текст в буфер обмена

-Нажмите на MainMenu под шрифтом и напишите:

Если FontDialog1.Execute=true, то
Memo1.Font:=FontDialog1.Font; //Memo1.Font принимает все значения FontDialog1.Font
Теперь создадим новую форму (Файл->Создать->Форма). Назовем его О. , фон будет белым. Напишите о программе, имени создателя, адресе электронной почты и т. д. Затем перейдите в редактор кода Delphi 7 и введите use unit2; между реализацией и <$R *.dfm>.

-Затем нажмите О программе в главном меню. и напишите:

Form2:=TForm2.create(Application);
Форма2.Показать; //Show Form2

— Дважды щелкните строку состояния, и появится окно.

— Щелкните желтую панель и назовите ее «0» (без кавычек). Дважды щелкните Memo1 и введите:

Шрифт

Поделиться с друзьями
Решатор
Adblock
detector