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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.12.2009, 17:42   #1
Дима я
Форумчанин
 
Регистрация: 06.06.2009
Сообщений: 259
По умолчанию

Вот код

Код:
X:=0;
Y:=100001;

for i:=0 to X do begin
Listbox1.Items.SaveToFile('1.txt');
Listbox1.Items.Clear;
for k:=0 to Y do begin
Form1.Caption:=floatToStr((X-i)/100)+' '+floatToStr(l);
S[l]:=colorToString(Image1.Canvas.Pixels[i,k]);
l:=l+1;
end;
end;
17:46

текст ошибки типа - ..Read of adress FFFFFFF7.Proces stoped..

17:47

Help me plis)

У нас принято пользоваться кнопочкой "Правка", дабы не плодить посты подряд, друг за другом.
Модератор


Кроме того:
У нас принято оформлять код специальным тэгом - кнопочка "#".
Модератор

Согласно правилам - предупреждение за нарушение правил.
Если я тебе помог Ты бы + влепить мне мог.

Последний раз редактировалось mihali4; 17.12.2009 в 21:01.
Дима я вне форума Ответить с цитированием
Старый 17.12.2009, 18:01   #2
Juffin
Форумчянин
Форумчанин
 
Аватар для Juffin
 
Регистрация: 05.04.2009
Сообщений: 446
По умолчанию

попровуй real вместо integer
Nobody expects Spanish Inquisition!
Juffin вне форума Ответить с цитированием
Старый 17.12.2009, 20:57   #3
Дима я
Форумчанин
 
Регистрация: 06.06.2009
Сообщений: 259
По умолчанию

Я пробовал ...та же история...еше пробовал longint тоже самое
Если я тебе помог Ты бы + влепить мне мог.
Дима я вне форума Ответить с цитированием
Старый 17.12.2009, 21:52   #4
Roof
Форумчанин
 
Аватар для Roof
 
Регистрация: 01.02.2007
Сообщений: 785
По умолчанию

2 Дима я - какой-то странный код. Сначала
Код:
X:=0;
потом
Код:
for i:=0 to X do begin
Вообще какой смысл цикла получается?

Код:
for k:=0 to Y do begin
Form1.Caption:=floatToStr((X-i)/100)+' '+floatToStr(l);
S[l]:=colorToString(Image1.Canvas.Pixels[i,k]);
l:=l+1;
end;
А теперь прикинь - сколько раз подряд поменяется заголовок формы? Жуть просто!
Что у тебя такое S[l] - строка или массив?
Изо всей благодати
В руках крепко сжатых
Я донесу только капли
Roof вне форума Ответить с цитированием
Старый 17.12.2009, 23:00   #5
Dj_smart
Капсула от спама
Форумчанин
 
Аватар для Dj_smart
 
Регистрация: 04.03.2008
Сообщений: 779
По умолчанию

Цитата:
Что у тебя такое S[l] - строка или массив?
Строкой это не может быть по определению, т.к. в S[l] мы пытаемся записать строку, длина которой может превышать 1 (integer ведь)
Если данный ответ не столь конкретен, как Вы желаете его увидеть, возможно необходимо поразмыслить, стоит ли вопрос того, чтобы о нём спрашивать на форуме?
CncFiles.ru - бесплатный файловый хостинг
Dj_smart вне форума Ответить с цитированием
Старый 17.12.2009, 23:33   #6
Roof
Форумчанин
 
Аватар для Roof
 
Регистрация: 01.02.2007
Сообщений: 785
По умолчанию

ну я имел ввиду, может он в символ строки пытался записать, просто мысль возникла. Не доглядел, согласен.
Изо всей благодати
В руках крепко сжатых
Я донесу только капли

Последний раз редактировалось Roof; 17.12.2009 в 23:40.
Roof вне форума Ответить с цитированием
Старый 17.12.2009, 23:37   #7
rockedit
Форумчанин
 
Аватар для rockedit
 
Регистрация: 18.03.2009
Сообщений: 109
По умолчанию

Цитата:
какой-то странный код
Действительно, ну какой смысл менять заголовок форы если все равно этого не заметишь? поставь тогда сразу последний если это так надо.
Код:
X:=0;
Y:=100001;

for i:=0 to X do begin // цикл от 0 до 0, гениально) убираем..смысла совсенм нет
Listbox1.Items.SaveToFile('1.txt'); { что сохраняем и зачем? кусок кода вырваный непонятно откуда и зачем}
Listbox1.Items.Clear;
for k:=0 to Y do begin
Form1.Caption:=floatToStr((X-i)/100)+' '+floatToStr(l); {
 самое интересное( 0-0)/100? + 0}
S[l]:=colorToString(Image1.Canvas.Pixels[i,k]); //[0,100001] не вижу в этом смысла
l:=l+1;
end;
end;
В чем вообще смысл программы? что она должна делать?
Мозг человека обычно загружен лишь на 10% своей мощности; остальное резерв для опереционной системы. Если помог не пожалей "+", это лучшее спасибо
rockedit вне форума Ответить с цитированием
Старый 18.12.2009, 15:25   #8
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Цитата:
for k:=0 to Y do begin
Form1.Caption:=floatToStr((X-i)/100)+' '+floatToStr(l);
S[l]:=colorToString(Image1.Canvas.Pixels[i,k]);
l:=l+1;
end;
а если размер Image1 < Y ?!
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 21.12.2009, 11:33   #9
Greek9000
Форумчанин
 
Регистрация: 01.09.2009
Сообщений: 151
По умолчанию

Каковы бы ни были размеры картинки, обращаться с чтением можно к любому пикселю его канвы. В этом можно убедиться так:

Код:
procedure TfrmMain.Button1Click(Sender: TObject);
const
  X = 0;
  Y = 1000;
var
  bmp:TBitmap;
  s:string;
begin
  bmp := TBitmap.Create;
  bmp.Width := 100;
  bmp.Height := 100;
  s := ColorToString(bmp.Canvas.Pixels[X, Y]);
  ShowMessage(s);
  bmp.Free;
end;
А вот массив S[l] вызывает подозрения. Либо Вы забыли его инициализировать вообще, либо выделили в нём 1млн. элементов, и пытаетесь обращаться к миллион первому.
(Лично мне кажется, что автор вопроса забыл вызвать SetLength(S, NUM))
Greek9000 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Алгоритм поиска текста Рабина на Delphi 7 выходит ошибка Des Общие вопросы Delphi 14 15.05.2012 11:14
Ошибка '' is not valid integer value svobodys Помощь студентам 4 12.12.2011 22:49
Почему такая разница между Integer и LongInt? k1r1ch Общие вопросы Delphi 13 13.10.2009 09:01
баловался с темами щас ошибка выходит rundll32.exe eretic18 Операционные системы общие вопросы 7 06.08.2009 19:44
HELP ME В Delphi выходит ошибка Delfyak О форуме и сайтах клуба 2 28.05.2008 18:35