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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.12.2011, 13:39   #1
art.marked
Пользователь
 
Аватар для art.marked
 
Регистрация: 01.03.2011
Сообщений: 53
Радость Программа тестирования на Delphi

Здравствуйте!

Для курсовой нужно сделать тест для проверки знаний. 5-10 вопросов.

Подошло это (№11) - http://schools.keldysh.ru/sch444/INFORMAT/DELPHI/

Полностью сделал. НО программа для создания теста (первая) некорректно сохраняет файл и не создает файл тестирования (например) "TEST_1.txt" .
Она по сути создает файл теста TEST.TXT и файл тестирования TEST_N.TXT (N=номер). Но создает только первый.

Слегка не понимаю, что упустил. А так остальная часть программы работает. Исходники прилагаю.

Или даже так. Можно ли по коду понять как устроен этот TEST_N.TXT (N=номер) ? Я тогда просто блокнотом туда вопросы забью.

Заранее спасибо.
Вложения
Тип файла: rar PR_11.rar (186.3 Кб, 273 просмотров)
@belov on Twitter

Последний раз редактировалось art.marked; 21.12.2011 в 14:17.
art.marked вне форума Ответить с цитированием
Старый 21.12.2011, 15:43   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

не хочу Вас расстраивать, но всё очень плохо.
как минимум - переделайте запись теста (Button3Click) в файл таким образом:
Код:
// записать массив с вопросами в файл теста
procedure TForm1.Button3Click(Sender: TObject);
Var I : integer;
    CountQ : integer;
begin
  AssignFile(FFILE,'TEST.txt');
  Rewrite(FFILE);
  Button1.Enabled:=False;   //Недоступны все три кнопки
  Button2.Enabled:=False;
  Button3.Enabled:=False;

  CountQ := StrtoInt(SpinEdit1.Text);
  if CountQ > KOL then CountQ := KOL;

  For I:=1 to CountQ do
     Write(FFILE, TEST_[I]);

 CloseFile(FFILE)
end;
создания файла TEST_N я не увидел...

а вообще, если уж использовать Delphi, то почему бы не воспользоваться ДИНАМИЧЕСКИМ массивом?!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 21.12.2011, 17:00   #3
art.marked
Пользователь
 
Аватар для art.marked
 
Регистрация: 01.03.2011
Сообщений: 53
По умолчанию

Похоже с программой для создания теста всё плохо.
Тогда можно ли определить структкру этого TEXT_N.txt по коду, дабы вручную создать?

Вот код кнопки, принажатии на которую идет считывание теста:
Код:
procedure TForm1.Button1Click(Sender: TObject); 
Var N:Byte; 
begin 
N:=RadioGroup1.ItemIndex+1; 
AssignFile(FFILE,'TEST_'+IntToStr(N)+'.txt'); // Тест с номером
N 
{$I-} Reset(FFILE); {$I+} 
If IOResult = 0 then 
 begin 
  AssignFile(FF_R, 'TEST_R.txt');  // Рабочий файл тестов
  Rewrite(FF_R); 
  Repeat 
    Read(FFILE,TEST_); 
  until (Eof(FFILE)); 
  CloseFile(FFILE); 
  CloseFile(FF_R); 
  Form2.ShowModal; 
 end 
 else ShowMessage('Отсутствует файл тестов'); 
end;
Код формы с тестом:
Код:
procedure TForm2.FormActivate(Sender: TObject); 
Var I : Byte; 
begin 
AssignFile(FF_R,'TEST_R.txt'); 
Reset(FF_R); 
Read(FF_R,TEST_); 
KOL:= FileSize(FF_R)-1; 
KOL_N:=1; 
REZ_N:=0; 
Label1.Visible:=True; 
RadioGroup1.Visible:=True; 
Form2.Caption:=TEST_.TEXT; 
Form2.Height:=420; 
Form2.Width:=850; 
Label3.Caption:='Всего вопросов - '+IntToStr(KOL); 
Label3.Top:=20; 
Label3.Left:= 700; 
Label3.Font.Size := 8; 
Label4.Caption:='Правильных ответов - '+IntToStr(REZ_N); 
Label4.Top:=40; 
Label4.Left:= 700; 
Label4.Font.Size := 8; 
Label4.Font.Color:=clBlack; 
Button1.Caption:='Следующий'; 
Button1.Top:=350; 
Button1.Left:=720; 
Button1.Width:= 100; 
Button1.Height:=30; 
Read(FF_R,TEST_); 
Label1.Caption:='Вопрос № '+IntToStr(KOL_N); 
Label1.Font.Style := [fsBold]; 
Label1.Font.Size := 11; 
Label1.Height:=50; 
Label1.Width:=400; 
Label1.Left:=40; 
Label1.Top:=70; 
Label2.Caption:=TEST_.TEXT; 
Label2.Font.Size := 12; 
Label2.Height:=50; 
Label2.Width:=500; 
Label2.Left:=60; 
Label2.Top:=100; 
Label2.WordWrap := True; 
Label2.AutoSize := False; 
RadioGroup1.Top:=160; 
RadioGroup1.Left:=60; 
RadioGroup1.Width:= 750; 
RadioGroup1.Height:= 150; 
RadioGroup1.Font.Size:=11; 
RadioGroup1.Caption:= ' Выбери ответ '; 
RadioGroup1.Items.Clear; 
 For I:=1 to 4 do 
  RadioGroup1.Items.Add(TEST_.OTV[I]); 
end;
Вложения
Тип файла: rar PR_11.2.rar (182.6 Кб, 369 просмотров)
@belov on Twitter
art.marked вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа тестирования по вопросам Medvedoc Компоненты Delphi 7 11.05.2014 09:02
программа для тестирования(Delphi) zipo Помощь студентам 3 26.05.2012 17:58
Программа тестирования Rashgild Помощь студентам 2 14.07.2011 04:10
Программа тестирования dani92 Общие вопросы Delphi 5 26.01.2010 11:05
Программа Тестирования. Spiker01 Паскаль, Turbo Pascal, PascalABC.NET 3 06.01.2009 13:14