Advanced member
Статус: Не в сети Регистрация: 09.06.2003 Откуда: USSR
Lord_of_Darkness Рисуеш не правильно. Вот смори как я обычно делаю
1. Использую TPaintBox
2. Рисую всегда в TBitmap в памяти
3. Копирую полностью отрисованный битмап из памяти в канвас paintbox
4. никогда моргать не будет Пример тому Monitoring Graphs в ATI Tray Tools. Рисуется точно так как я описал выше.
Member
Статус: Не в сети Регистрация: 23.09.2004 Откуда: Казань
Кто-нибудь ставил Delphi 2005. Че-то он глючит или я не так работаю? Даже Virtual TreeView не ставится (а должен).
Мне так понравилась новая дельфя своими рюшечками .
Advanced member
Статус: Не в сети Регистрация: 09.06.2003 Откуда: USSR
Lord_of_Darkness Мдя уж. Щас через 5 минут будет тебе пример
Добавлено спустя 10 минут, 26 секунд: Лови и заметь, что основная прорисовка идет не в обработчике метода OnPaint , там вообще не обрабатывается ничего. Рисование происходит в отдельной процедуре и таймер вызывает ее.
Создай форму, брось на нее TPaintBox, и TTimer, обработчик рисования у таймера.
Member
Статус: Не в сети Регистрация: 14.01.2004 Откуда: Киев, Украина
ANTIHacker
Цитата:
как можно уменьшить размер скриншота? Независимо от расширения сохраняется скриншот размеров 1.85Mb
Гы Ну ты дал, думаешь Делфовые процедуры сами его конвертировать будут в другой формат Можешь попробовать использовать нечто типа этого
Код:
var DC: HDC; Canva: TCanvas; B: TBitmap; JPG: TJPEGImage begin Canva := TCanvas.Create; B := TBitmap.Create; DC := GetDC(0); try Canva.Handle := DC; with Screen do begin B.Width := Width; B.Height := Height; B.Canvas.CopyRect(Rect(0, 0, Width, Height), Canva, Rect(0, 0, Width, Height)); JPG.Assign(B); JPG.CompressionQuality := 95; JPG.SaveToFile('c:\Мои документы\screentofile.jpg'); end finally ReleaseDC(0, DC); B.Free; Canva.Free end end;
Это модифицированый твой, работает или нет - незнаю Незабудь дописать в uses - jpeg. Lord_of_Darkness еще бы, таймер-то аж раз в 100(!!!) мсек обновляеться. Лучше зделать так: В классе формы дописать:
Заблокирован Статус: Не в сети Регистрация: 21.11.2003 Откуда: Краснодар
Народ помогите , не могу разобраться с высокостными годами вот собств ,что написал
Цитата:
begin year:=strtoint(edit27.Text); q:=(year mod 4); q1:=(year mod 100); q3:=(q+q1+q2); q2:=(year mod 400); if q3=0 then begin edit28.text:=('в этом году 366 дней'); checkbox5.Checked:=true; end; if q3>0 then begin edit28.Text:=('в этом году 365 дней'); checkbox6.Checked:=true; end; end;
Ну что-то вычислять правильно год не хочет.
P.S
Каждый год,номер которого делится на 4,является высокостным,за исключением тех,которые делятся на 100 и не делятся на 400
Т.е я так понял надо ,проверять чтоб деление происходило без остатка?
Member
Статус: Не в сети Регистрация: 30.01.2003 Откуда: Москва
Diler Как-то странно написано, тем более, что q2 стоит после q3, где ты его используешь %) Должен быть хотя бы warning 'q2 may not be initialized'. А вообще...
Код:
var q: Boolean; q := ( (year mod 4) = 0 ) and ( ( (year mod 100) <> 0 ) or ( (year mod 400) = 0 ) ); if q then // високосный else //не високосный
Call IsLeapYear to determine whether the year specified by the Year parameter is a leap year. Year specifies the calendar year.
Use YearOf to obtain the value of Year for IsLeapYear from a TDateTime object.
All Требуется создавать набор дочерних компонент (как Series у Chart), чтобы отображались в ObjectTreeview, сохранялись и читались из DFM. Как сделать? Хотя бы в Дельфи.
_________________ пишу я программу... и вдруг на клавиатуру выползает bug, буквально
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения