Процедура Button1Click для занесения изменений, сделанных в таблице, в текстовый файл.
Алгоритм выполнения основного тела программы приведен на рисунке А.1 в приложении А. Так в процедуре в первую очередь осуществляется привязка файла к файловой переменной и открытие текстового файла для чтения текстовой информации.
Затем производится чтение информации из файла построчно.
Затем в каждой строке выделяются слова.
Затем осуществляется поиск в выделенных словах разделителя.
Далее, если найден разделитель, происходит запись данных из файла в таблицу программы.
В ходе выполнения работы использовались следующие операции работы с текстовыми файлами:
AssignFile (<Имя файловой переменной>,<Имя файла>);
Имя файла задается либо строковой константой, либо через переменную типа Sting. Имя файла должно соответствовать правилам работающей в данный момент операционной системы. Если строка имени пустая, то связь файловой переменной осуществляется со стандартным устройством ввода-вывода.
Reset (<Имя файловой переменной>);
Открывается файл для чтения из него информации, ему присваивается имя, заданное процедурой Assign.
После работы с файлом он, как правило, должен быть закрыт процедурой CloseFile (<Имя файловой переменной>). Чтение информации производит оператор Readln(f,str). После его выполнения строка из файла заносится f в переменную строкового типа данных str.
4. ОПИСАНИЕ ВХОДНЫХ ДАННЫХ
Исходными данными для выполнения является файл, который должен содержать, или в который нужно внести, данные о работе с клиентами.
Выходными данными являются:
- изменение данного текстового файла;
- заполненная таблица о работе с клиентами, которая содержит следующие пункты: номер по порядку, наименование клиента, вид услуги, дата начала работы с клиентом, срок абонентской платы.
Разработанная программа представляет собой исполняемый файл Kozirev.exe размером 430 Кбайт. В программе реализован алгоритм программы для работы с клиентами, которая содержит следующие пункты: номер по порядку, наименование клиента, вид услуги, дата начала работы с клиентом, срок абонентской платы. Предусмотрено ввод, редактирование и удаление данных. После запуска программы появляется окно, изображенное на рисунке 4.1.
После этого пользователь должен заполнить таблицу. На рисунке 4.2 показан пример диалогового окна с заполненной таблицей.
Рисунок 4.1 – Главное окно программы
Рисунок 4.2 – Пример заполненной таблицы
После заполнения таблицы необходимо сохранить внесенные изменения в текстовый файл. Что осуществляется по нажатию кнопки "Записать". Пример этого действия показан на рисунке 4.3.и 4.4.
Пример сообщения о нахождении заглавного символа приведен на рисунке 4.3.
Рисунок 4.3– Пример текстового фала до нажатия кнопки "Записать"
Рисунок 4.4- Пример текстового фала после нажатия кнопки "Записать".
Результат заполнения таблицы заносится в текстовый файл служащий базой данных для работы с клиентами.
Функционирование программы полностью соответствует заданию.
ВЫВОДЫ
Данная курсовая работа была выполнена в полном соответствии поставленному заданию и отлажена в среде Delphi 7.0. В ходе выполнения курсовой работы была разработана программа для работы с клиентами, с данными: номер по порядку, наименование клиента, вид услуги, дата начала работы с клиентом и срок абонентской платы, предусмотреть ввод, редактирование и удаление данных
В ходе выполнения курсового проекта были проведен - анализ технического задания и постановка задачи проектирования.
Были выделены функции, которыми должна обладать разрабатываемая программа.
Был разработан алгоритм программы, предназначенной для выполнения сформированных функций.
Согласно разработанному алгоритму была составлена и отлажена программа алгоритмическом языке программирования Delphi. В ходе разработки программы проводилось ее тестирование и отладка на тестовых наборах. Для написанной программы разработана инструкция оператора с указанием порядка выполняемых действий .
Результаты работы оформлены в виде пояснительной записки.
В ходе разработки программы были закреплены навыки работы:
- командами ввода-вывода как на экран, так и в текстовые файлы,
- использования процедур,
- команды обработки массивов,
- команды для реализации циклов с заданным числом повторений;
- команды проверки условий и реализации ветвлений.
В результате выполнения данной курсовой работы, мы убедились в широких возможностях языка программирования Delphi, закрепили практические навыки программирования в cреде Delphi.
1. Зуев Е.А. Программирование на языке Delphi6.0,7.0. – М.: Радио и связь, Веста, 1993.
2. Фаронов В.В. Delphi7.0. Начальный курс. - М.: Нолидж, 2000.
П
РИЛОЖЕНИЕ ААлгоритм программы
Рисунок А.1 – Алгоритм программы
Рисунок А.2 – Алгоритм основной процедуры программы
Рисунок А.3 – Алгоритм вторичной процедуры программы
Листингпрограммы
1.unit Unit1;
2.interface
3.uses
4.Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
5.Dialogs, StdCtrls, Grids;
6.type
7.TForm1 = class(TForm)
8.Button1: TButton;
9.StringGrid1: TStringGrid;
10. procedure Button1Click(Sender: TObject);
11. procedure FormCreate(Sender: TObject);
12. private
13. { Private declarations }
14. public
15. { Public declarations }
16. end;
17. var
18. Form1: TForm1;
19. implementation
20. {$R *.dfm}
21. procedure TForm1.Button1Click(Sender: TObject);
22. var
23. f:TextFile;
24. i,j,g:integer;
25. Fname,str1,str2,str3,str4,str5: string;
26. begin
27. Fname:= 'd:/text.txt';
28. AssignFile (f,fname);
29. Rewrite (f);
30. i:=0;
31. j:=1;
32. for g:=1 to 1000 do begin
33. begin
34. str1:='';
35. str2:='';
36. str3:='';
37. str4:='';
38. str5:='';
39. end;
40. if StringGrid1.Cells[0,j] <> '' then begin
41. str1:=StringGrid1.Cells[0,j];
42. str2:=StringGrid1.Cells[1,j];
43. str3:=StringGrid1.Cells[2,j];
44. str4:=StringGrid1.Cells[3,j];
45. str5:=StringGrid1.Cells[4,j];
46. end;
47. j:=j+1;
48. write(f,str1+'|');
49. write(f,str2+'|');
50. write(f,str3+'|');
51. write(f,str4+'|');
52. write(f,str5+'|');
53. writeln(f,'');
54.
55. end;
56. CloseFile(f);
57. end;
58.
59. procedure TForm1.FormCreate(Sender: TObject);
60. //Открытие и заполнение компоненты stringgrid
61. var
62. f: TextFile;
63. str,t,Fname: string;
64. k,i,j:integer;
65. begin
66. Fname:= 'd:/text.txt';
67. AssignFile (f,fname);
68. {$I-}
69. reset(f);
70. {$I+}
71. if IOResult <> 0 then
72. Rewrite (f);
73. t:='';
74. j:=1;
75. StringGrid1.Cells[0,0]:='№ п/п';
76. StringGrid1.Cells[1,0]:='Клиент';
77. StringGrid1.Cells[2,0]:='Операция';
78. StringGrid1.Cells[3,0]:='Дата начала работы с клиентом';
79. StringGrid1.Cells[4,0]:='Срокабон. платы';
80. while not EOF(f) do begin
81. Readln(f,str);
82. i:=0;
83. for k:=1 to Length(str) do begin
84. if str[k] = '|' then begin
85. StringGrid1.Cells[i,j]:=t;
86. i:=i+1;
87. t:='';
88. end
89. else
90. t:=t+str[k];
91. end;
92. j:=j+1;
93. end;
94. CloseFile(f);
95. end;
96. end.