HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 08.03.2008, 17:24
Delimiter
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..
 
Ответить с цитированием

  #2  
Старый 08.03.2008, 17:26
ForNeVeR
Участник форума
Регистрация: 01.05.2006
Сообщений: 216
С нами: 10540906

Репутация: 62
По умолчанию

ToniKapuchon, на каком языке пишем-то?
А то может ему и не на C надо вовсе...
 
Ответить с цитированием

  #3  
Старый 08.03.2008, 17:36
ToniKapuchon
Участник форума
Регистрация: 26.02.2006
Сообщений: 209
С нами: 10633766

Репутация: 93
По умолчанию

нужн, на делфе.... но си я тож трохи знаю....
 
Ответить с цитированием

  #4  
Старый 08.03.2008, 19:07
ForNeVeR
Участник форума
Регистрация: 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;
(Конечно, вероятно, всё это можно делать, обходясь и меньшим количеством действий и более технично, но этот код работает.)
Если собираешься рисовать не в своё окно, а в чужое, тут сложнее, однако сам алгоритм прорисовки (то, что тебя, как я понял, интересует) останется тем же.
 
Ответить с цитированием

  #5  
Старый 10.03.2008, 01:42
Lancellot
Участник форума
Регистрация: 09.08.2006
Сообщений: 157
С нами: 10396497

Репутация: 56
По умолчанию

задача вот в чем:
(delphi)
На форме разместить два компонента для ввода многострочного текста!
Тоесть один компонент для ввода второй для вывода текста после некого переобразования которое происходит после нажатия кнопки !
Переобразавание стоит в следующем нужно после каждой буквы/символа поставить пробел!
вроди и просто но не пойму что к чему=\
заранее спс

Последний раз редактировалось Lancellot; 10.03.2008 в 01:46..
 
Ответить с цитированием

  #6  
Старый 10.03.2008, 15:27
ForNeVeR
Участник форума
Регистрация: 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..
 
Ответить с цитированием

  #7  
Старый 11.03.2008, 11:50
TheSoul
Познающий
Регистрация: 12.11.2007
Сообщений: 94
С нами: 9734391

Репутация: 71
По умолчанию

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

  #8  
Старый 11.03.2008, 12:03
KSoniX
Познающий
Регистрация: 17.01.2008
Сообщений: 94
С нами: 9639320

Репутация: 38
По умолчанию

что здес сложного создай класс и методы для вода и вывода
и конструктор и патом функция для определите время года

тебе что конкретно ножен?
 
Ответить с цитированием

  #9  
Старый 11.03.2008, 12:12
TheSoul
Познающий
Регистрация: 12.11.2007
Сообщений: 94
С нами: 9734391

Репутация: 71
По умолчанию

Мне нужно чтобы прога работала =) ... у меня с С++ вообще плохо(
 
Ответить с цитированием

  #10  
Старый 11.03.2008, 12:22
KSoniX
Познающий
Регистрация: 17.01.2008
Сообщений: 94
С нами: 9639320

Репутация: 38
По умолчанию

дату в каком формате будеш водить
ты лучше прочитай книгу С++ за 21дней Джесс Либерти

Последний раз редактировалось KSoniX; 11.03.2008 в 12:25..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Американским студентам запретили пользоваться Skype KPOT_f!nd Мировые новости. Обсуждения. 1 28.09.2006 03:47
Любителям квестов сюда!! FoX's Болталка 10 25.01.2005 20:42



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.

×

Внести депозит

Введите сумму USDT:

Принимается только USDT TRC20. Fake/Flash USDT не засчитывается.

×

Вывести депозит

Сумма USDT:

Ваш USDT TRC20 кошелек:

Заявка будет отправлена администратору.