Ну что, в первой части и во второй части статей, про сохранение данных TStringGrid в файлы и открытие из файла данных, с последующей загрузкой их в TStringGrid, мы поговорили о сохранение и считывание данных из типизированного файла, а также сохранение и считывание данных из текстового файла. Какой Вам метод понравился больше всего, а также какой файл Вам понравился больше всего выбирать Вам, но я Вам предложу еще один тип файлов — это ini-файл, который имеет свою структуру, и как мы уже говорили они чаще всего используются для сохранение настроек Вашей программы (приложения). Подробнее о данном типе файлов, Вы сможете прочитать тут, ну а мы продолжим дальше говорить о сохранение данных и их выгрузку. На форме у меня следующие компоненты
- TButton - 3 шт
- TStringGrid
- TEdit - 2 шт (для изменения размера TStringGrid)
И не забываем подключить в Uses модуль IniFiles и объявить переменную типа TIniFile. У меня так Ini:TIniFile;
Читать полностью »
Метки: ini, TStringGrid, сохранение TStringGrid, считывание из файла в TStringGrid
Сейчас, а именно в этой статье, я хотел бы поговорить об ini-файлах, так как в следующей статье хотел бы рассказать как можно сохранить TStringGrid именно в ini-файл. И дальше я буду рассказывать как создавать тесты с помощью ini-файлах, так что нам эта информация понадобится в дальнейшем. Вообще ini-файлы предназначены для сохранения настроек программы, также некоторые любят хранить настройки в реестре (об этом мы тоже поговорим, работать почти одинаково, что и с ini-файлами), но зачем лишним захламлять реестр, так что в этом случае используются ini-файлы (для настроек). Ini-файл (а точнее файл настроек) должен быть (состоит) из следующих разделов
- Название раздела
- Список значений раздела
Название раздела заключается в квадратные скобки — [название раздела]. Разделов может быть сколь угодно, это специально предназначено для удобного использования и разделения настроек. Список значений определяется с помощью названия переменных ini-файла. Например
- название переменной=значение
Метки: ini, ini-файлы, работа с ini-файлами в Delphi
В первой части статье по сохранение информации из TStringGrid в файл и считывание из файла в TStringGrid мы узнали как можно в типизированные фалах хранить информацию. Теперь давайте посмотрим как можно сохранить информацию в текстовый файл и считать из него данную информацию в TStringGrid. Тут может для кого-то и посложнее будет по сравнению с первым вариантом, так как в текстовом файле мы будет сохранять построчно информацию и наши данные необходимо разделить как-то, я использовал пробелы, но это менее быстрый вариант поэтому каждую ячейку записываем в каждую строку нашего текстового файла. Мы поступим так, в первую строку нашего текстового файла мы запишем количество строк и столбцов нашего TStringGrid, разделив их знаком «+«. Далее в цикле в каждую строку мы будем записывать значение каждой ячейки. При считывании информации, мы сразу считаем количество строк и столбцов, пропарсим наши данные (чтобы получить количество строк и столбцов, это мы умеем уже, правда?). И просто организуем цикл, как считаем количество столбцов и строк и будем считывать каждую строку и отображать их в TStringGrid.
Метки: TStringGrid, сохранение TStringGrid, считывание из файла в TStringGrid
Здравствуйте, в этой статье хотел бы поговорить о работе с типизированными файлами, я уже публиковал статьи, где применял их, ну так, чтобы для более понять темы по созданию тестов, по сохранению и считыванию данных TStringGrid. Давайте сначала подумаю, а что такое вообще типизированные файлы, да правильно — это те файлы, которые имеют определенный тип и мы изначально знаем их структуру. Для работы с типизированными файлами применяются следующие функции и процедуры
- AssignFile(F,’test.dat’) — связывает файловую переменную с именем файла, параметры передаваемые — файловая переменная и путь к файлу
- Rewrite(F) — создает файл, параметры — файловая переменная, необязательные — режим создания
- Reset(F) — открывает файл, то есть подрузумевается в том, что мы как бы ставим файл в режим открытия, чтения (в общем если файл имеется на диске или еще каком-то носителе и нам из него необходимо прочитать информацию, то тут без этой функции не обойтись).
- Seek (F,n) — устанавливает указатель в файле на нужную компоненту, параметры — файловая переменная, номер компоненты на которую необходимо переместиться.
- Write(F,Buf) — записывает компоненту в файл, параметры — файловая переменная, запись с данными
- Read(F,Buf) — считывает компоненту из файла, на которой стоит указатель (по умолчанию на первой), параметры — файловая переменная и запись, в которую необходимо считать данные
- EOF(F) — определяет достигнут ли конец файла (указатель конца файла), параметры — файловая переменная
- Truncate(F) — удаляет компоненту в файле, параметры — файловая переменная, перед этим необходимо установить указатель на компоненту, которую необходимо удалить
- FileSize(F) — определяет количество компонентов в файле, параметры — файловая переменная, возвращает целочисленный тип
- CloseFile(F) — закрывает файл, параметры — файловая переменная. Это как бы необязательная функция, но просто принято так, если открыл, то закрой его за собой.
Вот основные функции по работе с типизированными файлами. Многие из низ подходят для работы с текстовыми файлами. С нетипизированными файлами мы познакомимся в другой статье.
Многие используют в своих проектах TStringGrid и хотят сохранять данные из него в файл и загружать данные из файла, что логично, так как просто сохранения думаю не сильно имело бы смысла. Так вот предлагаю следующие варианты сохранения данных компонента TStringGrid в файл:
- типизированный файл
- текстовый файл
В данной статье мы рассмотрим как сохранить данные в типизированный файл, у нас будет структура всего с несколькими полями value типа string, ccount — количество столбцов, rcount — количество строк. Данное поле будет хранить значение каждой ячейки компонента TStringGrid и в цикле мы будем каждую ячейку записывать в файл, а считывать будем в цикле устанавливая указатель в файле на каждую компоненту.
Метки: TStringGrid, сохранение TStringGrid, считывание из файла в TStringGrid