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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.09.2011, 17:15   #1
Alexxx_screen
Пользователь
 
Регистрация: 04.09.2011
Сообщений: 24
Печаль программа по растровой графике в delphi, как сделать чтобы круги строились по циклам??

Код:
procedure TForm1.FormPaint(Sender: TObject);
begin
    with Canvas do
    begin
        Canvas.Pen.Width := 2;
        Canvas.Pen.Color := clBlack;
        Rectangle(0,0,120,120);
        Ellipse(10,10,110,110);
        Ellipse(35,35,85,85);
        Ellipse(50,50,70,70);
    end;
end;
end.
вот код по которому строится 3 круга по координатам, а как переделать ее чтобы можно было выбирать количество кругов и они строились по циклу

Последний раз редактировалось Stilet; 04.09.2011 в 17:45.
Alexxx_screen вне форума Ответить с цитированием
Старый 04.09.2011, 17:47   #2
notHaker
Форумчанин
 
Аватар для notHaker
 
Регистрация: 01.12.2009
Сообщений: 569
По умолчанию

Каковы координаты кругов? Рэндом (случайные)?

Код:
procedure TForm1.FormPaint(Sender: TObject);
var
	dwRepeatCount : integer;
	dwRandomX, dwRandomY : integer;
begin
	dwRepeatCount := StrToInt(Edit1.text);
	Canvas.Pen.Width := 2;
	Canvas.Pen.Color := clBlack;
	with Canvas do
	begin
		Rectangle(0,0,120,120);
		for i := 1 to dwRepeatCount do
		begin
		`	dwRandomX := random(110);
			dwRandomY := random(110);
			Ellipse(dwRandomX , dwRandomY, dwRandomX + 110, dwRandomY + 110);
		end;
	end;
	end;
end.
Только Edit на форму кинуть.
Код - это работа, а работа стоит денег.

pz-game.ru. 2d зомби-сурвивал для олдфагов.
notHaker вне форума Ответить с цитированием
Старый 04.09.2011, 17:49   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Кинь на форму Edit, а свое перепиши
Код:
procedure TForm1.FormPaint(Sender: TObject);
const Массив координат
var i:integer;
begin
    i:=StrToIntDef(Edit1.Text,0);
    with Canvas do
    begin
        Canvas.Pen.Width := 2;
        Canvas.Pen.Color := clBlack;
        Rectangle(0,0,120,120);
        while i>0 do begin
         Ellipse(Координаты);dec(i);
        end;
    end;
end;
end.
А в Эллипсы подставляй данные из массива координат, который ты определишь в константе.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.09.2011, 18:05   #4
Alexxx_screen
Пользователь
 
Регистрация: 04.09.2011
Сообщений: 24
По умолчанию

либо у меня черезчур кривые руки либо что то с делфи(

делаю все как пишите а в чем ошибка не пойму, можете скинуть саму программу ? спасибо заранее

Последний раз редактировалось Stilet; 04.09.2011 в 20:57.
Alexxx_screen вне форума Ответить с цитированием
Старый 04.09.2011, 18:10   #5
notHaker
Форумчанин
 
Аватар для notHaker
 
Регистрация: 01.12.2009
Сообщений: 569
По умолчанию

Какая ошибка? Что пишет?
Код - это работа, а работа стоит денег.

pz-game.ru. 2d зомби-сурвивал для олдфагов.
notHaker вне форума Ответить с цитированием
Старый 04.09.2011, 18:24   #6
Alexxx_screen
Пользователь
 
Регистрация: 04.09.2011
Сообщений: 24
По умолчанию

project olf.exe raised exception class EConvertError with message'''is not a valid integer value'. process stopped. use step or run to continue
Alexxx_screen вне форума Ответить с цитированием
Старый 04.09.2011, 18:46   #7
notHaker
Форумчанин
 
Аватар для notHaker
 
Регистрация: 01.12.2009
Сообщений: 569
По умолчанию

Цитата:
project olf.exe raised exception class EConvertError with message'''is not a valid integer value'. process stopped. use step or run to continue
Первое. Вы на форму TEdit кинули? Второе. Ошибка происходит при вызове функции StrToInt. В Edit должно быть введено число, иначе ошибка ковертирования строки в число. Чтобы такого исключения не происходило, можете вместо StrToInt использовать StrToIntDef, где вторым параметром передаётся значение по умолчанию. Это значенение использвуется функцией в случае не удачной конфертации
Код - это работа, а работа стоит денег.

pz-game.ru. 2d зомби-сурвивал для олдфагов.
notHaker вне форума Ответить с цитированием
Старый 04.09.2011, 19:02   #8
Alexxx_screen
Пользователь
 
Регистрация: 04.09.2011
Сообщений: 24
По умолчанию

dwRepeatCount:=StrToIntDef(Edit1.te xt);
выдает ошибку в этой строчке "undeclared identifier: 'edit1'
Alexxx_screen вне форума Ответить с цитированием
Старый 04.09.2011, 19:05   #9
notHaker
Форумчанин
 
Аватар для notHaker
 
Регистрация: 01.12.2009
Сообщений: 569
По умолчанию

Цитата:
выдает ошибку в этой строчке "undeclared identifier: 'edit1'
я же сказал поставить на форму компонент Edit.
Код - это работа, а работа стоит денег.

pz-game.ru. 2d зомби-сурвивал для олдфагов.
notHaker вне форума Ответить с цитированием
Старый 04.09.2011, 19:13   #10
Alexxx_screen
Пользователь
 
Регистрация: 04.09.2011
Сообщений: 24
По умолчанию

edit (stdctrls)? это же? оно и стоит на форме
Alexxx_screen вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать, чтобы программа работала сразу через 20 сайтов? tima777 Работа с сетью в Delphi 4 13.08.2011 20:48
Как сделать, чтобы программа на C++Builder загружалась в скрытом виде. Bитaлий C++ Builder 3 11.04.2011 21:09
!!! Можно ли сделать так,чтобы программа в Delphi работала с самим компьютером?!!! kotaina Общие вопросы Delphi 19 07.04.2011 13:40
Программа для работы с растровой графикой.(Delphi 7) strS Помощь студентам 2 19.01.2009 11:58
Как сделать так,чтобы программа запускалась с включением компьютера? InseR Общие вопросы Delphi 24 12.02.2008 18:55