
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..
|
|
|

10.03.2008, 15:27
|
|
Участник форума
Регистрация: 01.05.2006
Сообщений: 216
С нами:
10540906
Репутация:
62
|
|
Lancellot, используй Memo с вкладки Standard как для ввода, так и для вывода. Для получения строки текста пиши Memo1.Lines.Strings[i] (TMemo.Lines.Strings - массив строк); для получения количества строк - Memo1.Lines.Count; Для добавления новой строки в конец поля Memo1.Lines.Add('Наш_текст'); если нужно изменить строку уже существующую (хотя из твоего поста следует, что это навряд ли придётся делать) - Memo1.Lines.Strings[i]:='Наш_текст'. Для очистки поля - Memo1.Lines.Clear; для удаления некоторой строки - Memo1.Lines.Delete(i). Для твоей задачи надо прогнать цикл наподобие:
Код:
Memo2.Lines.Clear; // Это чтобы не оставался предыдущий текст
for i:=1 to Memo1.Lines.Count do
for j:=1 to length(Memo1.Lines[i]) do
begin
Memo2.Lines.Add("");
Memo2.Lines[i]:=Memo2.Lines[i] + Memo1.Lines[i][j] + " ";
end;
Сразу говорю, код не проверял, но должен работать
Все шаги от создания формы и добавления 2-х Memo и кнопки, назначения процедуры на кнопку и т.д. не расписываю, если нужно - обращайся в ICQ.
Последний раз редактировалось ForNeVeR; 10.03.2008 в 15:30..
|
|
|

11.03.2008, 11:50
|
|
Познающий
Регистрация: 12.11.2007
Сообщений: 94
С нами:
9734391
Репутация:
71
|
|
Народ помогите плиз ...
С++
1)Написать программу установки и вывода даты используя понятия класса.По введенной дате определите время года и номер декады месяца.
Предусмотреть:
Возможность ввода даты числами при помощи конструктора;
Определение времени года и декады месяца осуществить в виде функции членов.
2)Написать программу , определяющую максимальное,минимальное и среднее значение в одновременом массиве целого типа.Используя понятия класса,создать новый тип данных "вектор".
Предусмотреть:
Динамическое выделение памяти под вектор (конструктор);
Освобождение памяти после испальзования обьекта (деструктор).
|
|
|

11.03.2008, 12:03
|
|
Познающий
Регистрация: 17.01.2008
Сообщений: 94
С нами:
9639320
Репутация:
38
|
|
что здес сложного создай класс и методы для вода и вывода
и конструктор и патом функция для определите время года
тебе что конкретно ножен?
|
|
|

11.03.2008, 12:12
|
|
Познающий
Регистрация: 12.11.2007
Сообщений: 94
С нами:
9734391
Репутация:
71
|
|
Мне нужно чтобы прога работала =) ... у меня с С++ вообще плохо(
|
|
|

11.03.2008, 12:22
|
|
Познающий
Регистрация: 17.01.2008
Сообщений: 94
С нами:
9639320
Репутация:
38
|
|
дату в каком формате будеш водить
ты лучше прочитай книгу С++ за 21дней Джесс Либерти
Последний раз редактировалось KSoniX; 11.03.2008 в 12:25..
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|