Пятница, 19.04.2024, 18:46 Приветствую вас Гость | Группа "Гости" 
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: Anton93, Волк-1024, xXxSh@dowxXx  
delphicode » Delphi » Программы на Delphi » Пример теста (Delphi7)
Пример теста
dolphinДата: Суббота, 17.01.2009, 22:56 | Сообщение # 1
Администратор
Сообщений: 906
Статус: Offline
Code
Листинг procedure TForm1.BitBtn1Click

procedure TForm1.BitBtn1Click(Sender: TObject);

var n, i: integer;

userans, corranswer: string;

begin

IF Edit1.Text<> '' then //Если хоть что-то написано, то

begin

n:=1; i:=1; //Инициализируем переменные

totvarans:= DBMemo1.Lines.Count; //Сколько вариантов

totcorrcount:= length(ClientDataSet1CorrectAnswer.Value);//Сколько из них правильных

userans:= Edit1.text;//Возьмем вариант юзера

corranswer:= ClientDataSet1CorrectAnswer.Value;//И возьмем ПРАВИЛЬНЫЙ вариант <img src="http://s5.ucoz.net/sm/1/smile.gif" border="0" align="absmiddle" alt="smile">

balls:=0; //Пока 0 баллов

REPEAT //Начнем последовательно сравнивать - каждый вариант юзера со всеми правильными

IF userans[i]=corranswer[n] then //Если правильно, то

begin

Inc(i);//Проверим следующий пользовательский

n:=1; //Начиная с первого символа правильного ответа

balls:= balls+(100 div totcorrcount); //Вычислим, скольких баллов достоин

end else //А если неправильно

begin

IF n<>length(corranswer) then INC(n) else //если правильные кончились, значит юзер

//не прав и этот ответ не засчитывается. Если не кончились, то сравним со следующим

begin

INC (i); //Перейдем к следующему варианту

n:=1; //Сравнивать будем с первым правильным

end;

end;

UNTIL i>length(userans); //Завяжем, если кончатся все варианты

TotalBalls:= totalballs + balls; //Подсчитаем итоговое число баллов

Inc(lim); //Еще один вопрос отвечен...

IF lim=limit then //Если лимит достигнут, то

ShowMessage ('Вы набрали '+ inttostr((totalballs*100) div (limit*100))+' из 100 возможных!')

//Пересчитаем общее число баллов на 100 и выдадим заключение

else Clientdataset1.Next; //Иначе перейдем к следующему вопросу

end; //Здесь ты можешь поставить else на случай пустого Edit’а

end;


Система: Windows 10 x64, Kali Linux
Среды программирования: Delphi 7, Delphi 10.x

Я не профессионал, я всего лишь любитель
Я не вредитель, я всего лишь теоретик
 
delphicode » Delphi » Программы на Delphi » Пример теста (Delphi7)
  • Страница 1 из 1
  • 1
Поиск:

delphicode.ru © 2008 - 2024 Хостинг от uCoz