b>Описание вспомогательной процедуры В программе приведено описание одной вспомогательной процедуры. Процедура FormCreate вывода исходных значений в компоненты формы для корректного отображения формы в начале работы программы. Процедура Button1Click для отрытия исходного файла и сохранения пути к нему. Процедура Button2Click для отрытия результирующего файла и сохранения пути к нему. Алгоритм основной программыАлгоритм выполнения основного тела программы приведен на рисунке А.1 в приложении А. Так в процедуре в первую очередь осуществляется привязка файла к файловой переменной и открытие текстового файла для чтения текстовой информации. Затем производится чтение информации из файла построчно. Затем в каждой строке выделяются слова. Затем осуществляется поиск в выделенных словах заглавных символов. Далее происходит запрос к пользователю об исправлении найденных символов. Затем происходит запись в результирующий текстовый файл изменений. В ходе выполнения работы использовались следующие операции работы с текстовыми файлами: AssignFile (<Имя файловой переменной>,<Имя файла>); Имя файла задается либо строковой константой, либо через переменную типа Sting. Имя файла должно соответствовать правилам работающей в данный момент операционной системы. Если строка имени пустая, то связь файловой переменной осуществляется со стандартным устройством ввода-вывода. Reset (<Имя файловой переменной>); Открывается файл для чтения из него информации, ему присваивается имя, заданное процедурой Assign. После работы с файлом он, как правило, должен быть закрыт процедурой CloseFile (<Имя файловой переменной>). Вывод информации производит оператор WRITELN(f: TextFile;S: String). После его выполнения строка S заносится в конец файла, связанного с переменной f.
4. ОПИСАНИЕ ВХОДНЫХ ДАННЫХ Исходными данными для выполнения является файл, который содержит заглавные символы. 5. ОПИСАНИЕ ВЫХОДНЫХ ДАННЫХ Выходными данными являются: - сообщение о завершении проверки файла на наличие в нем заглавных символов; - сообщение о количестве исправленных символов; - заполненный результирующий текстовый файл. 6. ИНСТРУКЦИЯ ОПЕРАТОРУ Разработанная программа представляет собой исполняемый файл Luchshev.exe размером 405 Кбайт. В программе реализован алгоритм проверки текстового файла на наличие в нем заглавных символов. После запуска программы появляется окно, изображенное на рисунке 4.1. Рисунок 4.1 - Главное окно программы После этого пользователь должен задать путь к файлу. На рисунке 4.2 показан пример диалогового окна для открытия файла. Рисунок 4.2 - Пример отскрытия исходного файла Пример сообщения о нахождении заглавного символа приведен на рисунке 4.3. Рисунок 4.3- Сообщение о нахождении заглавного символа Пример окна с результатом проверки текстового файла приведен на рисунке 4.4. Рисунок 4.4- Результирующее окно. Результат проверки записывается в выбранный результирующий файл находящийся в выбранной директории. Функционирование программы полностью соответствует заданию.
ВЫВОДЫ Данная курсовая работа была выполнена в полном соответствии поставленному заданию и отлажена в среде Delphi 7.0. В ходе выполнения курсовой работы была разработана программа для проверки текстового файла. В ходе выполнения курсового проекта были проведен - анализ технического задания и постановка задачи проектирования. Были выделены функции, которыми должна обладать разрабатываемая программа. Был разработан алгоритм программы, предназначенной для выполнения сформированных функций. Согласно разработанному алгоритму была составлена и отлажена программа алгоритмическом языке программирования Delphi. В ходе разработки программы проводилось ее тестирование и отладка на тестовых наборах. Для написанной программы разработана инструкция оператора с указанием порядка выполняемых действий . Результаты работы оформлены в виде пояснительной записки. В ходе разработки программы были закреплены навыки работы: - командами ввода-вывода как на экран, так и в текстовые файлы, - использования процедур, - команды обработки массивов, - команды для реализации циклов с заданным числом повторений; - команды проверки условий и реализации ветвлений. В результате выполнения данной курсовой работы, мы убедились в широких возможностях языка программирования Delphi, закрепили практические навыки программирования в cреде Delphi.
Перечень ссылок 1. Зуев Е.А. Программирование на языке Delphi 6.0,7.0. - М.: Радио и связь, Веста, 1993. 2. Фаронов В.В. Delphi 7.0. Начальный курс. - М.: Нолидж, 2000. ПРИЛОЖЕНИЕ А Алгоритм программы Рисунок А.1 - Алгоритм программы Рисунок А.2 - Алгоритм основной процедуры программы
ПРИЛОЖЕНИЕ Б Листинг программы 1. unit Unit1; 2. interface 3. uses 4. Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 5. Dialogs, StdCtrls; 6. type 7. TForm1 = class(TForm) 8. Button1: TButton; 9. Button2: TButton; 10. OpenDialog1: TOpenDialog; 11. SaveDialog1: TSaveDialog; 12. Button3: TButton; 13. Label1: TLabel; 14. Label2: TLabel; 15. Label3: TLabel; 16. Label4: TLabel; 17. Button4: TButton; 18. procedure Button1Click(Sender: TObject); 19. procedure Button2Click(Sender: TObject); 20. procedure FormCreate(Sender: TObject); 21. procedure Button3Click(Sender: TObject); 22. procedure Button4Click(Sender: TObject); 23. private 24. { Private declarations } 25. public 26. { Public declarations } 27. end; 28. var 29. Form1: TForm1; 30. OFName,SFName:String; 31. implementation 32. {$R *.dfm} 33. procedure TForm1.Button1Click(Sender: TObject); 34. begin 35. if OpenDialog1.Execute then 36. OFName:=OpenDialog1.FileName; 37. if OFName<>'' then begin 38. Button1.Enabled:=False; 39. Button2.Visible:=True; 40. Label1.Caption:='Путь к файлу для проверки: '+OFName; 41. Label2.Visible:=True; 42. Label2.Caption:='Нажмите на кнопку "Сохранить" и выберите файл для хранения результатов проверки'; 43. end; 44. end; 45. procedure TForm1.Button2Click(Sender: TObject); 46. var 47. b:boolean; 48. begin 49. b:=false; 50. if SaveDialog1.Execute then 51. SFName:=SaveDialog1.FileName; 52. if Pos('.txt',SFName)=0 then SFName:=SFName+'.txt'; 53. if SFName=OFName then 54. ShowMessage('Выберите другой файл для сохранения результата') 55. else 56. b:=true; 57. if (SFName<>'') and (b) then begin 58. Button2.Enabled:=False; 59. Label2.Caption:='Путь к результирующему файлу: '+SFName; 60. Button3.Visible:=True; 61. Label3.Visible:=True; 62. Label3.Caption:='Для начала проверки нажмите на кнопку "Проверить"'; 63. end; 64. end; 65. procedure TForm1.FormCreate(Sender: TObject); 66. begin 67. Button2.Visible:=False; 68. Label2.Visible:=False; 69. Button3.Visible:=False; 70. Label3.Visible:=False; 71. Button4.Visible:=False; 72. Label4.Visible:=False; 73. Label1.Caption:='Нажмите на кнопку "Открыть" и выберите файл для проверки'; 74. end; 75. procedure TForm1.Button3Click(Sender: TObject); 76. var 77. FO,FS:TextFile; 78. i,j,count:integer; 79. str,strslovo,tmpstr:String; 80. ZnCh,UpCh:set of Char; 81. answ:Word; 82. begin 83. count:=0; 84. ZnCh:=['.',',','!','?']; 85. UpCh:=['A'..'Z','А'..'Я']; 86. AssignFile(FO,OFName); 87. AssignFile(FS,SFName); 88. {$I-} 89. Reset(FO); 90. {$I+} 91. if IOResult<>0 then begin 92. ShowMessage('Произошли проблемы с открытием файла. Программа будет завершена'); 93. Exit; 94. end 95. else begin 96. Rewrite(FS); 97. while not Eof(FO) do begin 98. Readln(FO,str); 99. strslovo:=''; 100. for i:=1 to Length(str) do begin 101. if (str[i] in ZnCh) or (str[i]=' ') then begin 102. for j:=1 to Length(strslovo) do begin a. if strslovo[j] in UpCh then begin b. answ:=MessageDlg('В слове "'+strslovo+'" найдена заглавная буква "'+strslovo[j]+'". Заменить ее на малую?',mtInformation,[mbYes,mbNo],0); c. if answ=mrYes then begin i. tmpstr:=strslovo[j]; ii. tmpstr:=AnsiLowerCase(tmpstr); iii. Delete(strslovo,j,1); iv. Insert(tmpstr,strslovo,j); v. inc(count); d. end; e. end; 103. end; 104. Write(FS,strslovo+str[i]); 105. strslovo:=''; 106. end 107. else 108. strslovo:=strslovo+str[i]; 109. end; 110. Writeln(FS,''); 111. end; 112. CloseFile(FO); 113. CloseFile(FS); 114. Label3.Caption:='Проверка файла завершена. Исправлено '+IntToStr(count)+' заглавных букв.'; 115. Button3.Enabled:=False; 116. Button4.Visible:=True; 117. Label4.Visible:=True; 118. end; 119. end; 120. procedure TForm1.Button4Click(Sender: TObject); 121. begin 122. OFName:=''; 123. SFName:=''; 124. Button1.Enabled:=True; 125. Button2.Visible:=False; 126. Button2.Enabled:=True; 127. Button3.Visible:=False; 128. Button3.Enabled:=True; 129. Button4.Visible:=False; 130. Label2.Visible:=False; 131. Label3.Visible:=False; 132. Label4.Visible:=False; 133. Label1.Caption:='Нажмите на кнопку "Открыть" и выберите файл для проверки'; 134. end; 135. end. 136. ПРИЛОЖЕНИЕ В Результаты решения программы Результатом решения программы можно считать сообщение об исправленных заглавных буквах и результирующий файл с записанной в него информацией.
Страницы: 1, 2
|