Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как правильно оформить цикл? [D7, XP]


CaLL|ok ©   (2007-01-20 23:01:00) 

Как правильно оформить цикл:
procedure TForm1.Button2Click(Sender: TObject);
var
a,b,c:real;
i:integer;
begin
for i:=1 to c do
a:=StrToFloat(edit1.Text);
b:=StrToFloat(edit2.Text);
c:=a*b;
begin
Label1.Caption:=FloatToStr(i);
Sleep(10);
Application.ProcessMessages;
end;
end;

Я пытаюсь сделать чтоб при умножении числа одного эдита(a) на другое(b) - результат выводился в лейбле.
При этом чтоб вывод результата возрастал от 1 до моего результата(с). к примеру 2*4=8(чтоб возростало число от 1 до 8).
Я  написал, но неправильно выразил в цикле "с". Как правильно это все оформить?


Strate   (2007-01-21 12:05:00) [1]

CaLL|ok   (21.01.07 12:02) [9]

Если только while или repeat


CaLL|ok   (2007-01-21 12:02:00) [2]


>  [7]


а как можно будет это использовать при умножении чисел такого вот типа (3,58;1,2)? Можно ли задать цикл с шагом 0,01?


Loginov Dmitry   (2007-01-21 09:13:00) [3]

> [2] FIL-23 ©   (20.01.07 23:10)
> а ты знаешь что все переменные при закгрузке программы обнуляются ...


бежи за справкой!


Runner   (2007-01-21 00:58:00) [4]

var
 a, b, c, i: integer;
begin
 a := StrToInt(Edit1.Text);
 b := StrToInt(Edit2.Text);
 c := a * b;
 for i:=1 to c do
 begin
   Label1.Caption := IntToStr(i);
   Sleep(10);
   Application.ProcessMessages;
 end;
end;


Johnmen   (2007-01-21 00:48:00) [5]


> но тут должен получится бесконечный цыкл


да что ты


FIL-23   (2007-01-20 23:35:00) [6]

ну знаешь как миниму тебе надо переменную с сделать integer
а потом тебе надо округлить round(x) или выделить целую часть trunc(x)
и еще :

с:=0; <-- ну хоть с чегото надоже стартануть
for i:=0 to c do
begin <-- ты забыл про это
...
c:=round(a*b);
end; <- и про это
но тут должен получится бесконечный цыкл

ну вот пробуй..


Expell   (2007-01-20 23:33:00) [7]

а то что сreal - это нормально? для цикла с шагом 1


CaLL|ok   (2007-01-20 23:15:00) [8]


> FIL-23 ©   (20.01.07 23:10) [2]

Что промах я сделал - это я понял.
Вот как все исправить в этом случае? Или не бывает такого решения?


FIL-23   (2007-01-20 23:10:00) [9]

гхм гхм, но это уже слишком ... а ты знаешь что все переменные при закгрузке программы обнуляются .... это получается что ты хочешь от 1 до 0 идти по возрастающей .... ты понял что ето ерунда


Palladin   (2007-01-20 23:05:00) [10]

бежим за книжками


Наверх

Титульная страница Поиск, карта сайта Написать письмо