Разработка системы сохранения результатов анкетирования в базе данных MS SQL Server

Разработка программного продукта - приложения, позволяющего заносить данные анкетирования в базу данных MS SQL. Описание логики работы приложения, особенности пользовательского интерфейса. Формы просмотра анкет, описание процедур и функций программы.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 16.08.2012
Размер файла 1,2 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

2

Размещено на http://www.allbest.ru/

Оглавление

  • Введение 2
  • 1 Постановка задачи 3
  • 2 Выбор средств реализации 4
  • 3 Описание логики работы приложения 6
  • 4 Разработка программного обеспечения и описание пользовательского интерфейса 8
    • 4.1 Таблица SQL 8
    • 4.2 Главная форма MainForm 9
    • 4.3 Форма просмотра анкет Infoform 12
  • Заключение 14
  • Список используемой литературы 15
    • Приложение А (обязательное) 16

Введение

Технологии программирования играли разную роль на разных этапах развития программирования. По мере повышения мощности компьютеров и развития средств и методологии программирования росла и сложность решаемых на компьютерах задач, что привело к повышенному вниманию к технологии программирования. Резкое удешевление стоимости компьютеров и, в особенности, стоимости хранения информации на компьютерных носителях привело к широкому внедрению компьютеров практически во все сферы человеческой деятельности, что существенно изменило направленность технологии программирования. Человеческий фактор стал играть в ней решающую роль. Сформировалось достаточно глубокое понятие качества программных средств, в котором акценты стали ставится не столько на его эффективности, сколько на удобстве работы с ним для пользователей (не говоря уже о его надежности). Широкое использование компьютерных сетей привело к интенсивному развитию распределенных вычислений, дистанционного доступа к информации и электронного способа обмена сообщениями между людьми. Компьютерная техника из средства решения отдельных задач все более превращается в средство информационного моделирования реального и мыслимого мира, способное просто отвечать людям на интересующие их вопросы. Начинается этап глубокой и полной информатизации (компьютеризации) человеческого общества. Все это ставит перед технологией программирования новые и достаточно трудные проблемы.

1 Постановка задачи

Разработка системы сохранения результатов анкетирования в базе данных MS SQL Server.

Основные требования: Вопросов в анкете должно быть не менее 15. Типов данных для вводимых ответов должно быть не менее 3.

Общие требования:

1. При выборе элемента меню о программе, должно выводиться модальное диалоговое окно со сведениями о программе и авторе программы.

2. Тип приложения: GUI

2 Выбор средств реализации

Для выполнения курсовой работы был использован язык программирования Delphi и система управления базами данных Microsoft SQL Server.

Основные процедуры и функции Delphi, используемые в данном проекте:

1) procedure ShowMessage ( const Text : string ) - предназначена для вывода диалогового окна, с одной единственной кнопкой "ОК". При нажатии на эту кнопку, окно закрывается, и программа продолжает свое выполнение. Эта процедура носит информационный характер. Часто ее используют для вывода промежуточных или проверочных значений. Процедуру Showmessage(), в отличие от функции MessageBox(), нельзя изменить: добавить кнопки, иконку, обработать события при нажатии кнопок. Процедура Showmessage() принимает на вход один параметр типа String, значение которого выводит в диалоговое окно;

2) function MessageBox(Parent: HWnd; Txt, Caption: PChar; TextType: Word): Integer;

Создает и отображает блок диалога, содержащий указанное сообщение и заголовок, а также пpедопpеделенные пиктограммы и текстовые кнопки, в соответствии с паpаметpом TexType.

Параметры:

Parent: Окно, владеющее блоком сообщений. Txt: Отображаемое сообщение (заканчивающееся пустым символом). Caption: Заголовок блока диалога (заканчивающийся пустым символом) или nil для "Error" ("Ошибка"). TextType: Одна или комбинация констант mb_.

3) function StrToDateTime ( const DateTime : string ) : TDateTime; преобразует строки DateTime в значение типа TdateTime.

4) function StrToInt ( IntegerString : string ) : Integer; - конвертирует строку с целым значением - IntegerString, такую как '123', в целое Integer.

Основные используемые команды и запросы языка SQL:

1) Команда SELECT - используется для выборки данных из базы данных.

SELECT [Предикат] Поля FROM Таблицы [IN БазаДанных] [WHERE ...] [GROUP BY ...] [HAVING ...] [ORDER BY ...];

2) Команда UPDATE посылает запрос на изменение записи.

UPDATE Таблица SET НовоеЗначение WHERE ...;

3) Команда DELETE посылает запрос на удаление записей из таблицы.

DELETE [Таблица.*] FROM Таблица WHERE ...;

4) Команда INSERT INTO предназначена для добавления одной или нескольких записей в конец таблицы.

INSERT INTO ТаблицаНазначения [(Поля)] VALUES (Значения);

Для работы с базой данных Microsoft SQL были подключены следующие модули: DB, ADODB, Grids, DBGrids.

3 Описание логики работы приложения

В разрабатываемом приложении реализуется заполнение анкеты.

Пользователь должен иметь возможность заполнения новой анкеты и сохранения результатов в базу данных, должен быть реализован переход к определенной анкете и вывод ее на экран.

В соответствии с необходимыми требованиями должна быть создана форма заполнения анкеты, содержащая различные метки, поля ввода и т.п.

Необходимые вопросы анкеты и поля ввода разбиты на 4 части, каждая часть размещается на отдельной панели. Во время выполнения программы на экране отображена только одна из них. Переключение между панелями осуществляется с помощью кнопок «Дальше» и «Назад». Такая реализация позволяет уменьшить зрительный размер формы и делает программу внешне более приятной и удобной для пользователя. Также необходимо реализовать сохранение результатов в SQL таблицу, происходящее при нажатии соответствующей кнопки.

Для того чтобы пользователь не мог ввести некорректные данные некоторые поля должны с помощью соответствующих функция проверять правильность введенных данных и выдавать соответствующие предупреждения.

Для просмотра ранее сохраненных данных, необходимо создать еще одну форму. В данной форме должно быть реализовано выполнение следующих действий:

1) должен осуществляться переход к определенной анкете по ее ID;

2) Должен быть создан набор меток, которые будут отображать найденную информацию согласно пунктам анкетирования;

3) в случае если введен не верный ID анкеты, должно появиться соответствующее сообщение;

4) должны быть созданы кнопки, нажатие на которые будет осущесствлять переход к следующей анкете или к предыдущей ;

Для удобного доступа к окну просмотра анкет и к окну просмотра информации о программе и ее авторе необходимо создать меню, которое и будет передавать управление дальше.

4 Разработка программного обеспечения и описание пользовательского интерфейса

4.1 Таблица SQL

Для сохранения результатов анкетирования, в среде Microsoft SQL Server Management Studio создали базу Anketa. Чтобы связаться с базой прописали в каждом элементе типа TadoQuery приложения

Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=Anketa;Data Source=М-ПК

Создали таблицу Table_1 в нашей базе данных.

Рисунок 1 - Таблица Table1

4.2 Главная форма MainForm

Листинг программы приведен в приложении А.

Для работы с базой SQL на форме располагаются элементы DataSource1: TDataSource, ADO: TADOQuery, DBGrid1: TDBGrid.

Согласно изложенному выше плану работы приложения был создан модуль Mform, в котором описана форма MainForm (рисунок 2). На этой форме размещены 4 панели,содержащие элементы для ввода данных анкетирования.

Для большей удобности и экономии пространсво было создано MainMenu1,содержащее 2 вкладки: «Анкета», «Справка».

Вкладка «Анкета» имеет 3 пункта:

«Заполнить новую»-делает активной первую панель,скрывая все остальные,очищатет все элементы ввода для ввода новых данных;

«Посмотреть заполненные»-показывает модальное окно InfoForm, содержащее информацию об анкетируемых(рисунок 4);

«Выход»-осуществляет выход из программы.

Вкладка «Справка» имеет один пункт:

«О программе»- показывает модальное окно AboutForm с информацией о программе и ее авторе(рисунок 3).

Для того чтобы открываемое окно было модальным вызывается функция showmodal соответствующего экземпляра формы.

Закрытие и уничтожение модальной формы осуществляется с помощью процедуры Release, либо же формы, свойству соответствующей кнопки выхода ModalResult присваивается значение mrCancel.

Навигация между нужными панелями выполняется при помощи кнопок

«Назад» и «Дальше». При работе с первой панелью кнопка «Назад» в свойстве vision имеет значение false, при работе с остальными панелями true.

При работе с последней панелью кнопка «Дальше» в свойстве vision имеет значение false, при работе с остальными панелями true.

Также описана процедура:

procedure BdataKeyPress(Key:Char):Char; - возвращает цифру, передаваемую как параметр, если она входит в алфавит, или же является специальным знаком клавиши удаления #8, иначе возвращает “пустой” символ #0 .Данная процедура используются для предотвращения некорректного ввода в поле TEdit (например, при вводе букв в поле ввода даты рождения анкетируемого).

После создания формы анкетирования переменной povtorSave: boolean этой формы присваивается значение false, это означает, что происходит новое заполнение анкеты.

После правильного заполнения полей,при просмотре последней панели,кнопка «Сохранить результат» становится активной.

После ее нажатия начинается проверка заполнения,если же поле не было заполнена данные не будут сохранены и программа уведомит пользователя об этом.Далее происходит сохранение данных в базу SQL и переменной povtorSave присвоиться значение true,это означает, что если мы не выберем в меню пункт «Новая анкета»,то при следующем сохранении данных мы будем видеть диалоговое окно с запросом наших намерений.

Рисунок 2.1 - Главная форма приложения.

Рисунок 2.2 - Главная форма приложения.

программа база данные анкета

Рисунок 2.3 - Главная форма приложения.

Рисунок 2.4 - Главная форма приложения.

Рисунок 3 - Форма «О программе».

4.3 Форма просмотра анкет Infoform

На рисунке 4 представлена данная форма.

Для работы с базой SQL на форме располагаются элементы DataSource1: TDataSource, ADO: TADOQuery, DBGrid1: TDBGrid.

При создании данной формы происходит заполнение 1 столбца InfoGrid:TstringGrid и подсчет количества анкет. Количество анкет оображается в Label2.

Для осуществления перехода к определенной анкете,при нажатии кнопки Button1,происходит перемещение по таблице до нужной анкеты и данные выводятся в InfoGrid при помощи процедуры SelectInfo.

Если был введен ID несуществующей анкеты,появится окно предупреждающее об этом и окно ввода ID будет очищено.

При нажатии на кнопку «Предыдущая» происходит переход к предыдущей анкете,которая будет показана в InfoGrid.

При нажатии на кнопку «Следующая» происходит переход к следующей анкете,которая будет показана в InfoGrid.

Рисунок 4 - Форма просмотра анкет.

Заключение

В ходе курсовой работы было разработано приложение, позволяющее заносить данные анкетирования в базу данных MS SQL. Также была подробно рассмотрена реализация приложения

Список используемой литературы

1. Программирование в Delphi. Учебник по классическим теориям Delphi. - ООО «Бином-Пресс» 2006г.

2. Разработка клиент-серверных приложений в Delphi А. Шкрыль БХВ-Петербург 2006г

3. SQL: Полное руководство Джеймс Р. Грофф, Пол Н. Вайнберг Издательство: Ирина, Издательская группа BHV, McGraw-Hill Companies 2001г.

Приложение А (обязательное)

Листинг программы

program Anketa;

uses

Forms,

MainForm in 'MainForm.pas' {Form1},

Unit1 in 'Unit1.pas' {AboutForm},

Unit2 in 'Unit2.pas' {InfoForm};

{$R *.res}

begin

Application.Initialize;

Application.Title := 'Анкета';

Application.CreateForm(TForm1, Form1);

Application.CreateForm(TAboutForm, AboutForm);

Application.Run;

end.

unit MainForm;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Grids, DBGrids, DB, ADODB,

ExtCtrls, ComCtrls, Menus, Vcl.XPMan;

type

TForm1 = class(TForm)

DataSource1: TDataSource;

ADO: TADOQuery;

DBGrid1: TDBGrid;

SaveButton: TButton;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

NameEdit: TEdit;

LNameEdit: TEdit;

MNameEdit: TEdit;

PolGroup: TRadioGroup;

Bdata: TLabeledEdit;

Professia: TLabeledEdit;

TimeGameL: TLabel;

TimeGameBox: TComboBox;

OpitGameL: TLabel;

OpitGameBox: TComboBox;

PlatformerL: TLabel;

PlatformerBox: TComboBox;

ConfigPCEdit: TRichEdit;

ConfigPCL: TLabel;

Game: TLabeledEdit;

GameInfoEdit: TRichEdit;

GameInfoL: TLabel;

DonatBox: TComboBox;

DonatL: TLabel;

FilmEdit: TLabeledEdit;

InfoEdit: TRichEdit;

Info: TLabel;

OsL: TLabel;

OSBox: TComboBox;

GanrGame: TLabeledEdit;

Panel1: TPanel;

PristavkaGroup: TRadioGroup;

Panel2: TPanel;

Panel3: TPanel;

Panel4: TPanel;

PriorButton: TButton;

NextButton: TButton;

MainMenu1: TMainMenu;

Af1: TMenuItem;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

procedure PriorButtonClick(Sender: TObject);

procedure NextButtonClick(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure SaveButtonClick(Sender: TObject);

procedure BdataKeyPress(Sender: TObject; var Key: Char);

procedure N5Click(Sender: TObject);

procedure N1Click(Sender: TObject);

procedure N3Click(Sender: TObject);

procedure N2Click(Sender: TObject);

private

{ Private declarations }

public

id: integer;

end;

var

Form1: TForm1;

l:integer; //номер активной панели

povtorSave:boolean;

implementation

uses Unit1, Unit2;

{$R *.dfm}

function definitionId: integer;//возвращает значение следующего ID анкеты

begin

Form1.ado.SQL.Clear;

Form1.ado.SQL.Text:='select id from table_1 ORDER BY id ASC;';

Form1.ado.open;

Form1.ado.Last;

try

result:=Form1.ado.Fields[0].value+1;

except result:=1;

end;

end;

procedure NewANKETA;

begin

Form1.FormCreate(Form1);

with Form1 do

begin

NameEdit.Clear;

lNameEdit.Clear;

mNameEdit.Clear;

PolGroup.ItemIndex:=-1;

professia.Clear;

Bdata.Clear;

GanrGame.Clear;

TimeGamebox.ItemIndex:=-1;

OpitGamebox.ItemIndex:=-1;

Donatbox.ItemIndex:=-1;

Platformerbox.ItemIndex:=-1;

PristavkaGroup.ItemIndex:=-1;

Osbox.ItemIndex:=-1;

Game.Clear;

FilmEdit.Clear;

ConfigPCEdit.Clear;

GameInfoEdit.Clear;

InfoEdit.Clear;

Form1.NextButton.Visible:=true;

form1.savebutton.Enabled:=false;

end;

end;

procedure Smena(l:integer);

begin

case l of

1: begin

Form1.Panel1.Visible:=true;

Form1.Panel2.Visible:=false;

Form1.Panel3.Visible:=false;

Form1.Panel4.Visible:=false;

Form1.PriorButton.Visible:=false;

Form1.NextButton.Visible:=true;

end;

2: begin

Form1.Panel1.Visible:=false;

Form1.Panel2.Visible:=true;

Form1.Panel3.Visible:=false;

Form1.Panel4.Visible:=false;

Form1.PriorButton.Visible:=true;

Form1.NextButton.Visible:=true;

end;

3: begin

Form1.Panel1.Visible:=false;

Form1.Panel2.Visible:=false;

Form1.Panel3.Visible:=true;

Form1.Panel4.Visible:=false;

Form1.PriorButton.Visible:=true;

Form1.NextButton.Visible:=true;

end;

4: begin

Form1.Panel1.Visible:=false;

Form1.Panel2.Visible:=false;

Form1.Panel3.Visible:=false;

Form1.Panel4.Visible:=true;

Form1.PriorButton.Visible:=true;

Form1.NextButton.Visible:=false;

form1.savebutton.Enabled:=true;

end;

end;

end;

procedure TForm1.PriorButtonClick(Sender: TObject);

begin

if l>1 then l:=l-1;

smena(l);

end;

procedure TForm1.NextButtonClick(Sender: TObject);

var

error:boolean;

begin

error:=false;

if l<4 then l:=l+1;

case l of

2: begin

if Polgroup.ItemIndex=-1 then begin ShowMessage('Вы не указали пол!'); error:=true; end;

try

StrToDateTime(Bdata.Text);

except

messagebox(0,'Неверный формат даты!'+#13#10+'Пример правильного ввода '+#13#10+ '01.01.2012' ,'Неверная дата',MB_Ok or MB_ICONERROR);

error:=true;

Bdata.Clear;

end;

if error then l:=1;

end;

3:begin

if TimeGamebox.ItemIndex=-1 then begin ShowMessage('Вы не указали сколько времени тратите на игры!'); error:=true; end;

if OpitGamebox.ItemIndex=-1 then begin ShowMessage('Вы не указали как вы оцениваете свой игровой опыт!'); error:=true; end;

if Platformerbox.ItemIndex=-1 then begin ShowMessage('Вы не указали как относитесь к платформерам!'); error:=true; end;

if Pristavkagroup.ItemIndex=-1 then begin ShowMessage('Вы не указали есть ли у вас приставка!');error:=true; end;

if error then l:=2;

end;

4:begin

if Osbox.ItemIndex=-1 then begin ShowMessage('Вы не указали свою ОС!'); error:=true; end;

if error then l:=3;

end;

end;

if Not error then smena(l);

end;

procedure TForm1.FormCreate(Sender: TObject);

begin

Panel1.Visible:=true;

Panel2.Visible:=false;

Panel3.Visible:=false;

Panel4.Visible:=false;

PriorButton.Visible:=false;

povtorSave:=false;

l:=1;

form1.savebutton.Enabled:=false;

end;

procedure TForm1.SaveButtonClick(Sender: TObject);

var

error: boolean;

begin

error:=false;

if Donatbox.ItemIndex=-1 then begin ShowMessage('Вы не указали тратите ли вы деньги на игры'); error:=true; end;

if (povtorSave)and(messagebox(0,'Возможно вы пытаетесь сохранить уже существующие данные!'+#13#10+'В этом случае они будут сохранены под новым номером! Продолжить?','Повторное сохранение',MB_YesNo or MB_ICONINFORMATION)=mrNo) then error:=true;

if (not error) then begin

try

id:=DefinitionId;

ado.SQL.Text:='insert into table_1 (ID, name, fam,otch,pol,datar,professia,TimeGame,OpitGame, GanrGame, Platformer, OS, ConfigPC, Pristavka, Game, GameInfo, Donat, Film, Info)';

ado.SQL.add(' values (:ID, :name, :fam,:otch,:pol,:datar,:professia,:TimeGame,:OpitGame, :GanrGame, :Platformer, :OS, :ConfigPC, :Pristavka, :Game, :GameInfo, :Donat, :Film, :Info)');

ado.Parameters.ParamByName('name').value:=NameEdit.Text;

ado.Parameters.ParamByName('fam').value:=lNameEdit.Text;

ado.Parameters.ParamByName('otch').value:=mNameEdit.Text;

ado.Parameters.ParamByName('pol').value:=PolGroup.ItemIndex;

ado.Parameters.ParamByName('professia').value:=professia.Text;

ado.Parameters.ParamByName('DataR').value:=formatdatetime('yyyy/mm/dd',StrToDateTime(Bdata.Text));

ado.Parameters.ParamByName('GanrGame').value:=GanrGame.Text;

ado.Parameters.ParamByName('TimeGame').value:=TimeGamebox.ItemIndex;

ado.Parameters.ParamByName('OpitGame').value:=OpitGamebox.ItemIndex;

ado.Parameters.ParamByName('Donat').value:=Donatbox.ItemIndex;

ado.Parameters.ParamByName('Platformer').value:=Platformerbox.ItemIndex;

ado.Parameters.ParamByName('Pristavka').value:=PristavkaGroup.ItemIndex;

ado.Parameters.ParamByName('OS').value:=OSBox.items[Osbox.ItemIndex];

ado.Parameters.ParamByName('Game').value:=Game.Text;

ado.Parameters.ParamByName('film').value:=FilmEdit.Text;

ado.Parameters.ParamByName('ConfigPC').value:=ConfigPCEdit.Text;

ado.Parameters.ParamByName('GameInfo').value:=GameInfoEdit.Text;

ado.Parameters.ParamByName('info').value:=InfoEdit.Text;

ado.Parameters.ParamByName('id').value:=id;

ado.ExecSQL; povtorSave:=true;

messagebox(0,'Данные успешно сохранены!','Сохранение',MB_Ok or MB_ICONINFORMATION);

except

ShowMessage('Ошибка при записи данных!');

end;

end else messagebox(0,'Данные не сохранены','Сохранение',MB_Ok or MB_ICONERROR);

end;

procedure TForm1.BdataKeyPress(Sender: TObject; var Key: Char);

const

abc: set of char=['0'..'9',#8,'.'];

begin

if (not(key in abc)) then key:=#0;

end;

procedure TForm1.N5Click(Sender: TObject);

begin

AboutForm.ShowModal;

end;

procedure TForm1.N1Click(Sender: TObject);

begin

NewAnketa;

end;

procedure TForm1.N3Click(Sender: TObject);

begin

Form1.Close;

end;

procedure TForm1.N2Click(Sender: TObject);

begin

Application.CreateForm(TInfoForm, InfoForm);

InfoForm.ShowModal;

end;

end.

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, jpeg, ExtCtrls;

type

TAboutForm = class(TForm)

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Button1: TButton;

Image1: TImage;

private

{ Private declarations }

public

{ Public declarations }

end;

var

AboutForm: TAboutForm;

implementation

{$R *.dfm}

end.

unit Unit2;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Grids, DB, ADODB, DBGrids;

type

TInfoForm = class(TForm)

InfoGrid: TStringGrid;

PriorButton: TButton;

NextButton: TButton;

DataSource1: TDataSource;

DBGrid1: TDBGrid;

ADO: TADOQuery;

Label1: TLabel;

CloseButton: TButton;

Label2: TLabel;

Button1: TButton;

Label3: TLabel;

edit1: TEdit;

procedure FormCreate(Sender: TObject);

procedure PriorButtonClick(Sender: TObject);

procedure NextButtonClick(Sender: TObject);

procedure CloseButtonClick(Sender: TObject);

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

InfoForm: TInfoForm;

implementation

uses Mainform;

{$R *.dfm}

procedure SelectInfo;

begin

with InfoForm do

begin

InfoGrid.Cells[1,0]:=ado.FieldByName('id').AsString;

InfoGrid.Cells[1,1]:=ado.FieldByName('name').AsString;

InfoGrid.Cells[1,2]:=ado.FieldByName('fam').AsString;

InfoGrid.Cells[1,3]:=ado.FieldByName('Otch').AsString;

if ado.FieldByName('pol').AsBoolean then InfoGrid.Cells[1,4]:='Женский' else InfoGrid.Cells[1,4]:='Мужской';

InfoGrid.Cells[1,5]:=ado.FieldByName('professia').AsString;

InfoGrid.Cells[1,6]:=ado.FieldByName('DataR').Asstring;

InfoGrid.Cells[1,7]:=Form1.TimeGameBox.Items[ado.FieldByName('TimeGame').AsInteger];

InfoGrid.Cells[1,8]:=Form1.OpitGameBox.Items[ado.FieldByName('OpitGame').AsInteger];

InfoGrid.Cells[1,9]:=ado.FieldByName('GanrGame').AsString;

InfoGrid.Cells[1,10]:=Form1.PlatformerBox.Items[ado.FieldByName('Platformer').Asinteger];

InfoGrid.Cells[1,11]:=ado.FieldByName('OS').AsString;

InfoGrid.Cells[1,12]:=ado.FieldByName('ConfigPC').AsString;

InfoGrid.Cells[1,13]:=Form1.PristavkaGroup.Items[ado.FieldByName('Pristavka').Asinteger];

InfoGrid.Cells[1,14]:=ado.FieldByName('Game').AsString;

InfoGrid.Cells[1,15]:=ado.FieldByName('GameInfo').AsString;

InfoGrid.Cells[1,16]:=Form1.DonatBox.Items[ado.FieldByName('Donat').AsInteger];

InfoGrid.Cells[1,17]:=ado.FieldByName('Film').AsString;

InfoGrid.Cells[1,18]:=ado.FieldByName('Info').AsString;

end;

end;

procedure TInfoForm.FormCreate(Sender: TObject);

begin

try

ADO.SQL.Clear;

ADO.sql.Text:='select * from Table_1 order by id asc;';

ADO.Open;

PriorButton.enabled:=true;

NextButton.enabled:=true;

ADO.last;

label2.Caption:='Всего анкет: '+ado.FieldByName('id').AsString+' ';

ado.First;

infogrid.ColWidths[0]:=220;

infogrid.ColWidths[1]:=680;

InfoGrid.Cells[0,0]:='Номер анкеты';

InfoGrid.Cells[0,1]:='Имя';

InfoGrid.Cells[0,2]:='Фамилия';

InfoGrid.Cells[0,3]:='Отчество';

InfoGrid.Cells[0,4]:='Пол';

InfoGrid.Cells[0,5]:='Профессия';

InfoGrid.Cells[0,6]:='Дата рождения';

InfoGrid.Cells[0,7]:='Время затрачиваемое на игры';

InfoGrid.Cells[0,8]:='Игровой опыт';

InfoGrid.Cells[0,9]:='Любимый жанр игр';

InfoGrid.Cells[0,10]:='Отношение к платформерам';

InfoGrid.Cells[0,11]:='Операционная система';

InfoGrid.Cells[0,12]:='Конфигурация компьютера';

InfoGrid.Cells[0,13]:='Наличие приставки';

InfoGrid.Cells[0,14]:='Любимая игра';

InfoGrid.Cells[0,15]:='Информация о любимой игре';

InfoGrid.Cells[0,16]:='Трача денег на игры';

InfoGrid.Cells[0,17]:='Любимый фильм';

InfoGrid.Cells[0,18]:='Информация о себе';

selectInfo;

except

ShowMessage('Не найдено данных!');

PriorButton.Enabled:=false;

NextButton.Enabled:=false;

end;

end;

procedure TInfoForm.PriorButtonClick(Sender: TObject);

begin

Ado.prior;

selectInfo;

end;

procedure TInfoForm.NextButtonClick(Sender: TObject);

begin

Ado.next;

selectInfo;

end;

procedure TInfoForm.Button1Click(Sender: TObject);

var

i:integer; //счетчик

begin

i:=1;

ado.Last;

if (strtoint(edit1.text)<=ado.FieldByName('id').AsInteger)and(strtoint(edit1.text)>0) then

begin

ado.First;

while i<strtoint(edit1.text) do

begin

ado.Next;

i:=i+1;

end;

selectInfo; end else

begin

ShowMessage('Введите правильное значение номера анкеты!');

edit1.clear;

end;

end;

procedure TInfoForm.CloseButtonClick(Sender: TObject);

begin

InfoForm.Release;

end;

end.

Размещено на Allbest.ru


Подобные документы

  • Описание использованных структур данных и разработка программы, обеспечивающей сжатие данных по алгоритму LZ77 с пошаговой визуализацией. Описание процедур, функций, структуры приложения и интерфейса пользователя. Тест и анализ работы алгоритма LZ77.

    курсовая работа [537,9 K], добавлен 28.06.2011

  • Проектирование программного модуля: сбор исходных материалов; описание входных и выходных данных; выбор программного обеспечения. Описание типов данных и реализация интерфейса программы. Тестирование программного модуля и разработка справочной системы.

    курсовая работа [81,7 K], добавлен 18.08.2014

  • Разработка и реализация демонстрационного многопоточного приложения. Выбор основных средств реализации. Описание логики работы приложения и разработка программного обеспечения. Описание пользовательского интерфейса. Реализация потоков в Delphi.

    курсовая работа [462,5 K], добавлен 10.08.2014

  • Описание приложения в виде пользовательского сценария. Проектирование обмена сообщениями между модулями. Разработка общей структуры приложения. Обзор структуры файлов. Разработка получения данных со страницы. Характеристика результата работы программы.

    дипломная работа [1,5 M], добавлен 22.03.2018

  • Создание программного приложения для осуществления основных функций по заказу мебели, регистрации клиентов, сотрудничеству с поставщиками. Разработка интерфейса прикладной программы. Логическое проектирование базы данных и SQL-скрипт генерации таблиц.

    курсовая работа [2,4 M], добавлен 11.02.2013

  • Разработка приложения, позволяющего автоматизировать документооборот предприятия по списанию основных средств. Мероприятия по защите и обеспечению целостности базы данных. Разработка клиентского приложения. Запросы к базе данных, руководство пользователя.

    курсовая работа [700,0 K], добавлен 14.01.2015

  • Анализ целевой аудитории. Функциональные характеристики пользовательского приложения. Разработка алгоритмов и интерфейса программного продукта, функций рабочей области. Написание скриптов на языке C#. Тестирование программы методом чёрного ящика.

    дипломная работа [1,5 M], добавлен 09.11.2016

  • Разработка программного приложения WindowsForms для работы с базой данных на языке высокого уровня C# в автономном режиме с использованием ADO.NET. Проектирование реляционной модели базы данных, интерфейса приложения, основных функций и возможностей.

    курсовая работа [4,3 M], добавлен 30.06.2015

  • Описание предметной области "Спортивные соревнования". Проектирование концептуальной и логической модели данных. Добавление не вошедших в ER–диаграмму атрибутов. Разработка SQL запросов к базе данных. Описание работы, тестирование клиентского приложения.

    курсовая работа [1,1 M], добавлен 24.11.2014

  • Разработка клиент-серверного приложения, позволяющего взаимодействовать друг с другом с использованием доступа к базам данных. Проектирование связи сервера с базой данных с помощью технологии ODBC. Разработка интерфейса программы, ее тестирование.

    курсовая работа [352,0 K], добавлен 24.08.2016

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.