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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.05.2009, 17:05   #1
Crivel
Delphi\C++
Форумчанин
 
Аватар для Crivel
 
Регистрация: 18.06.2008
Сообщений: 277
Печаль LineTo рисование на экране - lineto(0,1000,1000) - LineTo(DC, 1000, 1000);

Мне нужно нарисовать простую линию на экране. Пишу:

Код:
lineto(0,1000,1000)
Но не работает. Где ошибка?
Заранее благодарен.
Crivel вне форума Ответить с цитированием
Старый 23.05.2009, 17:25   #2
Kotofff
Участник клуба
 
Аватар для Kotofff
 
Регистрация: 11.01.2009
Сообщений: 1,917
По умолчанию

Тут все не просто так.
Вот немного кода - смотри, разбирайся, спрашивай ...
http://www.delphisources.ru/pages/fa...on_screen.html

И вот еще на форуме : http://programmersforum.ru/showthread.php?t=45180
"Заряженному танку в дуло не смотрят" @Dekmer in WoT

Последний раз редактировалось Kotofff; 23.05.2009 в 17:41.
Kotofff вне форума Ответить с цитированием
Старый 23.05.2009, 17:28   #3
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Ставим курсор на слово LINETO и жмем заветную копку F1.
Она расскажет, что у этой команды всего 2 параметра - координаты конечной точки. Кстати, там и пример приведен...
mihali4 вне форума Ответить с цитированием
Старый 23.05.2009, 17:30   #4
Mikhail Bakurov
Форумчанин
 
Регистрация: 12.10.2008
Сообщений: 140
По умолчанию

Код:
lineto(GetDC(0),1000,1000);
Вот это будет самый простой вариант

Последний раз редактировалось Mikhail Bakurov; 23.05.2009 в 17:36.
Mikhail Bakurov вне форума Ответить с цитированием
Старый 23.05.2009, 17:49   #5
Showy
Форумчанин Подтвердите свой е-майл
 
Аватар для Showy
 
Регистрация: 08.08.2007
Сообщений: 183
По умолчанию

Цитата:
Сообщение от Mikhail Bakurov Посмотреть сообщение
Код:
lineto(GetDC(0),1000,1000);
Вот это будет самый простой вариант
Вообще-то это плохой пример. А как же ReleaseDC?.
Код:
var
  DC: HDC;
begin
  DC := GetDC(0);
  //Рисуем
  ReleaseDC(0, DC);
end;
Until The End Of Time
Showy вне форума Ответить с цитированием
Старый 23.05.2009, 17:57   #6
Mikhail Bakurov
Форумчанин
 
Регистрация: 12.10.2008
Сообщений: 140
По умолчанию

так я ж ничего никому не присваивал, что убивать?
Mikhail Bakurov вне форума Ответить с цитированием
Старый 23.05.2009, 18:13   #7
Showy
Форумчанин Подтвердите свой е-майл
 
Аватар для Showy
 
Регистрация: 08.08.2007
Сообщений: 183
По умолчанию

Цитата:
Сообщение от Mikhail Bakurov Посмотреть сообщение
так я ж ничего никому не присваивал, что убивать?
Возьмём простой пример:
Код:
var
  i: Integer;
begin
  for I := 0 to 10000 do
    LineTo(GetDC(0),1000,1000);
end;
Сколько ваша программа будет занимать памяти после выполнения данного кода?
и после:
Код:
var
  DC: HDC;
  i: Integer;
begin
  for I := 0 to 10000 do
  begin
    DC := GetDC(0);
    LineTo(DC, 1000, 1000);
    ReleaseDC(0, DC);
  end;
end;
?
Так же
Цитата:
After painting with a common DC, the ReleaseDC function must be called to release the DC. Class and private DCs do not have to be released. ReleaseDC must be called from the same thread that called GetDC. The number of DCs is limited only by available memory. MSDN
Until The End Of Time
Showy вне форума Ответить с цитированием
Старый 23.05.2009, 18:30   #8
Mikhail Bakurov
Форумчанин
 
Регистрация: 12.10.2008
Сообщений: 140
По умолчанию

Спасибо, что рассказал Showy не знал, сейчас проверил, действительно все так
Mikhail Bakurov вне форума Ответить с цитированием
Старый 23.05.2009, 22:30   #9
Crivel
Delphi\C++
Форумчанин
 
Аватар для Crivel
 
Регистрация: 18.06.2008
Сообщений: 277
По умолчанию

Спасибо всем! Я раньше делал и всё получалось, а сейчас забыл про GetDC.
Crivel вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
масив на 1000 ел. ГРИГОРИЙ-кореш Помощь студентам 1 05.03.2009 19:15
Ячейка не меньше 1000 mirawoo Microsoft Office Excel 2 24.10.2008 11:04