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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.05.2016, 08:54   #1
densh169
Новичок
Джуниор
 
Регистрация: 08.05.2016
Сообщений: 1
Вопрос Проблема в создании теста delphi 7

Запускаю тест (через Project1.exe), отвечаю на 2 вопрос (в радиогруппе) Появляется ошибка '2' is not a valid integer value (текст программы ниже)

Код:
unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, jpeg;

type
  TForm2 = class(TForm)
    RadioGroup1: TRadioGroup;
    Image1: TImage;
    Label1: TLabel;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Image1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  f:textfile;
  q:integer;
  s1,s2,s3,s4,s5:string;
  c:byte;
  Form2: TForm2;

implementation

uses Unit1;

{$R *.dfm}

procedure TForm2.FormCreate(Sender: TObject);
begin
c:=0;
assignfile(f,'тест.txt');
reset(f);
button2.Hide;
radiogroup1.Hide;
end;

procedure TForm2.Button1Click(Sender: TObject);
begin
button1.Hide;
button2.show;
radiogroup1.Show;
readln(f,s1); readln(f,s2); readln(f,s3); readln(f,s4); readln(f,s5);
label1.Caption:=s1;
radiogroup1.Items[0]:=s2;
radiogroup1.Items[1]:=s3;
radiogroup1.Items[2]:=s4;
radiogroup1.ItemIndex:=0;
end;

procedure TForm2.Button3Click(Sender: TObject);
begin
closefile(f);
application.Terminate;
end;

procedure TForm2.Button2Click(Sender: TObject);
begin
if radiogroup1.ItemIndex=strtoint(s5)
  then
  begin
  c:=c+1; ShowMessage('Правильно!')
  end
  else
  begin
   c:=c+0; ShowMessage('Ты допустил ошибку!')
  end;

if eof(f)=false then begin
readln(f,s1); readln(f,s2); readln(f,s3); readln(f,s4); readln(f,s5);
label1.Caption:=s1;
radiogroup1.Items[0]:=s2;
radiogroup1.Items[1]:=s3;
radiogroup1.Items[2]:=s4;
radiogroup1.ItemIndex:=0;
end
else begin
radiogroup1.Hide;
button2.Hide;
q:=c;
if q=5 then label1.Caption:='Твоя оценка - 5, Ты отлично знаешь животных!';
if q=4 then label1.Caption:='Твоя оценка - 4, Тебе следует повторить полезную информацию';
if q=3 then label1.Caption:='Твоя оценка - 3, Тебе следует лучше учить полезную информацию';
if q=2 then label1.Caption:='Твоя оценка - 2, Учи усерднее';
if q=1 then label1.Caption:='Твоя оценка - 1, Попробуй снова!';
if q=0 then label1.caption:='Вы не выбрали ни одного правильного ответа!';

end;
end;

procedure TForm2.Button4Click(Sender: TObject);
begin
form2.Hide;
form1.show
end;

procedure TForm2.Image1Click(Sender: TObject);
begin

end;

end. 


________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(это кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!

Модератор.

Последний раз редактировалось Serge_Bliznykov; 08.05.2016 в 12:18.
densh169 вне форума Ответить с цитированием
Старый 08.05.2016, 12:18   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

похоже, что из файла 'тест.txt' в переменную s5 читается неверное числовое значение.
приложите архив с этим файлов к сообщению на форуме.

__
и да, архив с исходником вашего проекта тоже не помешает...

Последний раз редактировалось Serge_Bliznykov; 08.05.2016 в 12:21.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 08.05.2016, 12:22   #3
newerow1989
Я самый любопытный
Участник клуба
 
Аватар для newerow1989
 
Регистрация: 24.07.2012
Сообщений: 1,949
По умолчанию

У меня нормально работает.
А на какой строчке останавливает программу?

Структура файла такая:
Цитата:
Вопрос 1
Ответ 1
Ответ 2
Ответ 3
1
Вопрос 2
Ответ 1
Ответ 2
Ответ 3
2
2*2 =
4
5
6
0
Наше светило
Земля
Венера
Солнце
2
Пишешь программы на Delphi
Не знаю
Да
Нет
1
С запрограммированным приветом, Неверов Евгений!
Сайт: http://newerow1989.ru
[Паскаль] [Delphi]

Последний раз редактировалось newerow1989; 08.05.2016 в 12:28.
newerow1989 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужна срочно помощь в создании теста Jsic Помощь студентам 2 18.04.2014 18:59
Проблема при создании меню [Delphi XE3] -Jack- Общие вопросы Delphi 6 16.02.2014 19:05
Вопрос в создании теста в VBA HellkilleR Microsoft Office Excel 2 18.04.2010 10:37
Попал в тупик при создании теста dimitriy1987 Помощь студентам 19 26.10.2007 09:47