Приемы программирования в Delphi
Разработка программы (системы) идентификации пользователя. Пароль – секретный набор символов, который защищает учетную запись. Интегрированная среда разработки Delphi. Основные приемы программирования. Работа с текстовыми файлами. Листинг программы.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | реферат |
Язык | русский |
Дата добавления | 16.05.2016 |
Размер файла | 395,0 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Приемы программирования в Delphi
Введение
Данный проект был разработан в среде Delphi. Среди множества языков, является наиболее универсальным и легко изучаемым языком. При этом его удобно использовать для создания сложных приложений, базами данных, приложения масштаба предприятия. Delphi позволяет использовать все современные возможности объектно-ориентированного программирования - это среда быстрой разработки, в которой в качестве языка программирования используется язык Delphi. Язык Delphi - строго типизированный объектно-ориентированный язык. Основные конструкции языка четко выделяются в программе, что способствует хорошему восприятию написанного кода.
Для выполнения данной работы необходимо разработать алгоритм решения поставленного задания, правильно указав последовательное выполнение соответствующих команд для получения необходимых результатов.
Цель работы: разработать программу (систему) идентификации пользователя.
При регистрации в любом сервисе или на любом сайте, существует необходимость создания аккаунта. При этом пользователя просят придумать логин и пароль.
Идентификация помогает отличить добросовестных пользователей от потенциальных мошенников - а значит, повышает надежность системы и делает ее использование более безопасным для всех участников.
Пароль - это секретный набор символов, который защищает учетную запись.
Логин - это слово, которое будет использоваться для входа на сайт или сервис. Очень часто логин совпадает с именем пользователя, которое будет видно всем участникам сервиса, но иногда никнейм может задаваться отдельно.
Логин - уникальный (это важно) набор букв и/или цифр, который необходим для доступа к сайту или сервису. Придумывается логин пользователем самостоятельно.
Интегрированная среда разработки Delphi
Delphi - это потомок среды программирования TurboPascal. Название среды произошло от названия города в Древней Греции, где находился знаменитый Дельфийский оракул (храм Аполлона в городе Дельфы, жрецы которого занимались предсказаниями).
Создание прикладных программ, или приложений, в Delphi выполняется в интегрированной среде разработки IDE (Integrated Development Environment). IDE служит для организации взаимодействия с программистом и включает в себя ряд окон, содержащих различные элементы управления. С помощью средств интегрированной среды разработчик может проектировать интерфейсную часть приложения, а также писать программный код, и связывать его с управляющими элементами. При этом вся работа по созданию приложения, включая отладку, происходит в IDE.
Интегрированная среда разработки Delphi (Delphi IDE) является многооконной системой. Она включает в себя все необходимое для быстрой разработки Windows-приложений, и может гибко настраиваться.
Тем не менее, как и всякая другая программа, Delphi имеет некоторый стандартный, предусмотренный разработчиками вид, в котором она предстает при первом запуске. В таком "стандартном" варианте среда Delphi имеет 6 окон. Это: главное окно (Delphi 10 Seattle - Project1), окно дерева объектов (Object TreeView), окно инспектора объектов (Object Inspector), окно конструктора форм (Form1), а так же совмещенное окно редактора кода и проводника кода. При этом окно проводника пристыковано к левому краю окна редактора. Впрочем, ничего не мешает отсоединить проводник от редактора, или, наоборот, состыковать все окна, кроме главного и конструктора форм, в одном окне, или объединить их по какому-либо иному принципу.
Среда предназначена для быстрой (RAD) разработки прикладного ПО для операционных систем Windows, Mac OS X, а также IOS и Android. Благодаря уникальной совокупности простоты языка и генерации машинного кода, позволяет непосредственно, и, при желании, достаточно низкоуровнево взаимодействовать с операционной системой, а также с библиотеками, написанными на C/C++. Созданные программы не зависимы от стороннего ПО, как-то Microsoft .NET Framework, или Java Virtual Machine. Выделение и освобождение памяти контролируется в основном пользовательским кодом, что, с одной стороны, ужесточает требования к качеству кода, а с другой - делает возможным создание сложных приложений, с высокими требованиями к отзывчивости (работа в реальном времени). В кросс-компиляторах для мобильных платформ предусмотрен автоматический подсчёт ссылок на объекты, облегчающий задачу управления их временем жизни.
Разработка приложений в Delphi означает работу с проектами. Иначе говоря, когда приступаете к разработке собственной программы в Delphi, первым делом создается проект - группа файлов, представляющих исходные данные (прежде всего, код) для приложения. Одни из этих файлов создаются во время разработки приложения (собственно программный код, включая файл проекта, и представленные в виде кода формы), другие же создаются автоматически при запуске программы.
Система визуального объектно-ориентированного проектирования Delphi позволяет:
1. Создавать законченные приложения для Windows самой различной направленности;
2. Быстро создавать профессионально выглядящий оконный интерфейс для любых приложений; интерфейс удовлетворяет всем требованиям Windows и автоматически настраивается на ту систему, которая установлена, поскольку использует функции, процедуры и библиотеки Windows;
3. Создавать свои динамически присоединяемые библиотеки компонентов, форм, функций, которые потом можно использовать из других языков программирования;
4. Создавать мощные системы работы с базами данных любых типов.
5. Формировать и печатать сложные отчеты, включающие таблицы, графики и т.п.;
6. Создавать справочные системы, как для своих приложений, так и для любых других;
7. Создавать профессиональные программы установки для приложений Windows, учитывающие всю специфику и все требования операционной системы.
1. Анализ технического задания и постановка задачи проектирования
Согласно заданию необходимо разработать программу (систему) идентификации пользователя.
Дадим определение понятиям, которые используются в данной работе. Определим следующие понятия: строка, файл, запись.
Тип STRING (строка) широко используется для обработки текстов. Он во многом похож на одномерный массив символов ARRAY [0..N] OF CHAR, однако, в отличие от последнего, количество символов в строке-переменной может меняться от 0 до N, где N - максимальное количество символов в строке.
Под файлом понимается либо именованная область внешней памяти ПК (жесткого диска, гибкой дискеты, электронного "виртуального" диска), либо логическое устройство - потенциальный источник или приемник информации.
Поскольку данная программа является приложением Windows, то для ее реализации будем использовать стандартный подход при написании программ под Windows с использованием графического интерфейса. Так отдельно создадим форму с визуальными компонентами, для различных визуальных компонентов сопоставляем процедуры - обработчики. Далее, как только происходит событие на каком-то из визуальных компонентов (щелчок мыши, нажатие на кнопку или пункт меню), операционная система посылает приложению соответствующее сообщение, и запускается соответствующий обработчик именно для этого события. Тогда решение задачи можно разбить на 3 этапа:
1. Разработка визуального интерфейса пользователя, на основе экранных форм среды Delphi и визуальных компонент, предназначенных для ввода исходных данных, запуска действий по обработке исходных данных, вывода результата обработки, вывода результатов на экранную форму. Еще можно предусмотреть вывод информации разработчике и задании курсового проекта;
2. Разработка обработчиков событий от элементов экранных форм, разработка алгоритмов и программных кодов действий обработки текстового файла согласно заданию;
3. Подготовка тестовых исходных данных и отладка программы.
На первом этапе целесообразно выполнить разработку интерфейса таким образом, чтобы вначале пользователь вводил логин и пароль или регистрацию нового пользователя.
При выполнении второго этапа следует использовать модульный принцип построения программы, то есть разбить программу на отдельные части, каждая из которых выполняет какую-то законченную задачу, либо ее малую часть. Роль таких частей будут выполнять процедуры и функции. Программы, состоящие из процедур и функций, называются модульными.
Процедуры и функции в свою очередь могут вызывать процедуры и функции более низкого уровня и так далее. Таким образом, каждая модульная программа имеет иерархическую структуру. Следует заметить, что обработчики событий от объектов экранных форм тоже реализуются как процедуры.
На третьем этапе при отладке приложения обязательно должна анализироваться правильность работы на исходных тестовых образцах. На этом этапе нужно проверить соответствие разработанной программы исходному заданию, а также проверить ее на отсутствие ошибок.
Подытожив все вышесказанное, можно сформулировать требования к разрабатываемому программному обеспечению и выполнить постановку задания на проектирование.
Программа должна быть реализована с графическим интерфейсом пользователя в среде RAD Delphi и должна выполнять следующие функции:
1. Вводить логин и пароль;
2. При несоответствии данных, выводить сообщение об ошибке;
3. Зарегистрировать нового пользователя;
4. Записывать данные в файл Rigstr;
2. Работа с компонентами. Основная форма и ее свойства
Первое, с чем начинаешь знакомиться, - это компоненты языка и примеры с их использованием.
Сначала идет рассмотрение компонентов в действии и знакомство с их основными возможностями.
Основная форма - это окно будущей программы. На нем возможно располагать визуальные компоненты в любом виде и порядке. В Delphi расстановка элементов управления происходит визуально, и все делается одним нажатием кнопки мыши. Это позволяет даже самый сложный пользовательский интерфейс сформировать в считанные минуты. Как известно, если выделить какой-то компонент, то в объектном инспекторе появятся его свойства и события. Когда описывается событие, которое может быть не только у формы, но и у компонента, будет присутствовать пояснение "форма/компонент". Когда будут рассматриваться свойства и их назначение, существует возможность создать новый проект в среде Delphi и изменять различные его свойства. Так лучше можно понять, на что эти свойства будут влиять.
Система Delphi при добавлении новой формы в проект автоматически создает один экземпляр класса (Form1, Form2 и т. д.), внося соответствующие изменения в файл проекта, например, добавляя строку кода: Application.CreateForm(TForm1, Form1);
Управлять процессом автоматического создания форм можно, непосредственно редактируя файл проекта или выполняя настройки в окне параметров проекта (список Auto-create forms на странице Form). Если форма переведена из этого списка в список Available forms доступных форм проекта, то инструкция ее создания исключается из файла проекта, и программист в ходе выполнения приложения должен динамически создать экземпляр этой формы.
Для создания экземпляров форм служит метод (конструктор) Сreate. Сам класс формы обычно предварительно описывается при конструировании приложения, и для формы уже существуют файлы формы (dfm) и программного модуля (pas).
Событие Create генерируется только один раз-- при создании формы, остальные события происходят при каждом отображении, активизации и каждой прорисовке формы соответственно.
В обработчик события Create обычно включается код, устанавливающий начальные значения свойств формы, а также ее элементов управления, т. е. выполняющий начальную инициализацию формы в дополнение к установленным на этапе разработки приложения параметрам. Кроме того, в обработчик включаются дополнительные операции, которые должны происходить однократно при создании формы, например, чтение к из файла некоторой информации и загрузка ее в список.
Если установить диалоговый стиль формы, то она не становится модальной и позволяет пользователю переходить в другие окна приложения. Для запуска формы, в том числе любой диалоговой, в модальном режиме следует использовать метод ShowModal. Таким образом, стиль определяет внешний вид формы, но не ее поведение.
Кнопка в Delphi происходит от объекта TButton. Когда устанавливается на форму новая кнопка, то ей дается имя по умолчанию Button1. Следующая кнопка получит название Buttona2 и т. д.
В объектном инспекторе напротив строки onclick также должно появиться имя процедуры обработчика. Можно изменить его, просто напечатав новое имя, или выбрать уже существующий обработчик из выпадающего списка в этой же строке. В редакторе кода видно, что там создал для нас Delphi. Это процедура MyFirstButtonCiick. Ей передается один параметр sender объектного типа TObject. Вначале выполнения процедуры в переменной sender будет находиться указатель на объект, который вызвал этот обработчик. Это очень важно, потому что одна процедура-обработчик может обрабатывать нажатия сразу нескольких кнопок или вообще компоненты разного типа.
Самый распространенный компонент TLabel со свойство caption. Компонент представляет собой статический текст. С помощью этого компонента на рабочей поверхности формы можно отобразить информацию, сделать пояснения и показать названия других компонентов. Но он имеет и другую важную функцию - если в составе текста TLabel есть символы-акселераторы, информация о их нажатии может передаваться от TLabel другому элементу управления.
С помощью строк ввода TEdit необходимо постоянно вводить различную информацию программу. Этот компонент не содержит собственного кода, в нем только опубликованы свойства его предка TCustomEdit. Он представляет собой редактируемую строку (далее - просто редактор). Вводимый в редактор текст может автоматически подвергаться некоторым преобразованиям.
Пожалуй, самой важной инструкцией для управления выполнением программы является условный оператор if. Именно он отвечает за ветвление, т.е. выполнение (или невыполнение) того или иного варианта кода в зависимости от условий. Оператор if используется совместно с ключевым словом then, а в том случае, когда предусмотрен альтернативный вариант выполнения - еще и с else. В целом синтаксис инструкции получается следующим:
if <условие> then <код> [else <альтернативный код>]
В соответствии с правилами синтаксиса, все то, что помещено между ключевыми словами begin и end, равно как и сами эти слова, воспринимаются как 1 оператор.
Для написания практически любой программы, помимо операторов условия, требуются операторы цикла. Прежде всего, это оператор цикла с параметром - for. Такой тип цикла обычно применяют в тех случаях, когда количество возможных повторов известно заранее. Он имеет 2 варианта написания: один - для цикла с приращением, и другой - для цикла с уменьшением:
for <параметр> := <выражение 1> to <выражение 2> do <тело цикла>;
for <параметр> := <выражение 1> downto <выражение 2> do <тело цикла>;
В первом случае (с использованием цикла for-to) при каждом проходе цикла, называемом итерацией, значение параметра увеличивается на 1, а во втором (for-downto) - уменьшается на 1. При этом в качестве начального значения используется "выражение 1", а в качестве конечного - "выражение 2". Разумеется, если для цикла to значение первого выражения изначально будет больше значения второго, или наоборот, меньше (для цикла downto), то цикл не будет выполнен ни разу. Практическое применение циклов крайне разнообразно. Если привести наиболее общий пример из программирования, то цикл - идеальный способ заполнения массива. Например, если требуется организовать цикл для заполнения массива из 10 числовых значений последовательно возрастающими числами, то можно записать:
for i := 0 to 9 do MyArray[i]=i;
В данном случае элементам массива MyArray последовательно назначаются значения от 0 до 9.
Основные приемы программирования. Работа с текстовыми файлами
Разновидностью работы с файлами можно считать работу с текстовыми файлами. В этих файлах информация расположена не сплошным одинарным блоком, а в виде строк текста. Было бы удобно воспринимать такие файлы в виде наборов строк, а не побайтно.
Допустим, что у нас есть файл из двух строчек "Привет! ! ! Как жизнь?". Если прочитать его с помощью объекта TFiiestream, то мы увидим весь текст в одну строку "Привет!!!<CR><LF>KaK жизнь?- - ' . f". Здесь <CR> - конец строки и <LF> - перевод каретки на новую строку. Таким образом, чтобы найти конец первой строки, мы должны сканировать весь текст с целью поиска признака конца строки и перевода каретки (<CR> и <LF>). Это очень неудобно. программа пароль файл
Тут на помощь приходит объект TStrings, который является простым контейнером (хранилищем) для строк. Можно еще пользоваться более продвинутым вариантом этого объекта TstringList. TStringList происходит от Tstrings. Использовать Tstrings напрямую нельзя, потому что это абстрактный объект. Абстрактный объект - объект, который представляет собой пустой шаблон. Он может даже ничего не уметь делать, а только описывать какой-то вид или шаблон, на основе которого можно выводить полноценные объекты. Вот так TStringList добавляет в Tstrings свои функции так, что он становится полноценным объектом. В результате получается, что мы не можем объявлять переменные типа Tstrings и использовать этот объект, потому что это всего лишь шаблон. Это и так, и не так. Переменную мы можем объявлять, но использовать сам объект не можем. Зато мы можем объявить переменную типа Tstrings, но использовать эту переменную как объект TStringList, потому что данный объект происходит от первого.
Листинг программы
Form1:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Vcl.Imaging.jpeg, Vcl.ExtCtrls, Registry;
type
TFormGeneral = class(TForm)
EditLogin: TEdit;
EditPass: TEdit;
ButtonEnter: TButton;
ButtonRigistr: TButton;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
procedure ButtonRigistrClick(Sender: TObject);
procedure ButtonEnterClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FormGeneral: TFormGeneral;
implementation
uses Unit2;
{$R *.dfm}
procedure TFormGeneral.ButtonEnterClick(Sender: TObject);
var SaveTxt:TStringList;
iterIntCount:integer;
LogAndPass:string;
begin
SaveTxt:=TStringList.Create;
SaveTxt.LoadFromFile(ExtractFilePath(Application.ExeName)+'RegEdit.txt');
LogAndPass:=EditLogin.Text+' '+EditPass.Text;
for iterIntCount:=0 to SaveTxt.Count -1 do
begin
if LogAndPass = SaveTxt[iterIntCount] then
begin
Label3.Caption:= 'Доступ разрешён!';
end
else
Label3.Caption:= 'Доступ запрещён! Зарегистрируйтесь';
end;
end;
procedure TFormGeneral.ButtonRigistrClick(Sender: TObject);
begin
FormRigstr.ShowModal;
end;
end.
Form2:
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Registry;
type
TFormRigstr = class(TForm)
ButtonSave: TButton;
EditNewLogin: TEdit;
EditNewPassword: TEdit;
Label1: TLabel;
Label2: TLabel;
procedure ButtonSaveClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FormRigstr: TFormRigstr;
implementation
{$R *.dfm}
procedure TFormRigstr.ButtonSaveClick(Sender: TObject);
var SaveTxt:TStringList;
LoginUsr, PassUsr:string;
begin
SaveTxt:=TStringList.Create;
SaveTxt.LoadFromFile(ExtractFilePath(Application.ExeName)+'RegEdit.txt');
if (EditNewLogin.Text <> '') and (EditNewPassword.Text <> '') then
begin
LoginUsr:=Trim(EditNewLogin.Text);
PassUsr:=Trim(EditNewPassword.Text);
SaveTxt.Add(LoginUsr+' '+PassUsr);
SaveTxt.SaveToFile(ExtractFilePath(Application.ExeName)+'RegEdit.txt');
end;
end;
end.
Результат тестирования
Ход 1. Выполнение компиляции.
Ход 2. Ввод уже существующего логина и пароля. Доступ разрешен.
Ход 3. Проверка программы при вводе неверных данных. Доступ запрещен. Программа дает возможность зарегистрировать нового пользователя.
Ход 4. Регистрация нового пользователя "kss" с паролем "112" успешно пройдена. Все данные сохранены в файле RegEdit.txt
Вывод
В ходе выполнения данной работы были получены новые теоретические и практические навыки.
Программа значительно облегчает работу пользователя, экономит время. Особенно полезна программа студенту, который начал изучать программирование на Delphi, так как данная курсовая работа не является чрезмерно сложной.
Программированию присущ значительный консерватизм, так как в принципе можно создавать программы, ограничиваясь знаниями многолетней давности. Однако сегодня программирование безусловно превратилось из искусства в ремесло. Конечно, вряд ли можно стать профессиональным разработчиком, не изучив внутреннее устройство Windows или структуру компонентов VCL и принципы оптимизации программ. Однако, такие знания сегодня отходят на второй или третий план. Работодателей интересует, прежде всего, скорость и качество создания программ в коллективе, а эти характеристики может обеспечить только среда визуального проектирования, способная взять на себя значительные объёмы рутинной работы по подготовке приложений, а также согласовывать деятельность группы постановщиков, кодировщиков, тестеров и технических писателей.
Разработка таких приложений в настоящее время является очень актуальной темой, так как приложения именно такого рода сейчас пользуются большим спросом.
Цель работы достигнута, задачи выполнены:
1. Теоретически проанализирована научная и методическая литература по проблеме разработки программы "Идентификация пользователя";
2. Освоены основные компоненты и средства построения интерфейса среды программирования Delphi;
3. Спроектирован интерфейс программы и порядок ее взаимодействия с пользователем;
4. Разработана программа "Идентификация пользователя", которая регистрирует новых пользователей, а также проверяет достоверность вводимых данных о уже зарегистрированных пользователях.
Список используемой литературы
1. Архангельский А.Я. "Приемы программирования в Delphi".: Издательство "Бином-Пресс" 2006г.
2. Михаил Фленов "Библия Delphi".: 2011г.
Размещено на Allbest.ru
Подобные документы
Средства языка программирования Delphi. Структурные типы данных. Строковые переменные, массивы, множества, файлы. Механизм классов в C++. Интерфейсный и описательный обзоры классов в Delphi. Работа с текстовыми и бинарными файлами прямого доступа.
курсовая работа [990,4 K], добавлен 07.08.2012Особенности разработки приложений для операционной системы с помощью императивного, структурированного, объектно-ориентированного языка программирования Delphi. Формальное начало программы. Выделение конца программного блока. Листинг и описание программы.
курсовая работа [1,2 M], добавлен 04.08.2014Предмет объектно-ориентированного программирования и особенности его применения в средах Паскаль, Ада, С++ и Delphi. Интегрированная среда разработки Delphi: общее описание и назначение основных команд меню. Процедуры и функции программы Delphi.
курсовая работа [40,8 K], добавлен 15.07.2009Основные приемы работы в среде программирования Delphi. Особенности технологии создания простейших приложений. Работа с компонентами среды разработки приложений. Ввод, редактирование, выбор и вывод информации. Аспекты использования структуры ветвления.
методичка [619,9 K], добавлен 17.11.2011Приемы программирования в Delphi. Алгоритм поиска альфа-бета отсечения, преимущества. Описание программного средства. Разработка программы, реализующая алгоритм игры "реверси". Руководство пользователя. Листинг программы. Навыки реализации алгоритмов.
курсовая работа [357,1 K], добавлен 28.02.2011Интегрированная среда разработки Delphi и элементы, входящие в ее состав. Математическая модель, алгоритм решения и его свойства. Описание операторов, процедур, функций и методов. Создание приложений по аналитической геометрии и теоретической механике.
курсовая работа [1,8 M], добавлен 26.05.2010Delphi - среда быстрой разработки, в которой в качестве языка программирования используется типизированный объектно-ориентированный язык Delphi. Варианты программного пакета. Особенности работы, вид экрана после запуска. Описание структуры программы.
курсовая работа [1,3 M], добавлен 25.11.2014Изучение основ программирования и создание полноценного приложения в среде программирования Delphi. Разработка эскизного и технического проектов программы. Внедрение выполнения программы. Разработка рабочего проекта, спецификация и текст программы.
курсовая работа [560,1 K], добавлен 18.07.2012Разработка программы проверки знаний для тестирования студентов по программированию с кодом на языке Delphi. Проектирование визуального интерфейса и словесный алгоритм работы программы. Алгоритмы разработанных процедур и функций, инструкция пользователя.
курсовая работа [506,5 K], добавлен 21.02.2011Особенности создания программы "Файловый менеджер" в среде объектно-ориентированного программирования Delphi. Назначение и основные функции программы, формулировка задачи. Описание программы, использованные компоненты, интерфейс и порядок применения.
контрольная работа [1,3 M], добавлен 19.06.2012