Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

Ответ
 
Опции темы
Старый 04.05.2012, 22:07   #1
Egor2
 
Регистрация: 21.03.2011
Сообщений: 7
Репутация: 10
По умолчанию list index out of bounds 0 при обращении к процедуре

Код:

unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    RadioGroup1: TRadioGroup;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Button2Click(Sender: TObject);

  private
    { Private declarations }
  public
    { Public declarations }
    procedure GenerateNew;
    procedure GenerateResult;
    procedure GenerateLost;
   end;

  const
 Q = 'Вопрос ';
 O_k = 'Правильно';
 _of = ' из ';
 win1 = 'Вы успешно прошли тест';
 win2 = 'Поздравляем';
 lost2 = 'Неверно';
 lost1 = 'Вы не прошли тест';

var
  Form1: TForm1;
  s: string;
  n: integer;
  num:integer;
  ri:integer;

implementation

{$R *.dfm}
  procedure TForm1.GenerateNew;
  var k: String;
 begin
   begin
   inc(num);
   label1.Caption:= Q+inttostr(num)+_of+inttostr(N);
   readln(k); label2.Caption:= k;
   readln(k); RadioGroup1.Items.Strings[0]:= k;
   readln(k); RadioGroup1.Items.Strings[1]:= k;
   readln(k); RadioGroup1.Items.Strings[2]:= k;
   readln(k); RadioGroup1.Items.Strings[3]:= k;
   RadioGroup1.Buttons[ri].Checked:= false;
   readln(ri);
  end
 end;

  procedure TForm1.GenerateResult;
  begin
   label1.Caption:= win2;
   label2.Caption:= win1;
   label3.Visible:= false;
   button1.Visible:= false;
   radiogroup1.Visible:= false;
  end;

  procedure TForm1.Button2Click(Sender: TObject);
begin
closefile(input);
form1.Close;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
 s:= 'e:\test\text123.txt';
assignfile (input,s);
readln(n);
     if (N>0) then
   GenerateNew
  else
   begin
    closefile(input);
    form1.Close
   end;
end;

procedure TForm1.GenerateLost;
  begin
   label1.Caption:= lost2;
   label2.Caption:= lost1;
   label3.Visible:= false;
   button1.Visible:= false;
   radiogroup1.Visible:= false;
  end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 If (RadioGroup1.Buttons[ri].Checked) and (num<N) then
 begin
  label3.Caption:= Q+inttostr(num)+' - '+O_k;
  GenerateNew;
 end

  else
   if (num=N) and (RadioGroup1.Buttons[ri].Checked) then
    GenerateResult

     else
      if (not RadioGroup1.Buttons[ri].Checked) then
       GenerateLost;
end;


end.

выделяет строку GenerateNew
Код:

begin
 s:= 'e:\test\text123.txt';
assignfile (input,s);
readln(n);
     if (N>0) then
   GenerateNew
  else
   begin
    closefile(input);
    form1.Close
   end;

Egor2 вне форума   Ответить с цитированием
Старый 04.05.2012, 22:22   #2
Stilet
Белик Виталий :)
Профессионал
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Адрес: Украина, Донецкая область, г. Краматорск
Сообщений: 57,842
Репутация: 6832
По умолчанию

Цитата:
выделяет строку GenerateNew
Не удивительно.
Цитата:
RadioGroup1.Buttons[ri].Checked:= false;
Чему ri на этой строке равно, когда выполняется считка из файла?
Может ты местами попутал, и нужно так:
Код:

   
   readln(ri);
RadioGroup1.Buttons[ri].Checked:= false;

__________________
I'm learning to live...

Последний раз редактировалось Stilet; 04.05.2012 в 22:24.
Stilet вне форума   Ответить с цитированием
Старый 04.05.2012, 22:48   #3
Egor2
 
Регистрация: 21.03.2011
Сообщений: 7
Репутация: 10
По умолчанию

Нет, проблему не решило

overloaded procedures must be marked with the 'overload' directive
вообщем он начал вот так ругаться

Цитата:
Сообщение от Egor2 Посмотреть сообщение
overloaded procedures must be marked with the 'overload' directive
вообщем он начал вот так ругаться
объявлено в паблике

Последний раз редактировалось Stilet; 05.05.2012 в 12:14.
Egor2 вне форума   Ответить с цитированием
Старый 04.05.2012, 23:14   #4
BDA
Модератор
Заслуженный модератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Адрес: RF Moscow
Сообщений: 5,383
Репутация: 2468

icq: 438888048
По умолчанию

Имхо, вы использовали имя процедуры 2 раза или задали такое имя, которое уже использовано в других юнитах. Покажите весь код, может вы что-то еще поменяли по сравнению с выложенным кодом?

Кстати, свое сообщение можно редактировать 24 часа с момента опубликования
__________________
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума   Ответить с цитированием
Старый 04.05.2012, 23:16   #5
Egor2
 
Регистрация: 21.03.2011
Сообщений: 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
Имхо, вы использовали имя процедуры 2 раза или задали такое имя, которое уже использовано в других юнитах. Покажите весь код, может вы что-то еще поменяли по сравнению с выложенным кодом?
Только зашел отписаться! два раза объявил просто)
Egor2 вне форума   Ответить с цитированием
Старый 04.05.2012, 23:37   #6
Egor2
 
Регистрация: 21.03.2011
Сообщений: 7
Репутация: 10
По умолчанию

Проблему решил-посмеялся.
Я на форме в радиогрупп линии не сделал.)
Egor2 вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
При поиске возникает ошибка List index out of bounds (-1) Алекссс БД в Delphi 10 22.07.2011 16:40
List index out of bounds (0) waka2ebawer Работа с сетью в Delphi 2 17.02.2011 07:30
List index out of bounds (44) KoBRaAndrey Общие вопросы Delphi 5 12.12.2009 00:03
Ошибка List index out of bounds(0) при использовании запроса AdoQuery ArtInt БД в Delphi 14 15.04.2009 18:35
При запуске ComboBoxEx пишет List index out of bounds -1. dx+ Общие вопросы Delphi 6 12.06.2008 22:32


18:54.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru