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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.04.2009, 00:27   #1
Solana
 
Регистрация: 13.12.2007
Сообщений: 3
По умолчанию Тесты в delphi

Ребят помогите плиз завтра здавать уже надо а я курсовую не могу доделать......учебник-задачник сделала все
а вот как тесты делать я не знаю, притом надо чтобы перед тестом был запрос на имя и фамилию ученика потом тест, потом результат и по окончанию теста в журнал записывался результат и имя ученика
Solana вне форума Ответить с цитированием
Старый 30.04.2009, 00:42   #2
Terran
Участник клуба
 
Аватар для Terran
 
Регистрация: 28.11.2007
Сообщений: 1,521
По умолчанию

Я как то давно писал тесты. Для начала я создавай одну форму с полями ввода информации и со всякими данными, потом при нажатии на кнопку переходил к следующей форме. На следующей форме отвечал на вопросы и т.д. Потом в конце выводил итоговый балл. Только тест получался конкретный на конкретные вопросы. Если вы хотите сделать что-то на подобии болванки для тестов, т.е. что бы можно было загружать вопросы и ответы, то вам надо будет немного постараться, а если просто тест, то тут ничего сложного нету. В программе объявляете глобальную переменную на весь проект и потом в ней храните информацию о баллах. Что касается ввода имени и фамилии, то после ввода их можно сразу записывать на последнюю форму в результат.
Всегда рад помочь!
Terran вне форума Ответить с цитированием
Старый 30.04.2009, 15:35   #3
Lisi4ka
Пользователь
 
Регистрация: 28.09.2008
Сообщений: 31
По умолчанию

Отсылаю пример из Инета, Подсоедините форму к своему проекту и перепишите текстовый файлик с вопросами под себя
Вложения
Тип файла: rar tests_lab.rar (148.8 Кб, 213 просмотров)
Lisi4ka вне форума Ответить с цитированием
Старый 07.10.2010, 17:06   #4
Alsou
 
Регистрация: 24.05.2010
Сообщений: 4
По умолчанию

Здравствуйте! Я использовала этот тест из инета, переписала текстовый файл, но при запуске выходит старый текст файла. Что я не так сделала?
Alsou вне форума Ответить с цитированием
Старый 07.10.2010, 21:35   #5
glGizma
Пользователь
 
Регистрация: 25.02.2010
Сообщений: 49
По умолчанию

Вот пример, самый простой.
Код:
type
  TForm1 = class(TForm)
    Image1: TImage;
    sButton1: TsButton;
    Edit1: TEdit;
    sWebLabel1: TsWebLabel;
    sWebLabel2: TsWebLabel;
    sWebLabel3: TsWebLabel;
    sSkinManager1: TsSkinManager;
    sSkinProvider1: TsSkinProvider;
    sMemo1: TsMemo;
    JvBalloonHint1: TJvBalloonHint;
    SpinEdit1: TSpinEdit;
    Label1: TLabel;
    Label2: TLabel;
    sButton2: TsButton;
    Label3: TLabel;
    Edit2: TEdit;
    procedure sButton1Click(Sender: TObject);
    procedure Edit1Change(Sender: TObject);
    private public end;

var
  {
  score:array[1..N_ANS] of integer; // оценка за выбор ответа
  summa:integer;  // набрано очков
  vopros:integer; // номер текущего вопроса
  otv:integer;    // номер выбранного ответа
  }
implementation

{$R *.dfm}
{$R pic.res} // A B C D E F G H I J K L M N O

{

// щелчок на кнопке Button1
procedure TForm1.Button1Click(Sender: TObject);
  begin
     case Button1.tag of
       0: begin
               Button1.caption:='Дальше';
               Button1.tag:=1;
               RadioButton5.Checked:=TRUE;
               // вывод первого вопроса
               Button1.Enabled:=False;
               ResetForm;
               VoprosToScr;
          end;
       1: begin // вывод остальных вопросов
               summa:=summa+score[otv];
               RadioButton5.Checked:=TRUE;
               Button1.Enabled:=False;
               ResetForm;
               if not eof(f)
                  then VoprosToScr
                  else
                     begin
                        summa:=summa+score[otv];
                        closefile(f);
                        Button1.caption:='Ok';
                        Form1.caption:='Результат';
                        Button1.tag:=2;
                        Button1.Enabled:=TRUE;
                        Itog; // вывести результат
                     end;
          end;
       2: begin // завершение работы
            Form1.Close;
          end;
     end;
end;

// Процедура обработки события OnClick
// для компонентов RadioButton1-RadioButton4
procedure TForm1.RadioButtonClick(Sender: TObject);
begin
  if sender = RadioButton1
  then otv:=1
  else if sender = RadioButton1
          then otv:=2
          else if sender = RadioButton3
                  then otv:=3
                  else otv:=4;
  Button1.enabled:=TRUE;
end;

Соедините 2 пронумерованные точки одной линией таким образом, чтобы разбить фигуру на 2 части
 при этом из этих 2 частей можно было сложить прямоугольник

 введите номера этих этих двух точек через пробел

}


procedure TForm1.sButton1Click(Sender: TObject);
  begin
     case sButton1.tag of
       0: begin
    Edit1.Visible:=true;
    Image1.Visible:=true;
    sWebLabel1.Visible:=true;
    sWebLabel2.Visible:=true;
    sWebLabel3.Visible:=true;
    JvBalloonHint1.ActivateHint(Edit1,'Введите номера этих этих двух точек через пробел.'+#13+
                                'Например: 2 14',ikInformation, 'ТЕСТИРОВАНИЕ 2010', 10000);
               sButton1.caption:='Дальше';
               sButton1.tag:=1;
               sWebLabel2.Caption :='1';
               Image1.Picture.Bitmap.LoadFromResourceName(hInstance,'A');
               // вывод первого вопроса
               //if Edit1.Text = '1 15' then SpinEdit1.Value := SpinEdit1.Value+1;
               Edit1.Text := '';
               sButton1.Enabled:=False;
          end;
       1: begin
               sButton1.caption:='Дальше';
               sButton1.tag:=2;
               sWebLabel2.Caption :='2';
               Image1.Picture.Bitmap.LoadFromResourceName(hInstance,'B');
               // вывод Второго вопроса
               if Edit1.Text = '9 14' then SpinEdit1.Value := SpinEdit1.Value+1;
               Edit1.Text := '';
               sButton1.Enabled:=False;
          end;
       2: begin
               sButton1.caption:='Дальше';
               sButton1.tag:=3;
               sWebLabel2.Caption :='3';
               Image1.Picture.Bitmap.LoadFromResourceName(hInstance,'C');
               // вывод Третьего вопроса
               if Edit1.Text = '5 14' then SpinEdit1.Value := SpinEdit1.Value+1;
               Edit1.Text := '';
               sButton1.Enabled:=False;
          end;
       3: begin
               sButton1.caption:='Дальше';
               sButton1.tag:=4;
               sWebLabel2.Caption :='4';
               Image1.Picture.Bitmap.LoadFromResourceName(hInstance,'D');
               // вывод Четвёртого вопроса
               if Edit1.Text = '7 17' then SpinEdit1.Value := SpinEdit1.Value+1;
               Edit1.Text := '';
               sButton1.Enabled:=False;
          end;
end.
Если непонятно, то могу написать понятней.
glGizma вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Тесты по программированию для новичков и не только cocojambo Помощь студентам 0 08.04.2009 11:29
тесты Majority Помощь студентам 1 11.11.2008 23:49
тесты по психологии. Olga5 БД в Delphi 6 02.06.2008 11:44
Где найти тесты для тестирования кандидатов на позицию программиста? lexluther Gamedev - cоздание игр: Unity, OpenGL, DirectX 2 28.01.2007 13:29