Подготовка к РК1 (956678)
Текст из файла
Пример задания на РК1
Каждая запись типа tz содержит в 1 поле – номер, в поле 2 – название города (string[18]), в поле 3 – телефон (string[7]), в поле 4 – код города (string[3]) и в поле 5 – добавочный номер телефона (string[4]). Составить программу с меню, содержащую 5 обработчиков его пунктов, выполняющих:
-
Создание типизированного файла ‘Города.tel’ с базовым типом tz (не менее 3 городов и не менее 3-х записей по каждому).
-
Отображение в таблице типа TStringGrid данных созданного файла.
-
Создание файла ‘Москва.tel ‘ из записей файла ‘Города.tel’.
-
Отображение в таблице данных файла ‘Москва.tel ‘.
-
Упорядочение записей непосредственно в файле ‘Города.tel’ по коду города, использовуя операторы for и while..
Пример последовательности работ при выполнении РК1
-
Вывести на панель инструментов кнопки для редактирования текста.
ВЫПОЛНЕНИЕ:
View\ToolBars\Customize… вкладка Command в левом списке выбрать Edit, из правого списка по очереди буксировать на панеь инструментов и бросать там кнопки ,
,
,
,
,
.
-
Объявить типы в части реализации.
tz=record
Gorod:string[18];
Telefon: string[7];
Kod:string[3];
Dob: string[4];
end;
tf=file of tz;
tm=array[1..12] of tz;
- Опробоваь, удалить ошибки.
3. Объявить массив с начальными значениями и другие переменные в разделе var.
m:tm=(
(Gorod:'Москва'; Telefon:'3452123'; Kod:'123'; Dob:'7755'),
(Gorod:'Владивосток'; Telefon:'9789951'; Kod:'345'; Dob:'5655'),
(Gorod:'Москва'; Telefon:'4122123'; Kod:'123'; Dob:'6755'),
(Gorod:'Владивосток'; Telefon:'8459951'; Kod:'345'; Dob:'4123'),
(Gorod:'Петербург'; Telefon:'5643243'; Kod:'666'; Dob:'';),
(Gorod:'Москва'; Telefon:'2253463'; Kod:'123'; Dob:''),
(Gorod:'Самара'; Telefon:'7474284'; Kod:'435'; Dob:'3321'),
(Gorod:'Петербург'; Telefon:'5643243'; Kod:'666'; Dob:'';),
(Gorod:'Москва'; Telefon:'1253463'; Kod:'123'; Dob:''),
(Gorod:'Самара'; Telefon:'7374284'; Kod:'435'; Dob:'3343'),
(Gorod:'Москва'; Telefon:'1813463'; Kod:'123'; Dob:''),
(Gorod:'Самара'; Telefon:'4479284'; Kod:'435'; Dob:'3354')
);
f1,f2:tf;
z:tz;
- Опробоваь, удалить ошибки.
4. Создать структуру меню вида:
- На вкладке Standard щелкнуть на кнопке MainMenu, а затем – на форме.
- Сделать двойной щелчок на значке на форме (откроется редактор меню) и последовательно ввести слова Файл, Создать1, Открыть1, Создать2, Открыть2, Упорядочить 1, нажимая после каждого слова Enter, а затем ввести слово Очистить во второй пункт строки меню и слово Выход – в третий..
5. Поместить на форму таблицу StringGrid1 типа TStringGrid.
- На вкладке Additional щелкнуть на кнопке StringGrid, а затем – на форме. Заполнить таблицей всю клиентскую область формы, выбрав в Object Inspector для свойства Align таблицы StringGrid1 значение alClient.
- Опробоваь, удалить ошибки.
6. Создать обработчик создания формы.
- Щелкнуть на свободном месте формы, в окне Object Inspector активизировать вкладку Events и в правой части строки OnCreate сделать двойной щелчок.
- Заполнить шаблон обработчика так:
procedure TForm1.FormCreate(Sender: TObject);
begin //обработчик создания формы
//задать число строк и столбцов
StringGrid1.RowCount:=13;
StringGrid1.ColCount:=4;
//разрешить редактирование текста в ячейках
StringGrid1.Options:=StringGrid1.Options+[goEditing];
//зафиксировать верхнюю строку таблицы
StringGrid1.FixedRows:=1;
//не фиксировать столбцы таблицы
StringGrid1.FixedCols:=0;
//озаглавить столбцы таблицы
StringGrid1.Cells[0,0]:='Город';
StringGrid1.Cells[1,0]:='Телефон';
StringGrid1.Cells[2,0]:='Код города';
StringGrid1.Cells[3,0]:='Добавочный';
end;
- Опробоваь, удалить ошибки.
7. Создать обработчик пункта меню «Очистить».
- Щелкнуть дважды на узле Очистить в окне Structure.
- Заполнить шаблон обработчика так:
procedure TForm1.N2Click(Sender: TObject);
var i,j:integer;
begin //обработчик пункта меню «Очистить»
for i:=1 to 12 do
for j:=0 to 4 do
StringGrid1.Cells[j,i]:='';
end;
- Опробоваь, удалить ошибки.
8. Создать обработчик пункта меню «Выход».
- Щелкнуть дважды на узле «Выход» в окне Structure.
- Поместить в шаблон обработчика оператор Close.
- Опробоваь, удалить ошибки.
9. Создать обработчик пункта меню «Создать1».
- Щелкнуть дважды на узле Создать1 в окне Structure.
- Заполнить шаблон обработчика так:
procedure TForm1.N11Click(Sender: TObject);
var i:integer;
begin //обработчик пункта меню «Создать1»
AssignFile(f1,'D:\temp\Группа Фамилия\Города.tel');
Rewrite(f1);
for i:=1 to 12 do
Write(f1,M[i]);
CloseFile(f1);
end;
- Опробоваь, удалить ошибки.
10. Создать обработчик пункта меню «Открыть1».
- Щелкнуть дважды на узле Открыть1 в окне Structure.
- Заполнить шаблон обработчика так:
procedure TForm1.N12Click(Sender: TObject);
var i:integer;
begin //обработчик пункта меню «Открыть1»
Form1.N2Click(self);//очистить таблицу
AssignFile(f1,'D:\temp\Группа Фамилия\Города.tel');
Reset(f1);
for i:=1 to 12 do
begin
Read(f1,z);
StringGrid1.Cells[0,i]:=z.Gorod;
StringGrid1.Cells[1,i]:=z.Telefon;
StringGrid1.Cells[2,i]:=z.Kod;
StringGrid1.Cells[3,i]:=z.Dob;
end;
CloseFile(f1);
end;
- Опробоваь, удалить ошибки.
11. Создать обработчик пункта меню «Создать 2».
- Щелкнуть дважды на узле Создать2 в окне Structure.
- Заполнить шаблон обработчика так:
procedure TForm1.N21Click(Sender: TObject);
var i:integer;
begin //обработчик пункта меню «Создать 2»
Form1.N2Click(self);//очистить таблицу
AssignFile(f1,'D:\temp\Группа Фамилия\Города.tel');
Reset(f1);
AssignFile(f2,'D:\temp\Группа Фамилия\Москва.tel');
Rewrite(f2);
i:=0;
While not Eof(f1) do
begin
Read(f1,z);
if z.Gorod = 'Москва' then
Write(f2,z);
end;
CloseFile(f1);
CloseFile(f2);
end;
- Опробоваь, удалить ошибки.
12. Создать обработчик пункта меню «Открыть 2».
- Выполнить подобно обработчику пункта меню «Открыть 1».
- Опробоваь, удалить ошибки.
13. Создать обработчик пункта меню «Упорядочить 1».
- Щелкнуть дважды на узле «Упорядочить 1» в окне Structure.
- Заполнить шаблон обработчика так:
procedure TForm1.N13Click(Sender: TObject);
var i,k:integer; p:tz;
begin //обработчик пункта меню «Упорядочить 1»
AssignFile(f1,'D:\temp\Группа Фамилия\Города.tel');
Reset(f1);
for i:=1 to FileSize(f1)-1 do
begin
k:=0;
while k<FileSize(f1)-I do
begin
Seek(f1,k);
Read(f1,z,p);
if p.Kod<z.Kod then
begin
Seek(f1,k);
Write(f1,p);
Write(f1,z);
end;//if
k:=k+1;
end;//while
end;//for
CloseFile(f1);
end;
Характеристики
Тип файла документ
Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.
Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.
Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.