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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.05.2011, 01:23   #21
obsession
Пользователь
 
Аватар для obsession
 
Регистрация: 08.05.2011
Сообщений: 61
По умолчанию

Код:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    RadioGroup1: TRadioGroup;
    RadioGroup2: TRadioGroup;
    Label1: TLabel;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Image1: TImage;
    Image2: TImage;
    Image3: TImage;
    Image4: TImage;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
f1,f2,f3:textfile;
s1,s2,s3,s4,s5,s6:string;
c:integer;
  Form1: TForm1;
 i:integer;
implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
label1.Hide;
radiogroup2.Hide;
button1.Show;
button3.Hide;
button2.Show;
radiogroup1.Show;
c:=0;
assignfile(f1,'test1.txt');
assignfile(f2,'test2.txt');
assignfile(f3,'test3.txt');
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
if messagedlg('Âû óâåðåíû, ÷òî õîòèòå âûáðàòü ýòó êàòåãîðèþ?',mtconfirmation,[mbyes,mbno],0)=mryes
then begin
if radiogroup1.ItemIndex=0 then
    messagedlg('Âû âûáðàëè êàòåãîðèþ ãåîãðàôèÿ.',mtinformation,[mbok],0);
if radiogroup1.ItemIndex=1 then
    messagedlg('Âû âûáðàëè êàòåãîðèþ ìóçûêà.',mtinformation,[mbok],0);
if radiogroup1.ItemIndex=2 then
    messagedlg('Âû âûáðàëè êàòåãîðèþ íàóêà è òåõíèêà.',mtinformation,[mbok],0);
end;
 reset(f1);
 reset(f2);
 reset(f3);
if radiogroup1.ItemIndex=0 then begin
    if eof(f1)=false then begin
    readln(f1,s1);
    readln(f1,s2);
    readln(f1,s3);
    readln(f1,s4);
    readln(f1,s5);
    end; end;
if radiogroup1.ItemIndex=1 then begin
    if eof(f2)=false then begin
    readln(f2,s1);
    readln(f2,s2);
    readln(f2,s3);
    readln(f2,s4);
    readln(f2,s5);
    end; end;
if radiogroup1.ItemIndex=2 then begin  
    if eof(f3)=false then begin
    readln(f3,s1);
    readln(f3,s2);
    readln(f3,s3);
    readln(f3,s4);
    readln(f3,s5);
    end; end;

label1.Show;
radiogroup2.Show;
button1.Hide;
button2.Show;
button3.Show;
radiogroup1.Hide;

label1.Caption:=s1;
radiogroup2.Items[0]:=s2;
radiogroup2.Items[1]:=s3;
radiogroup2.Items[2]:=s4;
radiogroup2.Items[3]:=s5;
radiogroup2.ItemIndex:=0;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
application.Terminate;
closefile(f1);
closefile(f2);
closefile(f3);
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
if radiogroup2.ItemIndex=strtoint(s6) then c:=c+1;

if radiogroup1.ItemIndex=0 then begin

  if eof(f1)=false then begin
    readln(f1,s1);
    readln(f1,s2);
    readln(f1,s3);
    readln(f1,s4);
    readln(f1,s5);
    readln(f3,s6);
    label1.Caption:=s1;
    radiogroup2.Items[0]:=s2;
    radiogroup2.Items[1]:=s3;
    radiogroup2.Items[2]:=s4;
    radiogroup2.Items[3]:=s5;
    radiogroup2.ItemIndex:=0;
      end
else begin
label1.hide;
radiogroup2.Hide;
button1.Hide;
button2.Show;
button3.Hide;
radiogroup1.Hide;
ShowMessage('Âû ïðàâèëüíî îòâåòèëè íà ' + IntToStr(c) + ' âîïðîñîâ.');
 end;    end;

if radiogroup1.ItemIndex=1 then begin

    if eof(f2)=false then begin
    readln(f2,s1);
    readln(f2,s2);
    readln(f2,s3);
    readln(f2,s4);
    readln(f2,s5);
    readln(f3,s6);
    label1.Caption:=s1;
    radiogroup2.Items[0]:=s2;
    radiogroup2.Items[1]:=s3;
    radiogroup2.Items[2]:=s4;
    radiogroup2.Items[3]:=s5;
    radiogroup2.ItemIndex:=0;

      end
else begin
label1.hide;
radiogroup2.Hide;
button1.Hide;
button2.Show;
button3.Hide;
radiogroup1.Hide;
ShowMessage('Âû ïðàâèëüíî îòâåòèëè íà ' + IntToStr(c) + ' âîïðîñîâ.');
end;   end;

if radiogroup1.ItemIndex=2 then begin

    if eof(f3)=false then begin
    readln(f3,s1);
    readln(f3,s2);
    readln(f3,s3);
    readln(f3,s4);
    readln(f3,s5);
    readln(f3,s6);
    label1.Caption:=s1;
    radiogroup2.Items[0]:=s2;
    radiogroup2.Items[1]:=s3;
    radiogroup2.Items[2]:=s4;
    radiogroup2.Items[3]:=s5;
    radiogroup2.ItemIndex:=0;
    end
else begin
label1.hide;
radiogroup2.Hide;
button1.Hide;
button2.Show;
button3.Hide;
radiogroup1.Hide;
ShowMessage('Âû ïðàâèëüíî îòâåòèëè íà ' + IntToStr(c) + ' âîïðîñîâ.');
 end;    end;


end;

end.
obsession вне форума Ответить с цитированием
Старый 09.05.2011, 01:26   #22
obsession
Пользователь
 
Аватар для obsession
 
Регистрация: 08.05.2011
Сообщений: 61
По умолчанию

Код:

Procedure TForm1.FormCreate(Sender: TObject);
Begin

label1.Hide;
radiogroup2.Hide;
button1.Show;
button3.Hide;
button2.Show;
radiogroup1.Show;

c := 0;

assignfile(f1,'test1.txt');
assignfile(f2,'test2.txt');
assignfile(f3,'test3.txt');
End;

Procedure TForm1.Button1Click(Sender: TObject);
Begin

If messagedlg('Вы уверены, что хотите выбрать эту категорию?',mtconfirmation,[mbyes,mbno],0)=mryes then
  begin
    if radiogroup1.ItemIndex=0 then
    messagedlg('Вы выбрали категорию география.',mtinformation,[mbok],0);
    if radiogroup1.ItemIndex=1 then
    messagedlg('Вы выбрали категорию музыка.',mtinformation,[mbok],0);
    if radiogroup1.ItemIndex=2 then
    messagedlg('Вы выбрали категорию наука и техника.',mtinformation,[mbok],0);
End;
// Открываем файлы
reset(f1);
reset(f2);
reset(f3);
// Подгружаем вопрос из выбраного файла
// 1 фаил
If radiogroup1.ItemIndex = 0 Then
  Begin
    If eof(f1) = false Then
      Begin
        readln(f1,s1);
        readln(f1,s2);
        readln(f1,s3);
        readln(f1,s4);
        readln(f1,s5);
        readln(f1,s6);
      End;
  End;
// 2 фаил
If radiogroup1.ItemIndex = 1 Then
  Begin
    If eof(f2) = false Then
      Begin
        readln(f2,s1);
        readln(f2,s2);
        readln(f2,s3);
        readln(f2,s4);
        readln(f2,s5);
        readln(f2,s6);
      End;
  End;
// 3 фаил
If radiogroup1.ItemIndex = 2 Then
  Begin
    If eof(f3) = false Then
      Begin
        readln(f3,s1);
        readln(f3,s2);
        readln(f3,s3);
        readln(f3,s4);
        readln(f3,s5);
        readln(f3,s6);
      End;
  End;

label1.Show;
radiogroup2.Show;
button1.Hide;
button2.Show;
button3.Show;
radiogroup1.Hide;

label1.Caption := s1;
radiogroup2.Items[0] := s2;
radiogroup2.Items[1] := s3;
radiogroup2.Items[2] := s4;
radiogroup2.Items[3] := s5;
radiogroup2.ItemIndex := 0;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
application.Terminate;
closefile(f1);
closefile(f2);
closefile(f3);
end;

procedure TForm1.Button3Click(Sender: TObject);
begin


If radiogroup2.ItemIndex=strtoint(s6) Then c := c + 1;


If radiogroup1.ItemIndex = 0 Then
  Begin
    If eof(f1)=false Then
      Begin
      
        readln(f1,s1); readln(f1,s2); readln(f1,s3); readln(f1,s4); readln(f1,s5); readln(f1,s6);
    
        label1.Caption := s1;
        radiogroup2.Items[0] := s2;
        radiogroup2.Items[1] := s3;
        radiogroup2.Items[2] := s4;
        radiogroup2.Items[3] := s5;
        radiogroup2.ItemIndex := 0;
      End
    Else
      Begin 
        label1.Hide;
        radiogroup2.Hide;
        button1.Hide;
        button2.Show;
        button3.Hide;
        radiogroup1.Hide;
      
        ShowMessage('Вы правильно ответили на ' + IntToStr(c) + ' вопросов.');
      End;
  End;

// Если выбран 2 тип вопросов то ...
If radiogroup1.ItemIndex = 1 Then
  Begin
    If eof(f2)=false Then
      Begin
        // Читаем фаил по строчкам. Вопрос, 4 ответа, 1 правильный ответ.
        readln(f2,s1); readln(f2,s2); readln(f2,s3); readln(f2,s4); readln(f2,s5); readln(f2,s6);
        // Выводим на форму
        label1.Caption := s1;
        radiogroup2.Items[0] := s2;
        radiogroup2.Items[1] := s3;
        radiogroup2.Items[2] := s4;
        radiogroup2.Items[3] := s5;
        radiogroup2.ItemIndex := 0;
      End
    Else
      Begin // если фаил завершился то скрываем кучку элементов
        label1.Hide;
        radiogroup2.Hide;
        button1.Hide;
        button2.Show;
        button3.Hide;
        radiogroup1.Hide;
        // Сообщим юзеру о его успехах.
        ShowMessage('Вы правильно ответили на ' + IntToStr(c) + ' вопросов.');
      End;
  End;
  
// Если выбран 3 тип вопросов то ...
If radiogroup1.ItemIndex = 2 Then
  Begin
    If eof(f3)=false Then
      Begin
        // Читаем фаил по строчкам. Вопрос, 4 ответа, 1 правильный ответ.
        readln(f3,s1); readln(f3,s2); readln(f3,s3); readln(f3,s4); readln(f3,s5); readln(f3,s6);
        // Выводим на форму
        label1.Caption := s1;
        radiogroup2.Items[0] := s2;
        radiogroup2.Items[1] := s3;
        radiogroup2.Items[2] := s4;
        radiogroup2.Items[3] := s5;
        radiogroup2.ItemIndex := 0;
      End
    Else
      Begin // если фаил завершился то скрываем кучку элементов
        label1.Hide;
        radiogroup2.Hide;
        button1.Hide;
        button2.Show;
        button3.Hide;
        radiogroup1.Hide;
        // Сообщим юзеру о его успехах.
        ShowMessage('Вы правильно ответили на ' + IntToStr(c) + ' вопросов.');
      End;
  End;
// End
End;

end.
obsession вне форума Ответить с цитированием
Старый 09.05.2011, 01:26   #23
obsession
Пользователь
 
Аватар для obsession
 
Регистрация: 08.05.2011
Сообщений: 61
По умолчанию

что за фигня?!?!? два кода. абсолютно одинаковые. в одном нет ошибки(в вашем) в другом ошибка(соответственно в моем коде).
project raised exception class EConvertError with message '''is not a valid integer value'. proces stopped.
она меня преследует
obsession вне форума Ответить с цитированием
Старый 09.05.2011, 01:31   #24
Valio
Сливочное масло
Участник клуба
 
Аватар для Valio
 
Регистрация: 01.01.2011
Сообщений: 1,149
По умолчанию

Код:
if radiogroup1.ItemIndex=0 then begin
    if eof(f1)=false then begin
    readln(f1,s1);
    readln(f1,s2);
    readln(f1,s3);
    readln(f1,s4);
    readln(f1,s5);
    end; end;
Тут недописана одна строка - readln(f1,s6);
И так для каждого файла.

Поэтому s6 = ''

И на

Код:
If radiogroup2.ItemIndex=strtoint(s6) Then c := c + 1;
Ошибка.
Сливочное масло Valio - компиляция как по маслу
Valio вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
EStringListError with message 'List index out of bounds (644)' после удаления дубликатов dzds Помощь студентам 2 25.03.2011 09:39
ошибка raized exception class EListError with message 'List index out of bounds(1)'.Process stopped SGRaptor Софт 0 22.05.2010 19:12
Project Project1.exe raised exception class EnvalidOP Rock'n'rolla Безопасность, Шифрование 16 20.01.2010 18:39
"Project Project1.exe raised class EConvertError with message'''is not a valid floating point value'." Doz1metr Помощь студентам 9 24.06.2009 19:06
raised exception class EIdSocketError with message' Socket Error # 10022 Invalid argument eldar Работа с сетью в Delphi 16 08.08.2008 23:49