Как создать файл в лазарусе
Перейти к содержимому

Как создать файл в лазарусе

Ввод, сохранение в текстовый файл и визуализация данных в среде Lazarus (язык pascal)

В данной статье рассмотрим решение основных задач, встречаемых в практике при разработке прикладной программы.
Типовые задачи:
1. Ввести некие данные;
2. Посчитать период времени от начала измерений;
3. Визуализировать их в форме графика;
4. Сохранение в текстовый файл;
5. Загрузка созданного файла и использование этих данных.

Сделано в последней на данный момент версии Lazarus 2.0.8 (в других вервиях возможны незначительное изменения)

Задачей будет ввод одного числового параметра в форму, отображение его на графике в зависимости от текущего времени. Сохранение происходит при закрытии программы, а загрузка — при открытии.

Вначале необходимо создать пустой проект и настроить его в меню Проект -> Параметры проекта.
Сохранить проект в отдельной папке: Проект -> Сохранить проект как…
На форму поместить следующие элементы:
1. TLabeledEdit (из вкладки Additional)
2. TButton (из вкладки Standart)
3. TChаrt (из вкладки Chart)

Должно получиться так: (Специально не изменялись названия имен компонентов и текст внутри, хотя это рекомендуется в настоящем проекте)

Ввод, сохранение в текстовый файл и визуализация данных в среде Lazarus (язык pascal)

Далее нужно создать серию для визуализации: Правой кнопкой мыши по графику -> Редактор диаграммы -> Добавить -> График

Ввод, сохранение в текстовый файл и визуализация данных в среде Lazarus (язык pascal)

Теперь нужно создать обработку событий в исходном коде программы.
Понадобятся три процедуры:
1. Инициализации procedure TForm1.FormShow(Sender: TObject);
В инспекторе объектов выбрать Form1 -> вкладка События -> OnShow (нажать ) Функция автоматически создается средой
2. Деинициализация procedure TForm1.FormClose(Sender: TObject; var CloseAction: TCloseAction);
В инспекторе объектов выбрать Form1 -> вкладка События -> OnClose (нажать ) Функция автоматически создается средой
3. Обработка ввода (нажатия на кнопку) procedure TForm1.Button1Click(Sender: TObject);
На форме совершить двойное нажатие на кнопку Button1
Получаем следующий шаблон в разделе implementation

Задаем хранилище данных в объекте TStrings, для этого в разделе var дописываем объявление переменной Data:TStringList.

Теперь необходимо принять протокол сохранения информации. Например, пусть в базе данных хранится дата и время ввода числа в текстовом виде, а через разделитель «;» — само число с плавающей точкой (но разделитель целой и дробной частей будет запятая).
Т.е. формат такой: ДД.ММ.ГГГГ ЧЧ.ММ.СС;ЧИСЛО

Программа будет преобразовывать дату и время в метку времени, затем в миллисекунды, а затем в минуты. Из каждого нового измерения будет вычитаться первое измерение. Таким образом, отсчет времени будет от нуля минут.

Задаем алгоритм инициализации:

Задаем алгоритм деинициализации:

Задаем алгоритм обработки ввода:

Ввод, сохранение в текстовый файл и визуализация данных в среде Lazarus (язык pascal)

После закрытия программы в папке появится файл data.csv, содержимое которого можно увидеть в Блокноте:

Здесь указывается дата, время с точностью до секунд и через разделитель ; введенное число. Обратите внимание, что целая и дробная часть числа разделяется запятой.
Его можно открыть в обычном текстовом редакторе (типа Блокнот) или в редакторе электронных таблиц (типа Excel).

При открытии программы, график должен опять появиться со введенными значениями!

В качестве дополнения:
Также может понадобиться удалять записи из базы (и графика).
Для этого можно добавить еще одну кнопку и поле ввода номера измерения , а также воспользоваться следующими функциями:
Data.Delete( i ); // удаляет строку с номером i (начиная от 0)
Chart1LineSeries1.Delete( i ); // удаляет i-тый элемент в серии на графике
StrToIntDef(Edit1.Text,-1); // Взять введенный текст из поля Edit1 и перевести его в целое число. Если это не число — возвратить -1 (для проверки ввода)

Для проверки выхода за диапазон, можно использовать:
Chart1LineSeries1.Count; // возвратит количество элементов в серии на графике.
Data.Count; // возвратит количество строк-записей

Можно удалять только последнюю запись и тогда поле для ввода не потребуется:
Data.Delete( Data.Count-1 );
Chart1LineSeries1.Delete( Chart1LineSeries1.Count-1 );

При возникновении вопросов, пишите в комментариях здесь или в сообществе ВК!

Как создать файл в TEXT из Delphi / C++Builder / Lazarus?

Файл формата TXT хранит в себе текстовые документы, информация в которых организована в виде строк. В современных системах строки разделяются разделителями строк, в прошлом же применялось хранение строк в виде записей постоянной или переменной длины. Иногда конец текстового файла, особенно если в файловой системе не хранится информация о размере файла, также отмечается одним или более специальными знаками, известными как маркеры конца файла. Важно отметить, текстовой файл может содержать как форматированный, так и неформатированный текст (иногда свойства плотности-жирности-наклонности шрифта регулируется специальными esc-последовательностями — управляющими символами).

Сегодня мы привыкли, что практически к любому символу может применяться форматирование шрифта, элементов начертания, а также определенных размеров по пользовательским предпочтениям. Существуют и более специализированные форматы, в которые входят XML, PHP, CSV и CHM, в их структуру заложен рассматриваемый тип файла TXT в качестве основы.

Открыть файл TXT можно не только на компьютере, но и на разнообразных мобильных телефонах, смартфонах, планшетах и специальных ридерах. Работать с Text File можно на всевозможных версиях платформ Microsoft Windows, Mac OS, Linux, iOS, Android и Windows Mobile.

Чтобы открыть TXT, большинство пользователей системы Майкрософт используют штатный Блокнот или популярный программный комплекс Microsoft Office, а вот пользователи Mac OS используют стандартную утилиту TextEditor.

Для чего нам может быть нужен “просто текст”? Мощные высокопродуктивные печатающие устройства в банках, например, по сей день печатают “обычный текст” (да, форматированный — но текст). Да и с точки зрения компактности хранения информации без дополнительного сжатия с ним вряд ли что сравнится. Корпоративный сектор любит “обычный TXT”.

Создаём TEXT в Delphi без единой строчки кода!

Прежде всего сборка проекта, после внедрение FastReport c компонентом “экспорт в Text file”, реализовываем отчёт, запускаем, нажимаем в предпросмотре “сохранить” и вызываем экспорт из предпросмотра (ниже покажу, как реализовать запись в TEXT с помощью кода Delphi). Появляется окошко настроек экспорта в TEXT.

TXT настройкиTXT настройки

Какие страницы нашего документа отправить в Excel, диапазон или только определённые страницы.

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

Как и всегда можно указать, куда отправить TEXT-файл (локально в файл, на электронную почту, FTP или поместить в облако).

Открыть после экспорта – результирующий файл будет открыт сразу же после экспорта программой, которая стоит по умолчанию для открытия TEXT-документов (Блокнот, TextEditor).

Код для сохранения в RTF сразу из Delphi / Lazarus

Сохранение в TXT

Теперь мы умеем сохранять сложные документы в обычный TXT-файл! Кстати, это не единственный способ делать сложные, но целиком TXT-документы. Обратите внимание — при выборе в дизайнере отчётов FastReport File — New… (именно с многоточием) появится окно выбора “что именно новое делать хотите”.

Новый элемент

Выбираем “Dot-Matrix Report” — и перейдём в режим создания исключительно TXT-отчёта. Но подробнее об этом в другой раз.

Как создать файл в лазарусе

Регистрация на форуме тут, о проблемах пишите сюда — alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите восстановить пароль

Поиск по форуму
Расширенный поиск
К странице.

Открываем файл, читаем его, если встретили знак препинания счетчик = счетчик + 1, выводим счетчик

= Delphi -> примеров полно. Используйте условие if<

выводим счетчик


Интенсив по Python: Работа с API и фреймворками 24-26 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки?
Slurm подготовили для вас особенный продукт! Оставить заявку по ссылке — https://slurm.club/3MeqNEk

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *