![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
![]() здравствуйте форумчане, помогите пожалуйста исправить ошибку
Код:
[Error] Unit1.pas(43): For loop control variable must be simple local variable Код:
procedure TForm1.Button1Click(Sender: TObject); procedure Flag(x,y:integer); begin with image1.Canvas do begin pen.Color:=clBlack; brush.Color:=clWhite; Rectangle(x,y,x+image1.Width div 2,y-image1.Height div 2); end; end; var i,j:integer; begin for i:=0 to image1.Width div 2 do for j:=image1.Height div 2 downto 0 do begin Flag(i,j); for i=image1.Height div 6 to image1.Height div 3 do brush.Color:=clBlue; for i:=image1.Height div 3 to image1.Height div 2 do brush.Color:=clRed; end; end; end. Код:
for i=image1.Height div 6 to image1.Height div 3 do |
#2
|
|||
|
|||
![]() Переменная-счетчик может бытьиспользована только в одном цикле for, причем она не должна в его пределах изменяться. Объяви еще две целочисленные переменные, и используй их для вложенных циклов.
|
#3
|
||||
|
||||
![]() Код:
var i,j,k:integer; begin for i:=0 to image1.Width div 2 do for j:=image1.Height div 2 downto 0 do begin Flag(i,j); for k:=image1.Height div 6 to image1.Height div 3 do brush.Color:=clBlue; for k:=image1.Height div 3 to image1.Height div 2 do brush.Color:=clRed; end; Оставайтесь хорошими людьми... VK id2634397, ds [at] phoenix [dot] dj |
#4
|
|||
|
|||
![]() Цитата:
По-моему оператор присваивания написан без ":" for i:=image1.Height div 6 to |
#5
|
||||
|
||||
![]() Спасибо, теперь у меня другая проблема, всё нормально, запускается, но когда нижимаю кнопку для пуска анимации выходит окнос ошибкой
Код:
Project Project1 raised exception class EInvalidOperation with message 'can only modifi an image if it contains a bit map'. Process stopped. Use Step or Run to continue. И эта зараза у меня вылетает не только на этой программе, но и на остальных которые я пишу на делфи, как мне её исправить? я из-за неё работать не могу |
#6
|
||||
|
||||
![]() Судя по всему ты загружаешь в Имидж картинку из файла, причем она меньше реальных размеров Имиджа и пытаешься рисовать за пределами загруженной картинки.
Некоторые программисты настолько ленивы, что сразу пишут рабочий код. Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты. |
#7
|
||||
|
||||
![]() Aristarh Dark да загружаю, но у меня картинка больше image и я подстраиваю Stretch-true, это разве не должно помочь?
|
#8
|
||||
|
||||
![]() Нет, не должно.
Тут все дело в размерах. У тебя размеры имиджа не соответствуют размерам картинки. Сделай их одинаковыми и скорее всего заработает. Некоторые программисты настолько ленивы, что сразу пишут рабочий код. Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты. |