Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.01.2013, 12:46   #1
ramik1990
Новичок
Джуниор
 
Регистрация: 26.01.2013
Сообщений: 8
Вопрос [delphi+access] Проверка правильности

добрый день!
решил попробывать сделать тестировщик с БД Access.
таблица правда там только одна. поля: вопрос, правильный ответ, ответ2, ответ3, ответ4, ответ5....
конечно можно было и нужно 2 таблицы..былоб правильней наверно..
ну так как я уже начал делать с одной то немогу теперь сообразить как организовать проверку.... варианты ответов загружаются с бд в радиобатоны...
вот собственно код (при создании формы загружаются данные первой строки таблицы):
Код:
procedure TForm3.FormCreate(Sender: TObject);
begin
protveti:=0;
protvetov.Caption:='Правильных ответов: '+inttostr(0);
Label1.Caption:=Label1.Caption+IntToStr(TTest.RecordCount);
ShockwaveFlash1.Movie := ExtractFilePath(Application.ExeName) + 'logo.swf';
randomize;
ran:=random(4);
case ran of
0: begin
   RadioButton1.Caption:=TTest['protv'];
   RadioButton2.Caption:=TTest['otv2'];
   RadioButton3.Caption:=TTest['otv3'];
   RadioButton4.Caption:=TTest['otv4'];
   RadioButton5.Caption:=TTest['otv5'];
   if RadioButton1.Checked=True then protveti:=protveti+1;
   end;
1: begin
   RadioButton2.Caption:=TTest['protv'];
   RadioButton1.Caption:=TTest['otv2'];
   RadioButton3.Caption:=TTest['otv3'];
   RadioButton4.Caption:=TTest['otv4'];
   RadioButton5.Caption:=TTest['otv5'];
   if RadioButton2.Checked=True then protveti:=protveti+1;
   end;
2: begin
   RadioButton3.Caption:=TTest['protv'];
   RadioButton2.Caption:=TTest['otv2'];
   RadioButton1.Caption:=TTest['otv3'];
   RadioButton4.Caption:=TTest['otv4'];
   RadioButton5.Caption:=TTest['otv5'];
   if RadioButton3.Checked=True then protveti:=protveti+1;
   end;
3: begin
   RadioButton4.Caption:=TTest['protv'];
   RadioButton2.Caption:=TTest['otv2'];
   RadioButton3.Caption:=TTest['otv3'];
   RadioButton1.Caption:=TTest['otv4'];
   RadioButton5.Caption:=TTest['otv5'];
   if RadioButton4.Checked=True then protveti:=protveti+1;
   end;
4: begin
   RadioButton5.Caption:=TTest['protv'];
   RadioButton2.Caption:=TTest['otv2'];
   RadioButton3.Caption:=TTest['otv3'];
   RadioButton4.Caption:=TTest['otv4'];
   RadioButton1.Caption:=TTest['otv5'];
   if RadioButton5.Checked=True then protveti:=protveti+1;
   end;
   end;
   
  end;
и код на кнопке "далее" :
Код:
procedure TForm3.btnextClick(Sender: TObject);
begin
//=====загрузка ответов============
TTest.Next;
RadioButton1.Checked:=False;
RadioButton2.Checked:=False;
RadioButton3.Checked:=False;
RadioButton4.Checked:=False;
RadioButton5.Checked:=False;
randomize;
ran:=random(4);
case ran of
0: begin
   RadioButton1.Caption:=TTest['protv'];
   RadioButton2.Caption:=TTest['otv2'];
   RadioButton3.Caption:=TTest['otv3'];
   RadioButton4.Caption:=TTest['otv4'];
   RadioButton5.Caption:=TTest['otv5'];
   if RadioButton1.Checked=True then protveti:=protveti+1;
   end;
1: begin
   RadioButton2.Caption:=TTest['protv'];
   RadioButton1.Caption:=TTest['otv2'];
   RadioButton3.Caption:=TTest['otv3'];
   RadioButton4.Caption:=TTest['otv4'];
   RadioButton5.Caption:=TTest['otv5'];
   if RadioButton2.Checked=True then protveti:=protveti+1;
   end;
2: begin
   RadioButton3.Caption:=TTest['protv'];
   RadioButton2.Caption:=TTest['otv2'];
   RadioButton1.Caption:=TTest['otv3'];
   RadioButton4.Caption:=TTest['otv4'];
   RadioButton5.Caption:=TTest['otv5'];
   if RadioButton3.Checked=True then protveti:=protveti+1;
   end;
3: begin
   RadioButton4.Caption:=TTest['protv'];
   RadioButton2.Caption:=TTest['otv2'];
   RadioButton3.Caption:=TTest['otv3'];
   RadioButton1.Caption:=TTest['otv4'];
   RadioButton5.Caption:=TTest['otv5'];
   if RadioButton4.Checked=True then protveti:=protveti+1;
   end;
4: begin
   RadioButton5.Caption:=TTest['protv'];
   RadioButton2.Caption:=TTest['otv2'];
   RadioButton3.Caption:=TTest['otv3'];
   RadioButton4.Caption:=TTest['otv4'];
   RadioButton1.Caption:=TTest['otv5'];
   if RadioButton5.Checked=True then protveti:=protveti+1;
   end;
   end;
//=============================================
//=========выводим колличество правильных ответов====
 protvetov.Caption:='Правильных ответов: '+inttostr(protveti);

end;
вот такой неграмотный код но все же хотелось бы узнать как реализовать можно в данном случае проверку... а то чтото невыходит))
ramik1990 вне форума Ответить с цитированием
Старый 26.01.2013, 17:09   #2
ramik1990
Новичок
Джуниор
 
Регистрация: 26.01.2013
Сообщений: 8
По умолчанию

или может както легче и проще будет реализовать с помощью компонента dbcheckbox...
кто знает подскажите?
ramik1990 вне форума Ответить с цитированием
Старый 26.01.2013, 19:31   #3
ramik1990
Новичок
Джуниор
 
Регистрация: 26.01.2013
Сообщений: 8
По умолчанию

спасибо большое всем за "ответы".... сам уже разобрался............
ramik1990 вне форума Ответить с цитированием
Старый 26.01.2013, 20:05   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Цитата:
спасибо большое всем за "ответы"....
Ага, все прям в очередь должны стать, что бы ответить на супер вопрос.
Цитата:
конечно можно было и нужно 2 таблицы..былоб правильней наверно
Это 'конечно' и есть ответ на ваш вопрос

Правильный ответ - весь код в топку и нормально написать обработку вопросов и ответов
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 27.01.2013, 08:29   #5
rdama
Форумчанин
 
Аватар для rdama
 
Регистрация: 25.07.2009
Сообщений: 533
По умолчанию

Аватар, + 1.
Только, не только код сжечь но и БД туда же.
И нормально выполнить постановку задачи и проектирование.
Маразм крепчал. Еноты пели...
R-style Dataknowlege Access Member Account (RDAMA)
rdama вне форума Ответить с цитированием
Старый 27.01.2013, 10:24   #6
ramik1990
Новичок
Джуниор
 
Регистрация: 26.01.2013
Сообщений: 8
По умолчанию

Цитата:
Сообщение от rdama Посмотреть сообщение
Аватар, + 1.
Только, не только код сжечь но и БД туда же.
И нормально выполнить постановку задачи и проектирование.
ёба ёба.. вот взял бы в таком случае и объяснил лучше как правильно было б сделать... для чего и была создана эта тема.. а не флуд разводить тут...
ramik1990 вне форума Ответить с цитированием
Старый 27.01.2013, 12:21   #7
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

ramik1990, на форуме никто никому ни чем не обязан. Хотя отвечают, хотят не отвечают. Может ваш вопрос ни кому не интересен. А таких как вы, с претензиями, не любят, как врочем и на других форумах. Поекспериментируйте, может пошлют где-то подальше
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 27.01.2013, 12:31   #8
ramik1990
Новичок
Джуниор
 
Регистрация: 26.01.2013
Сообщений: 8
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
ramik1990, на форуме никто никому ни чем не обязан. Хотя отвечают, хотят не отвечают. Может ваш вопрос ни кому не интересен. А таких как вы, с претензиями, не любят, как врочем и на других форумах. Поекспериментируйте, может пошлют где-то подальше
так у меня претензий то и нет. и не говорю что обязаны. просто пришел сюда за помощью.. если не хотят помогать так и ненадо. ну и ерунду писать тогда зачем?согласись? P.S. при всем уважении
ramik1990 вне форума Ответить с цитированием
Старый 27.01.2013, 13:18   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Хорошо. Хочешь помощи? Избавься от манеры переставлять значения кнопок.
Пиши просто:
Код:
procedure aga;
begin
   RadioButton2.Caption:=TTest['otv2'];
   RadioButton3.Caption:=TTest['otv3'];
   RadioButton4.Caption:=TTest['otv4'];
   RadioButton5.Caption:=TTest['otv5'];
end;
И событие клика на батоны:
Код:
begin
 if TRadioButton(sender).caption=TTest['protv'] then protveti:=protveti+1;
 if not TTest.FindNext then ShowMessage('На все отвечено') 
 else aga
end;
Вот это уже более похоже будет на правдку, когда тест будет ожидать ответа, сравнивать его при клике и переходить на следующий.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 27.01.2013, 16:29   #10
ramik1990
Новичок
Джуниор
 
Регистрация: 26.01.2013
Сообщений: 8
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Хорошо. Хочешь помощи? Избавься от манеры переставлять значения кнопок.
Пиши просто:
Код:
procedure aga;
begin
   RadioButton2.Caption:=TTest['otv2'];
   RadioButton3.Caption:=TTest['otv3'];
   RadioButton4.Caption:=TTest['otv4'];
   RadioButton5.Caption:=TTest['otv5'];
end;
И событие клика на батоны:
Код:
begin
 if TRadioButton(sender).caption=TTest['protv'] then protveti:=protveti+1;
 if not TTest.FindNext then ShowMessage('На все отвечено') 
 else aga
end;
Вот это уже более похоже будет на правдку, когда тест будет ожидать ответа, сравнивать его при клике и переходить на следующий.
Спасибо большое!!
ramik1990 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проверка правильности формулы... Klim Bassenger Microsoft Office Excel 3 12.01.2010 15:01
Проверка правильности IP адреса Nester Помощь студентам 2 23.08.2009 14:39
Проверка правильности ввода. Whiplash Паскаль, Turbo Pascal, PascalABC.NET 6 14.11.2008 18:00
Проверка правильности ввода символов LLIypLLIyH Помощь студентам 7 22.07.2008 19:30
Проверка правильности KORT Помощь студентам 3 23.04.2007 20:23