Форум программистов, компьютерный форум, киберфорум
Delphi
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 09.02.2011
Сообщений: 19

В чем ошибка не пойму

18.02.2011, 20:02. Показов 2159. Ответов 21
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
есть код , компонент Image1 он не видит и по сути не работает хотя вроде все сделано правильно , помогите разобраться
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
var
  Form5: TForm5;
 
indexInList:integer; // ïåðåìåííàÿ õðÿíÿùàÿ íîìåð îòîáðàæàåìîé êàðòèíêå â ñïèñêå
 // fileList:TStringList; // ñïèñîê èìåí ôàéëîâ ñ êàðòèíêàìè
  picList:TstringList;
 
implementation
 
{$R *.dfm}
 
 //ñäåëàòü ïðîöåäóðó ïîèñêà êàðòèíîê â çàäàííîé ïàïêå
// êîòîðàÿ çàïîëíèò picList èìåíàìè ôàéëîâ ñ êàðòèíêàìè
procedure FindPictures(dir:string);
Var
  SR:TSearchRec; // ïîèñêîâàÿ ïåðåìåííàÿ
  FindRes:Integer; // ïåðåìåííàÿ äëÿ çàïèñè ðåçóëüòàòà ïîèñêà
  picList:TstringList;
begin
   FindRes:=FindFirst(dir + '*.bmp' ,faAnyFile,SR); // çàäàíèå óñëîâèé ïîèñêà è íà÷àëî ïîèñêà
While FindRes=0 do // ïîêà ìû íàõîäèì ôàéëû (êàòàëîãè), òî âûïîëíÿòü öèêë 
   begin 
      picList.add(SR.Name); // äîáàâëåíèå â ñïèñîê íàçâàíèå íàéäåííîé êàðòèíêè
      FindRes:=FindNext(SR); // ïðîäîëæåíèå ïîèñêà ïî çàäàííûì óñëîâèÿì
   end; 
FindClose(SR); // çàêðûâàåì ïîèñê 
end;
 
 //
procedure ShowPicture(filename:string);
begin
  image1.Picture.Bitmap.LoadFromFile(filename);
end;
 
 
procedure bNextClick(Sender:TObject);
begin
  inc(indexInList); //óâåëè÷èâàåì èíäåñê íà åäèíèöó
  if indexInList >= picList.Count then // åñëè ýòî áûëà ïîñëåäíÿÿ êàðòèíêà òî ïåðåõîäèì ê ïåðâîé â ñïèñêå
    indexInList := 0;
 ShowPicture(picList.Strings[indexInList]); // ïîêàçûâàåì êàðòèíêó
end;
 
//îáðàáîòêà íàæàòèÿ êíîïêè Íàçàä
procedure b1NextClick(Sender:TObject);
begin
  dec(indexInList); //óìåíüøàåì èíäåêñ íà 1
  if indexInList < 0 then // åñëè ýòî áûëà ïåðâàÿ êàðòèíêà â ñïèñêå, ïåðåõîäèì ê ïîñëåäíåé
    indexInList := picList.Count - 1;
//  ShowPicture(picList.Strings[indexInList]); //ïîêàçûâàåì òåêóùóþ êàðòèíêó
end;
 
 
procedure TForm5.BitBtn1Click(Sender: TObject);
begin
Close;
end;
 
end.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.02.2011, 20:02
Ответы с готовыми решениями:

Не пойму в чем ошибка
Здравствуйте, Ув. форумчане. Не могу скомпилировать программу, выдает ошибка not enough actual parameters в строке ...

в чём ошибка здесь? не пойму (((
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; ...

Не пойму в чем ошибка
Тестировал программу на двух компьютерах. На одном работает, без ошибок. операционная система вин 7,8 на втором ПК вин 10. Перепроверил...

21
 Аватар для anonimus
2184 / 1255 / 143
Регистрация: 28.04.2010
Сообщений: 4,592
18.02.2011, 23:11
ну во первых почему у тебя 2 одинаковые переменные picList:TstringList; одна глобальная другая в процедуре FindPictures.
Во-вторых где у тебя инициализируется переменная picList ?

P.S.
на будущие код оформляй в теги
0
0 / 0 / 0
Регистрация: 09.02.2011
Сообщений: 19
19.02.2011, 07:34  [ТС]
это я исправил и уже инициализировал пиклист, осталось тока понять почему он image не видит и как сделать так что бы увидел
0
116 / 58 / 6
Регистрация: 16.12.2009
Сообщений: 204
19.02.2011, 08:33
Image он не видит потому что процедура не является методом класса твоего окна TForm5
0
0 / 0 / 0
Регистрация: 09.02.2011
Сообщений: 19
19.02.2011, 09:31  [ТС]
спс я уже исправил ошибку с Image )))) можете мне пояснить а где они ищет фото ?
0
 Аватар для anonimus
2184 / 1255 / 143
Регистрация: 28.04.2010
Сообщений: 4,592
19.02.2011, 15:18
можете мне пояснить а где они ищет фото
сам понял вопрос? ))
0
0 / 0 / 0
Регистрация: 09.02.2011
Сообщений: 19
19.02.2011, 15:50  [ТС]
короче я не пойму почему ошибка при проверке если это последний файл и вообще я не догоняю а где этот код ищит фотки мои что бы занести их в список
0
 Аватар для anonimus
2184 / 1255 / 143
Регистрация: 28.04.2010
Сообщений: 4,592
19.02.2011, 15:57
процедуре FindPictures передается директория в которой происходит поиск
0
0 / 0 / 0
Регистрация: 09.02.2011
Сообщений: 19
19.02.2011, 18:38  [ТС]
а на счет ошибки можешь ответить?
0
 Аватар для anonimus
2184 / 1255 / 143
Регистрация: 28.04.2010
Сообщений: 4,592
19.02.2011, 21:50
какой ошибки?
я наверное должен догадаться
0
0 / 0 / 0
Регистрация: 09.02.2011
Сообщений: 19
20.02.2011, 09:08  [ТС]
зачем догадываться я же на писал там в коде где идет проверка , он ругаеться на это if indexInList >= picList.Count then // если это была последняя картинка то переходим к первой в списке

когда прога доходит до этого места то выходить ошибка что то не так в алгоритме

procedure bNextClick(Sender:TObject);
begin
inc(indexInList); //увеличиваем индеск на единицу
if indexInList >= picList.Count then // если это была последняя картинка то переходим к первой в списке
indexInList := 0;
ShowPicture(picList.Strings[indexInList]); // показываем картинку
end;
0
 Аватар для ArtGrek
425 / 53 / 15
Регистрация: 31.12.2010
Сообщений: 191
20.02.2011, 09:50
Code
1
2
picList:TstringList;
picList : TstringList.Create;
0
0 / 0 / 0
Регистрация: 09.02.2011
Сообщений: 19
20.02.2011, 10:01  [ТС]
это окончательный варик но там эта же ошибка




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
var
  Form5: TForm5;
 
indexInList:integer; // ïåðåìåííàÿ õðÿíÿùàÿ íîìåð îòîáðàæàåìîé êàðòèíêå â ñïèñêå
 // fileList:TStringList; // ñïèñîê èìåí ôàéëîâ ñ êàðòèíêàìè
  picList:TstringList;
 
implementation
 
{$R *.dfm}
 
 //ñäåëàòü ïðîöåäóðó ïîèñêà êàðòèíîê â çàäàííîé ïàïêå
// êîòîðàÿ çàïîëíèò picList èìåíàìè ôàéëîâ ñ êàðòèíêàìè
procedure FindPictures(dir:string);
Var
  SR:TSearchRec; // ïîèñêîâàÿ ïåðåìåííàÿ
  FindRes:Integer; // ïåðåìåííàÿ äëÿ çàïèñè ðåçóëüòàòà ïîèñêà
 
begin
   FindRes:=FindFirst(dir + '*.bmp' ,faAnyFile,SR); // çàäàíèå óñëîâèé ïîèñêà è íà÷àëî ïîèñêà
While FindRes=0 do // ïîêà ìû íàõîäèì ôàéëû (êàòàëîãè), òî âûïîëíÿòü öèêë
   begin
      picList.add(SR.Name); // äîáàâëåíèå â ñïèñîê íàçâàíèå íàéäåííîé êàðòèíêè
      FindRes:=FindNext(SR); // ïðîäîëæåíèå ïîèñêà ïî çàäàííûì óñëîâèÿì
   end;
FindClose(SR); // çàêðûâàåì ïîèñê
end;
 
 //
procedure ShowPicture(filename:string);
begin
 form5.Image1.Picture.Bitmap.LoadFromFile(filename);
end;
 
 
procedure bNextClick;
begin
  inc(indexInList); //óâåëè÷èâàåì èíäåñê íà åäèíèöó
  if indexInList >= picList.Count then // åñëè ýòî áûëà ïîñëåäíÿÿ êàðòèíêà òî ïåðåõîäèì ê ïåðâîé â ñïèñêå
    indexInList := 0;
 ShowPicture(picList.Strings[indexInList]); // ïîêàçûâàåì êàðòèíêó
end;
 
//îáðàáîòêà íàæàòèÿ êíîïêè Íàçàä
procedure b1NextClick;
begin
  dec(indexInList); //óìåíüøàåì èíäåêñ íà 1
 if indexInList < 0 then // åñëè ýòî áûëà ïåðâàÿ êàðòèíêà â ñïèñêå, ïåðåõîäèì ê ïîñëåäíåé
    indexInList := picList.Count - 1;
ShowPicture(picList.Strings[indexInList]); //ïîêàçûâàåì òåêóùóþ êàðòèíêó
end;
 
 
procedure TForm5.BitBtn1Click(Sender: TObject);
begin
picList.Free;
Close;
end;
 
procedure TForm5.Button1Click(Sender: TObject);
begin
 bNextClick;
end;
 
procedure TForm5.Button2Click(Sender: TObject);
begin
b1NextClick;
end;
 
end.
procedure TForm5.FormCreate(Sender: TObject);
begin
 picList := TStringList.Create;
end;
 Комментарий модератора 
Ипользуйте теги выделения кода: [DELPHI]Здесь код на Delphi[/DELPHI]
0
 Аватар для ArtGrek
425 / 53 / 15
Регистрация: 31.12.2010
Сообщений: 191
20.02.2011, 11:05
выходить ошибка что то не так в алгоритме
у ошибки название есть?
напиши какая именно ошибка
0
 Аватар для anonimus
2184 / 1255 / 143
Регистрация: 28.04.2010
Сообщений: 4,592
20.02.2011, 11:13
какое у тебя начальное значение indexInList ?
при создании формы присвой ей значение 0
потом переделай так
Delphi
1
2
3
4
5
6
7
procedure bNextClick;
begin
if indexInList >= picList.Count-1 then 
indexInList := 0;
ShowPicture(picList.Strings[indexInList]); 
inc(indexInList); 
end;
т.к. в TstringList нумерация строк начинается с 0
0
0 / 0 / 0
Регистрация: 09.02.2011
Сообщений: 19
20.02.2011, 11:53  [ТС]
debugger exception notification
project kyrsach.exe raised exception class EAccessViolation with message 'Access violation at address 0047D013 in module 'kyrsach.exe'. read of address 0000000. process stopped. use step or run to continue.

уведомление отладчика исключением
Проект kyrsach.exe поднял исключением класса EAccessViolation с сообщением "Нарушение доступа по адресу 0047D013 в модуле" kyrsach.exe. читать адреса 0000000. процесс остановился. использования шаг или бежать, чтобы продолжить.


и потом сразу стелочкой показывает на строчку где if indexInList >= picList.Count then // åñëè ýòî áûëà ïîñëåäíÿÿ êàðòèíêà òî ïåðåõîäèì ê ïåðâîé â ñïèñêå

Добавлено через 7 минут
я исправил че ты сказал по сути тоже самое
0
 Аватар для ArtGrek
425 / 53 / 15
Регистрация: 31.12.2010
Сообщений: 191
20.02.2011, 11:59


у тебя и в проге так написано??? то что красным
procedure TForm5.Button2Click(Sender: TObject);
begin
b1NextClick;
end;

end.
procedure TForm5.FormCreate(Sender: TObject);
begin
picList := TStringList.Create;
end;
0
0 / 0 / 0
Регистрация: 09.02.2011
Сообщений: 19
20.02.2011, 12:02  [ТС]
спасибо тебе это моя не внимательность, класс я нашел другую ошибку которую не мог исправить а щас исправил)))) к стате проблема основная из за этого не решина, я вообще не догоняю че он от меня хочет
0
 Аватар для ArtGrek
425 / 53 / 15
Регистрация: 31.12.2010
Сообщений: 191
20.02.2011, 12:07
ты походу думаеш что когда запускаеш форму ето выполняеца??? )
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
procedure FindPictures(dir:string);
Var
SR:TSearchRec;
FindRes:Integer;
 
begin
FindRes:=FindFirst(dir + '*.bmp' ,faAnyFile,SR);
While FindRes=0 do
begin
picList.add(SR.Name);
FindRes:=FindNext(SR);
end;
FindClose(SR);
end;
Добавлено через 2 минуты
вот что он хочет, что б ты список заполнил, он у тебя пустои,
пото му что ты поиск не вызывал
Delphi
1
2
3
4
5
procedure TForm1.FormCreate(Sender: TObject);
begin
picList := TStringList.Create;
FindPictures('C:\')
end;
0
0 / 0 / 0
Регистрация: 09.02.2011
Сообщений: 19
20.02.2011, 12:12  [ТС]
да нет а че не так?

Добавлено через 4 минуты
теперь вызвал но таже ошибка при нажатие на кнопку далее
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.02.2011, 12:12
Помогаю со студенческими работами здесь

Не пойму в чем ошибка (Access)
Привет всем, работа осуществляется через ADOTable, дело такое есть три поля в таблицы, key, type (boolean) , question (string), после того...

Не пойму в чем ошибка
Условие : Создать файл, содержащий записи о дате: день (1..31), месяц (1..12), год (1950..2002). переписать этот файл в два текстовых...

Не пойму в чем ошибка
Не могу понять в чем ошибка unit grfunc_; interface uses Windows, Messages,unit2, SysUtils, Variants, Classes, Graphics,...

Не пойму в чем ошибка.
Програма на нахождение функции методом интервалов. unit Unit1; interface uses Windows, Messages, SysUtils, Variants,...

не пойму в чем ошибка
var i1, i2, i3, i4, j1, j2: integer; arr_numb: array of integer; begin i1 := 1; i2 := i1; i3 := i1; i4 := i1; setlength...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru