 |
|

06.03.2008, 16:34
|
|
Участник форума
Регистрация: 02.02.2008
Сообщений: 106
С нами:
9617399
Репутация:
55
|
|
|
|
|

08.03.2008, 17:08
|
|
Участник форума
Регистрация: 26.02.2006
Сообщений: 209
С нами:
10633766
Репутация:
93
|
|
Задач в следующем пользователь в отдельной форме вводит некое число от 2 до 25 .
В следующей форме отрисовывается введённое кол-во шариков с цифрами внутри шарика, цифра в шарике задаётся random().... Скажите плз, как себе кто представляет данный алгоритм?
Последний раз редактировалось ToniKapuchon; 08.03.2008 в 17:15..
Причина: Убрал факториал от факториала ))
|
|
|

08.03.2008, 17:10
|
|
Banned
Регистрация: 11.08.2006
Сообщений: 1,522
С нами:
10393869
Репутация:
2032
|
|
Сообщение от ToniKapuchon
25!!
факториал от факториала? о_О
|
|
|

08.03.2008, 17:15
|
|
Banned
Регистрация: 08.04.2005
Сообщений: 446
С нами:
11099536
Репутация:
518
|
|
1.две формы.... обе дочерние от главной
Глобальные HWND для каждого окна
соответственно посылка через PostMessage информации
получаещее окно получая сообщение отрисовывает.
2.Можно независимые процессы....
а)тогда поиск окна
получение HWND отсылка сообщения
б)отсылка глобального сообщения
Последний раз редактировалось Delimiter; 08.03.2008 в 17:17..
|
|
|

08.03.2008, 17:17
|
|
Участник форума
Регистрация: 26.02.2006
Сообщений: 209
С нами:
10633766
Репутация:
93
|
|
меня больш интересут алгоритм отрисовки, т.е. как нарисовать 5 или 10....
на форме нарисовать 25 кружков, и задавать их видимость?
|
|
|

08.03.2008, 17:24
|
|
Banned
Регистрация: 08.04.2005
Сообщений: 446
С нами:
11099536
Репутация:
518
|
|
CDC* dc1;
dc1=GetDC(); получаешь графический контекст
CPen pen(PS_SOLID,3,RGB(20,255,140)); определяй кисть
CPen* oldpen=dc1->SelectObject(&pen);
и рисуй
dc1->Ellipse(........);
Последний раз редактировалось Delimiter; 08.03.2008 в 17:34..
|
|
|

08.03.2008, 17:26
|
|
Участник форума
Регистрация: 01.05.2006
Сообщений: 216
С нами:
10540906
Репутация:
62
|
|
ToniKapuchon, на каком языке пишем-то?
А то может ему и не на C надо вовсе...
|
|
|

08.03.2008, 17:36
|
|
Участник форума
Регистрация: 26.02.2006
Сообщений: 209
С нами:
10633766
Репутация:
93
|
|
нужн, на делфе.... но си я тож трохи знаю....
|
|
|

08.03.2008, 19:07
|
|
Участник форума
Регистрация: 01.05.2006
Сообщений: 216
С нами:
10540906
Репутация:
62
|
|
ToniKapuchon, в общем, если я правильно понял, то получилось следущее: (создаём проект в Delphi, в нём две формы: Form1 с Edit1 (для ввода кол-ва шаров) и Button1 и Form2 для прорисовки шаров. Затем в Form1.Button1Click вводим следующее:
Код:
procedure TForm1.Button1Click(Sender: TObject);
const diameter = 40; // диаметр шаров
var i,n, // кол-во шаров
b:integer; // переменная для лучшего центрования надписи
a:string[2];
begin
n := StrToInt(Edit1.Text);
// настраиваем brush и pen
form2.Canvas.Brush.Color:=clWhite;
form2.Canvas.Pen.Color := clBlack;
randomize;
form2.Show;
for i := 1 to n do
begin
form2.Canvas.Ellipse((i-1)*(diameter+5),0,(i-1)*(diameter+5)+diameter,diameter); // рисуем круги на расстоянии 5 пикселов друг от друга; в одну строку
a:=inttostr(random(25));
if length(a) = 2 then b:=12
else b:=5;
form2.Canvas.TextOut(diameter div 2 + (i-1)*(diameter+5) - b div 2, diameter div 2 - 4, a); // пишем на шаре надпись
end;
end;
(Конечно, вероятно, всё это можно делать, обходясь и меньшим количеством действий и более технично, но этот код работает.)
Если собираешься рисовать не в своё окно, а в чужое, тут сложнее, однако сам алгоритм прорисовки (то, что тебя, как я понял, интересует) останется тем же.
|
|
|

10.03.2008, 01:42
|
|
Участник форума
Регистрация: 09.08.2006
Сообщений: 157
С нами:
10396497
Репутация:
56
|
|
задача вот в чем:
(delphi)
На форме разместить два компонента для ввода многострочного текста!
Тоесть один компонент для ввода второй для вывода текста после некого переобразования которое происходит после нажатия кнопки !
Переобразавание стоит в следующем нужно после каждой буквы/символа поставить пробел!
вроди и просто но не пойму что к чему=\
заранее спс
Последний раз редактировалось Lancellot; 10.03.2008 в 01:46..
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|