Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 20.09.2016
Сообщений: 8
1

Почему выдает ошибку - "Project Project1.exe raised exception class EStringListError with message 'List index

22.09.2016, 13:28. Показов 1415. Ответов 5
Метки нет (Все метки)

нажимаю "ок" при выводе ошибки
после чего показывает это "кар "12" "
Так же не удается отобразить файле в моем проекте
вот сам код:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
unit Unit7;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Buttons, ExtCtrls, StdCtrls, ComCtrls;
 
type
  TForm7 = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    TabControl1: TTabControl;
    RichEdit1: TRichEdit;
    RadioGroup1: TRadioGroup;
    Bevel1: TBevel;
    SpeedButton1: TSpeedButton;
    SpeedButton2: TSpeedButton;
    SpeedButton3: TSpeedButton;
    procedure FormCreate(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure TabControl1Change(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
//    procedure RichEdit1Change(Sender: TObject);
//    procedure Panel1Click(Sender: TObject);
   // procedure BitBtn1Click(Sender: TObject);
  //  procedure RadioGroup1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    {Spis_tem1.txt}
    test:tstrings; {Tema1.txt, Tema2.txt, Tema3.txt }
    nom, kol,   { Tema1.txt, Tema2.txt, Tema3.txt }
    sum, pos:integer;
    pr:boolean;
    procedure zap_rez;
    function patch:string;
  end;
 
  rez=record
  user:string[30];
  rez_sum:integer;
  data:string[8];
  time:string[8];
  end;
 
var
  Form7: TForm7;
  f_rez:file of rez;
  zap:rez;
  
 
 
 
implementation
 
uses Unit1, Unit2; //Unit11;
 
{$R *.dfm}
procedure tform7.zap_rez;
begin
 assignfile(f_rez, 'rez.dat');
 {$I-}
 reset(f_rez);
 {$I+}
 if ioresult<>0 then
  begin
   showmessage('file not');
   rewrite(f_rez);
  end;
 seek(f_rez,filesize(f_rez));
 with zap do
  begin
   user:=Form7.name;
   rez_sum:=Form7.sum;
   data:= datetostr(now);
   time:= timetostr(now);
  end;
 write(f_rez,zap);
 closefile(f_rez);
end;
 
  function tform7.patch: string;
 begin
  patch := extractfilepath(paramstr(0));
  end;
 
procedure TForm7.FormCreate(Sender: TObject);
var
  i:integer;
begin
  sum := 0;
  nom := 1;
  test := tstringlist.Create;
  if fileexists(patch + 'Tema1.txt') then
    test.loadfromfile(patch + 'Tema1.txt');
  kol := strtoint(test.strings[0]);
  Form7.TabControl1.tabs.Clear;
  for i:=0 to kol-1 do
    begin
      form7.TabControl1.tabs.append('Вопрос ' +inttostr(i+1));
    end;
  for i:=nom to nom + 4 do
    Form7.Richedit1.Lines.append(test.strings[i]);
  Form7.Radiogroup1.items.Clear;
  for i:=nom + 6 to nom + 8 do
    form7.RadioGroup1.items.append(test.strings[i]);
end;
 
procedure TForm7.SpeedButton1Click(Sender: TObject);
begin
  if RadioGroup1.itemindex <> -1 then
  begin
    if (RadioGroup1.itemindex + 1 = strtoint(Form7.test.strings[Form7.nom + 5]))
    then
    begin
      Form7.sum := Form7.sum + 1;
      Application.MessageBox('Ответ верный', 'Ваш результат',
        mb_iconAsterisk + mb_ok);
    end
    else
      Application.MessageBox('ответ не верный', 'Ваш результат',
        mb_iconAsterisk + mb_ok);
    TabControl1Change(nil);
  end
  else
    Application.MessageBox('vi ne vibrali otvet', 'Vash resultat',
      mb_iconAsterisk + mb_ok);
end;
 
 
procedure TForm7.SpeedButton3Click(Sender: TObject);
begin
  Form7.Close;
end;
 
procedure TForm7.TabControl1Change(Sender: TObject);
var
  i, j: integer;
begin
  if TabControl1.tabs.Count - 1 > -1 then
    TabControl1.tabs.Delete(0);
  RadioGroup1.items.Clear;
  RichEdit1.Lines.Clear;
  if Form7.nom < Form7.test.Count - 9 then
  begin
    Form7.nom := Form7.nom + 9;
    RichEdit1.Lines.Clear;
    for i := Form7.nom to Form7.nom + 4 do
      RichEdit1.Lines.append(Form7.test.strings[i]);
    RadioGroup1.items.Clear;
    for i := Form7.nom + 6 to Form7.nom + 8 do
      RadioGroup1.items.append(Form7.test.strings[i]);
  end
  else
  begin
    if messagedlg('testov bolshe net', mtinformation, [mbok], 0) = mrok then
    begin
      RadioGroup1.items.Clear;
      RichEdit1.Lines.Clear;
    end;
  end;
end;
 
procedure TForm7.SpeedButton2Click(Sender: TObject);
begin
  Form7.TabControl1.tabs.Clear;
  Form7.RichEdit1.Lines.Clear;
  Form7.RadioGroup1.items.Clear;
  // form7.Label1.Caption:='';
  Form7.name := inputbox('Ввод имени пользователя', 'Введите имя', '');
  Form7.zap_rez;
end;
end.
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Миниатюры
Почему выдает ошибку - "Project Project1.exe raised exception class EStringListError with message 'List index  
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.09.2016, 13:28
Ответы с готовыми решениями:

Project Project1.exe raised exception class EStringListError with message 'List index out of bounds(0)'
Почему выдает ошибку - &quot;Project Project1.exe raised exception class EStringListError with message...

project raised exception class estringlisterror with message list index out of bounds
что нужно сделать чтобы не было этой ошибки? подскажите пожалуйста)

Project Project1.exe raised exception class EAccessViolation with message 'Access violation at address 007B90DA in module 'Project1.exe'...
При нажатии кнопки &quot;Добавить запись&quot; должна показываться вторая форма, вместо этого ошибка ...

Project Project1.exe raised exception class EAccessViolation with message 'Access violation at address 0045DC8E in module 'Project1.exe'. Write of ad'
Всем доброго времени суток, у меня возникла вот такая проблема, после компиляции проекта, при...

5
пофигист широкого профиля
4411 / 2906 / 823
Регистрация: 15.07.2013
Сообщений: 16,757
22.09.2016, 13:40 2
Сколько строк в файле Tema1.txt?
0
0 / 0 / 0
Регистрация: 20.09.2016
Сообщений: 8
22.09.2016, 13:53  [ТС] 3
Вот сам файл
0
Вложения
Тип файла: txt Теmа1.txt.txt (331 байт, 3 просмотров)
пофигист широкого профиля
4411 / 2906 / 823
Регистрация: 15.07.2013
Сообщений: 16,757
22.09.2016, 14:08 4
Имхо количество вопросов указанное в файле (10) не соответствует реальному содержимому файла.
0
0 / 0 / 0
Регистрация: 20.09.2016
Сообщений: 8
22.09.2016, 14:18  [ТС] 5
даже если я исправляю на нужное кол-во вопросов, проблема никуда не исчезает, что выдает ошибку, что не показывает тест.
0
Модератор
7163 / 4670 / 1967
Регистрация: 21.01.2014
Сообщений: 19,793
Записей в блоге: 3
23.09.2016, 16:24 6
mikae, похожая картинка?
Почему выдает ошибку - "Project Project1.exe raised exception class EStringListError with message 'List index

возникает из за того, что ты проверил, есть ли такой файл, если есть - загрузил его в стринглист.
А вот если файла нет, то ты пытаешься читать из незагруженного стринглиста 0-ю строку - отсюда АV
В примере взял заведомо не существующий файл - и пожалуйста.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.09.2016, 16:24

Project project1.exe raised exception class EConvertError with message
Доброго времени суток! Прошу помочь с программой. После нажатия на кнопку действия, программа...

Ошибка: Project Project1.exe raised exception class EAccessViolation with message 'Access violation at address
Работаю с файлом *.xls через OpenOffice Calc. На форме 2 элемента RadioButton1 и RadioButton2. Если...

Ошибка project1.exe raised exception class Estringlisterror
пишу icq чат и всё вроде неплохо, до того момента, когда хочешь в него войти, при посылке команды...

project1.exe raised exception class EConvertError with message "
Прошу помочь! Написала программу по подсчету в одномерном массиве целочисленных элементов...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.