Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
 Аватар для Vaylon
0 / 0 / 1
Регистрация: 27.03.2012
Сообщений: 94

Код не работает почему то, не понятно(

11.06.2012, 18:19. Показов 2109. Ответов 23
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста)!
не понимаю в чем ошибка
вроде все должно работать

программа должна открыть все файлы названия которых находятся в массиве MAS (integer)
и записать их содержимое в массивы mas1..mas5 (записывать нужно через строку в каждый следующий массив)
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
procedure TForm1.Button3Click(Sender: TObject);
var
s:string;
f:textfile;
i,l:integer;
 
mas1 : array [0..100] of string;
mas2 : array [0..100] of string;
mas3 : array [0..100] of string;
mas4 : array [0..100] of string;
mas5 : array [0..100] of string;
mas6 : array [0..100] of string;
 
 
label
kin;
begin
 i:=0;
 o:=1;
 j:=2;
 k:=3;
 q:=4;
 n:=5;
                                    for i:=0 to 11 do
                                    begin
 
AssignFile(f,'c:\'+inttostr(mas[i])+'.txt');
{$I-}
Reset(f);
{$I+}
if IOResult<>0 then 
begin
ShowMessage('Ошибка открития C:\'+inttostr(mas[i])+'.TXT');
Exit;
end;
l:=1;
 
 
 
 
 
While not EOF(f) do
begin
if l=1 then begin ReadLn(f,mas1[o]); l:=2; o:=o+6; goto kin;end;
if l=2 then begin ReadLn(f,mas2[j]); l:=3; j:=j+6; goto kin;end;
if l=3 then begin ReadLn(f,mas3[k]); l:=4; k:=k+6; goto kin;end;
if l=4 then begin ReadLn(f,mas4[q]); l:=5; q:=q+6; goto kin;end;
if l=5 then begin ReadLn(f,mas5[n]); l:=1; n:=n+6; goto kin;end;
     kin:
  end;
 
{Єто для проверки записывает ли что то}
//--------------------------
l:=0;
While not EOF(f) do
begin
memo2.Lines[l]:=mas1[l];
inc(l);
end;
//-------------------------------
CloseFile(f); 
 
 
                                         end;
 
end;
компиляция ошибок не дает
но при запуску программы, точнее при нажатии кнопки
выбивает ошибку(
уже целый день не могу понять что не так

0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.06.2012, 18:19
Ответы с готовыми решениями:

Мистика. Не работает код, почему не понятно.
Ошибку понял.Можно удалить тему. Добавлено через 6 минут Нет.Поспешил.Не работает код,почему не понятно. @echo off Setlocal...

Не понятно почему не запускается код в билдере
#include &lt;iostream&gt; #include &lt;math.h&gt; #include &lt;cmath&gt; #include &lt;ctime&gt; #define NUM (r&gt;='0' and r&lt;='9') #define BUKV ((r&gt;='a' and...

Не понятно почему не работает компилятор DevC++
Проблема. Пишу правильный с виду код из учебника (в С++ я ноль, начинаю переходить с паскаля) а мне высвечивает странные ошибки. Чтобы...

23
 Аватар для Одиночка
3944 / 1869 / 337
Регистрация: 16.03.2012
Сообщений: 3,880
11.06.2012, 20:39
Студворк — интернет-сервис помощи студентам
Пиши так - проще будет работать с массивом. Там ещё одна ошибка - ты наращивал индекс после ввода строки в каждый массив, а нужно только после ввода в 6-й. Т.е. если файлы у тебя действительно большие - выход за пределы всё равно выходил.
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
Var
  //Объяви эти шесть массивов так...
  mass[0..5,0..100] Of String;
 
 
procedure TForm1.Button3Click(Sender: TObject);
var
  s:string;
  f:textfile;
  i,l:integer;
 
 
begin
 o:=1;
                                    for i:=0 to 11 do
                                    begin
AssignFile(f,'c:\0.txt'); // привязка названия файла к файловой переменной
 
{$I-} // отключение контроля ошибок ввода-вывода
Reset(f); // открытие файла для чтения
{$I+} // включение контроля ошибок ввода-вывода
if IOResult<>0 then // если есть ошибка открытия, то
begin
  ShowMessage('Ошибка открытия файла C:\0.TXT');
  Exit; // выход из процедуры при ошибке открытия файла
end;
 
l:=0;
While not EOF(f) do // пока не конец файла делать цикл:
begin
  ReadLn(f,mass[l,o]);
  Inc(l);
  If l=6 Then
  Begin l:=0; Inc(o); End;
end;
 
l:=0;
While not EOF(f) do // пока не конец файла делать цикл:
begin
  memo2.Lines.Add(mass[1,l]); //Добавляем строку в Memo
  inc(l);
end;
 
CloseFile(f); // закрыть файл
 
                                         end;
end;
1
 Аватар для Vaylon
0 / 0 / 1
Регистрация: 27.03.2012
Сообщений: 94
11.06.2012, 20:47  [ТС]
Цитата Сообщение от Одиночка Посмотреть сообщение
Пиши так - проще будет работать с массивом. Там ещё одна ошибка - ты наращивал индекс после ввода строки в каждый массив, а нужно только после ввода в 6-й. Т.е. если файлы у тебя действительно большие - выход за пределы всё равно выходил.
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
Var
  //Объяви эти шесть массивов так...
  mass[0..5,0..100] Of String;
 
 
procedure TForm1.Button3Click(Sender: TObject);
var
  s:string;
  f:textfile;
  i,l:integer;
 
 
begin
 o:=1;
                                    for i:=0 to 11 do
                                    begin
AssignFile(f,'c:\0.txt'); // привязка названия файла к файловой переменной
 
{$I-} // отключение контроля ошибок ввода-вывода
Reset(f); // открытие файла для чтения
{$I+} // включение контроля ошибок ввода-вывода
if IOResult<>0 then // если есть ошибка открытия, то
begin
  ShowMessage('Ошибка открытия файла C:\0.TXT');
  Exit; // выход из процедуры при ошибке открытия файла
end;
 
l:=0;
While not EOF(f) do // пока не конец файла делать цикл:
begin
  ReadLn(f,mass[l,o]);
  Inc(l);
  If l=6 Then
  Begin l:=0; Inc(o); End;
end;
 
l:=0;
While not EOF(f) do // пока не конец файла делать цикл:
begin
  memo2.Lines.Add(mass[1,l]); //Добавляем строку в Memo
  inc(l);
end;
 
CloseFile(f); // закрыть файл
 
                                         end;
end;
хах)) ну почти уже)
ошибок нет) но в мемо ничего не выводит
даже не знаю есть ли что то в этих масивах
0
 Аватар для Одиночка
3944 / 1869 / 337
Регистрация: 16.03.2012
Сообщений: 3,880
11.06.2012, 20:54
Так у тебя же там цикл с концом файла связан, а после предыдущего цикла - там и так конец файла. Там нужно писать так и уже после For-а, а то опять будешь залазить куда не нужно:
Delphi
1
2
For l:=0 To o-1 Do //Только до индекса, который уже записан в массиве.
  memo2.Lines.Add(mass[1,l]); //Добавляем строку в Memo
1
 Аватар для Vaylon
0 / 0 / 1
Регистрация: 27.03.2012
Сообщений: 94
11.06.2012, 21:04  [ТС]
Цитата Сообщение от Одиночка Посмотреть сообщение
Так у тебя же там цикл с концом файла связан, а после предыдущего цикла - там и так конец файла. Там нужно писать так и уже после For-а, а то опять будешь залазить куда не нужно:
Delphi
1
2
For l:=0 To o-1 Do //Только до индекса, который уже записан в массиве.
  memo2.Lines.Add(mass[1,l]); //Добавляем строку в Memo
це чудоооо
воно працює!!!
Спасибо огромное!)
теперь с чистой совестью можно идти футбол смотреть)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.06.2012, 21:04

Опять таки не понятно почему не работает скрипт
Есть простая разметка &lt;div class=&quot;header-wrap&quot;&gt; &lt;ul class=&quot;navigation&quot;&gt; &lt;li&gt;Привет&lt;/li&gt; &lt;/ul&gt; &lt;/div&gt; .header-wrap{...

Не понятно как работает код парсера
Здравствуйте, уважаемые форумчане:) Решил разобраться и написать простенький парсер. Застрял на этапе, когда нужно из скачанной...

Не совсем понятно как работает такой код
Есть консольное приложение, которое при работе выводит данные. Непонятно как работает такой код: for (;;) { char option; ...

Почему один и тот-же код в WindowsForms работает, а в Web не работает?
Здравствуйте, подскажите почему один и тот-же код в WindowsForms работает, а в Web не работает. Код WindowsForms: namespace...

Простейший код работает в MS IE, почему не работает в Mozilla, FireFox?
Приветствую. Вот собственно код: &lt;html&gt; &lt;head&gt;&lt;/head&gt; &lt;body&gt; &lt;input type=&quot;button&quot; value=&quot;set 1&quot; ...


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

Или воспользуйтесь поиском по форуму:
24
Ответ Создать тему
Новые блоги и статьи
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru