Показать сообщение отдельно
  #8  
Старый 12.06.2010, 01:49
Аватар для PhoeniX
PhoeniX PhoeniX вне форума
Always hardcore!
 
Регистрация: 04.03.2009
Адрес: СПб
Сообщения: 3,239
Версия Delphi: GCC/FPC/FASM
Репутация: 62149
По умолчанию

Код:
procedure TForm1.FormPaint(Sender: TObject);
var
  x,y: Integer; // для двух циклов
  w,h: integer; // количество интераций по ширине и высоте.
begin
  //Высчитываем количество интераций
  w:=Form1.ClientWidth div 5 + 1; // Ширина / 5 + 1 (чтоб запас был)
  h:=Form1.ClientHeight div 5 + 1; // Высота
  for y := 0 to h do
    for x := 0 to w do
      Form1.Canvas.Pixels[x*5, y*5] := clBlack;
end;

Идеальный вариант, который можно осуществить через канву:
1. Минимальное количество интераций - минимальное кол-во тактов - минимальное время
2. Кол-во интераций вычислено до начала цикла - более быстро, опять же.
__________________
Оставайтесь хорошими людьми...
VK id2634397, ds [at] phoenix [dot] dj
Ответить с цитированием