В типизированный

Постановка задачи: из заданного текстового файла создать типизированный файл, а затем содержимое нового файла вывести в таблицу.Для выполнения работы берется исходный текстовый файл IS.txt, созданный в редакторе Notepad и хранящийся в той же папке, что и проект.

Структура файла IS.txt:

Ф.И.О. Возраст Рост Цвет глаз Цвет волос Зарплата Наличие машины Наличие квартиры
Позиции 1-15 16-17 19-21 23-32 33-41 42-47 48-51 52-54

В столбцах 1, 2, 3, 4, 5, 7, 8 данные “прижаты” к левой границе отведенного поля позиций. В столбце 6 младшая цифра записана в 46-й позиции.

Содержимое исходного файла IS.txt:

Иванов И.И. 19 158 серый брюнет 600 нет нет

Петрова Н.А. 23 162 карий шатен 1200 да да

Алексеев В.И. 32 178 серый блондин 15000 да нет

Яковлева Т.Г. 25 159 голубой русый 7500 нет да

Корнев Б.П. 28 169 голубой блондин 10800 да да

Описание переменных:

Имя Тип Семантика
st r rzap f1 f2 строка строка запись файл файл Считанная из текстового файла строка Рабочая строка для формирования полей записи Компонента типизированного файла записи Заданный текстовый файл Сформированный типизированный файл

 

Вид формы с компонентами:

Для создания приложения с таким видом формы выполним следующие действия.

1. Используя страницу Additional палитры компонент, поместим в верхней части формы компоненту StringGrid (таблица строк), растянем ее, если есть в этом необходимость. С помощью Инспектора Объектов добавим свойству Option (параметры) значение goEditing (возможность редактирования), для чего раскроем это свойство, активизировав его мышью, и зададим в строке goEditing значение True. С помощью Инспектора Объектов зададим так же следующие свойства:

ColCount Число столбцов
FixedCols Число фиксированных столбцов
FixedRows Число фиксированных строк 1(для заголовка)

2. Выберем для формы в Инспекторе Объектов на странице Events событие OnCreate и активизируем его мышью. Это событие появляется при создании формы. В появившемся обработчике событий запишем текст, формирующий заголовки столбцов таблицы.

procedure TForm1.FormCreate(Sender: TObject);