Показать сообщение отдельно
Старый 25.11.2007, 10:04   #15
odd
Мастер
 
Аватар для odd
 
Регистрация: 06.09.2007
Адрес: Донецк, ДНР
Сообщений: 1,023
Написано 298 полезных сообщений
(для 713 пользователей)
Re: не могу понять в чем прикол

Всё равно, кажется это формула косячит. Учи матчасть.

 
Program rulon;
Var
 id1, id2, id3: integer;
 d1, d2, l, h, n:real;
 cmdNext, cmdExit, key: command; 
Procedure Cls;
begin
 ClearForm; SetFormTitle('Калькулятор рулонов 1.0.0');
 cmdNext := CreateCommand('Считать', CM_OK, 1); AddCommand(cmdNext);
 cmdExit := CreateCommand('Выход', CM_EXIT, 1); AddCommand(cmdExit);
end;
Begin
 ShowForm;
 repeat
  Cls;
  id1:=FormAddTextField('Диаметр рулона, (мм):', '', 5, TF_NUMERIC); 
  id2:=FormAddTextField('Толщина материала, (мкм):', '', 5, TF_NUMERIC); 
  id3:=FormAddTextField('Диаметр держателя, (мм):', '', 5, TF_NUMERIC);
  repeat Delay(20); key:=GetClickedCommand; until key <> EmptyCommand;
  if key=cmdExit then break;
  d1:=StringToInteger(FormGetText(id1)); d1:=d1/1000;
  h:=StringToInteger(FormGetText(id2)); h:=h/1000000;
  d2:=StringToInteger(FormGetText(id3)); d2:=d2/1000;
  n:=(d1-d2)/(2*h); l:=n*4.71238898*(d1-d2)/2;
  Cls; n:=FormAddString('Длина: '+l);
  repeat Delay(20); key:=GetClickedCommand; until key <> EmptyCommand;
  if key=cmdExit then break;
 until false;
End.
(Offline)
 
Ответить с цитированием