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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.05.2010, 18:22   #1
Ericnex
Форумчанин
 
Регистрация: 07.04.2010
Сообщений: 218
По умолчанию Рекурсия в Delphi

Подскажите как оптимизировать мою программу чтобы через каждую итерацию шрифт увеличивался вдвое
procedure TForm1.Button1Click(Sender: TObject);
Function Tekst(n,k:integer):integer;
var i,h:integer;
begin
if n > 0 then
begin
for i:=1 to 500 do
h := Image1.Canvas.TextHeight('H');
Image1.Canvas.TextOut(0, (k-n)*h*5,IntToStr(k-n+1));
Image1.Canvas.TextOut(0, (k-n)*h*5+h,'Как это было:');
Image1.Canvas.TextOut(0, (k-n)*h*5+2*h,'У попа была собака- он ее любил.');
Image1.Canvas.TextOut(0, (k-n)*h*5+3*h,'Она съела кусок мяса- он её убил.');
Image1.Canvas.TextOut(0, (k-n)*h*5+4*h,'Убил и закопал на могиле написал:');
end;
end;
var n,h,k:integer;
begin

Try
k := strtoint(Edit1.Text);
Except
exit;
end;
n:=k;
Image1.Canvas.Font.Assign(Font);
Image1.Canvas.Brush.Color := Color;
Image1.Canvas.Brush.Style := bsSolid;
h := Image1.Canvas.TextHeight('H');
Image1.Height:=h*n*5;
Image1.Canvas.FillRect(Rect(0,0,Ima ge1.Width, Image1.Height));
For n:=k DownTo 0 do Tekst(n,k);
end;
end.

end.
Заранее спасибо
Ericnex вне форума Ответить с цитированием
Старый 05.05.2010, 18:27   #2
DoDge_VipeR
Форумчанин
 
Аватар для DoDge_VipeR
 
Регистрация: 30.04.2010
Сообщений: 317
По умолчанию

Код:
for i:=1 to 500 do begin
h := Image1.Canvas.TextHeight('H');
Image1.Canvas.TextOut(0, (k-n)*h*5,IntToStr(k-n+1));
Image1.Canvas.TextOut(0, (k-n)*h*5+h,'Как это было:');
Image1.Canvas.TextOut(0, (k-n)*h*5+2*h,'У попа была собака- он ее любил.');
Image1.Canvas.TextOut(0, (k-n)*h*5+3*h,'Она съела кусок мяса- он её убил.');
Image1.Canvas.TextOut(0, (k-n)*h*5+4*h,'Убил и закопал на могиле написал:');
image1.canvas.font.size:=image1.canvas.font.size*2;
end;
icq:627719[сто сорок четыре] - помогу с Pascal & Delphi!
DoDge_VipeR вне форума Ответить с цитированием
Старый 05.05.2010, 19:34   #3
Ericnex
Форумчанин
 
Регистрация: 07.04.2010
Сообщений: 218
По умолчанию

Это в принципе все?
Ericnex вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
(С++) Рекурсия Troi666 Помощь студентам 9 23.05.2009 02:01
Рекурсия vitekbest Помощь студентам 1 30.05.2008 22:22
Delphi, рекурсия, как сделать все возможные N-ки чисел (сколько столбцов такая N-ка,в данном случае 3)? domik Помощь студентам 5 26.09.2007 16:43