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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.12.2012, 19:12   #1
Nickolai47
Пользователь
 
Регистрация: 24.10.2012
Сообщений: 37
По умолчанию Delphi процедура > функция

Помогите переделать процедуру в функцию!
Код:
procedure TForm1.RaschetClick(Sender: TObject);
var
i:integer;
res:real;
n:integer;
begin
n:=StrToint(NEdit.text);
res:=1.1;
 For i:=2 to n do
  Begin
   res:=res*(1+i/10);
  End;
 result.text:=FloatToStr(res);
end;
end.
да да я глуп...
Nickolai47 вне форума Ответить с цитированием
Старый 11.12.2012, 20:35   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Код:
function TForm1.Raschet : real;
var
i:integer;
res:real;
n:integer;
begin
  n:=StrToInt(NEdit.text);
  res:=1.1;
  For i:=2 to n do
     res:=res*(1+i/10);
  Raschet:=res;
end;
Serge_Bliznykov вне форума Ответить с цитированием
Старый 12.12.2012, 13:44   #3
Nickolai47
Пользователь
 
Регистрация: 24.10.2012
Сообщений: 37
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
Код:
function TForm1.Raschet : real;
var
i:integer;
res:real;
n:integer;
begin
  n:=StrToInt(NEdit.text);
  res:=1.1;
  For i:=2 to n do
     res:=res*(1+i/10);
  Raschet:=res;
end;
возможно я не так выразился, но мне надо чтоб функцию можно было бы вызвать в процедуре которая в свою очередь берет число из едита
Nickolai47 вне форума Ответить с цитированием
Старый 12.12.2012, 13:54   #4
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Код:

function TForm1.Raschet(n: integer) : real;
var
i:integer;
res:real;
begin
  res:=1.1;
  For i:=2 to n do
     res:=res*(1+i/10);
  Raschet:=res;
end;

procedure TForm1.RaschetClick(Sender: TObject);
var r: real;
begin
  r:=Raschet(StrToInt(NEdit.text));
end;
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 12.12.2012, 14:34   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

кстати, если использовать пример (с) Sciv, то функцию Rashet можно не делать методом формы.
вот так написать и тоже будет компилироваться и работать:

Код:
function Raschet(n: integer) : real;
var
  i:integer;
  res:real;
begin
  res:=1.1;
  For i:=2 to n do
     res:=res*(1+i/10);
  Raschet:=res;
end;

procedure TForm1.RaschetClick(Sender: TObject);
var r: real;
begin
  r:=Raschet(StrToInt(NEdit.text));
end;
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Паскаль: процедура, функция т_т Liam_ Помощь студентам 8 09.01.2011 21:52
Функция и Процедура (на С) Docen Помощь студентам 2 29.10.2010 14:12
процедура и функция mono Помощь студентам 1 04.05.2009 15:33
Процедура или функция, удаляющая окаймляющие пробелы в строке (Delphi) Аццкий прогер Помощь студентам 2 03.03.2009 04:12
Процедура и функция HECTOR.A. Помощь студентам 2 16.12.2008 14:19