Отправляет email-рассылки с помощью сервиса Sendsay

Delphi. Уроки

  Все выпуски  

Delphi. Уроки


Информационный Канал Subscribe.Ru

Delphi. Object Pascal. Уроки с сайта http://progs.biz

Рассылка №34

Delphi. Object Pascal. Урок 15. Пример передачи по ссылке.
Delphi. Object Pascal. Урок 16. Параметры-константы.

Полные версии уроков (с картинками) можно найти по адресам:
Урок 15. Пример передачи по ссылке.
Урок 16. Параметры-константы.

С. Подольский и др. Разработка интернет-приложений в Delphi
С. Подольский, С. Скиба, О. Кожедуб. Разработка интернет-приложений в Delphi
Заказать на Озоне

Подробнее

Рассылки сайта progs.biz через subscribe.ru
Уроки по C# и .NET
Уроки по C# - новому языку от Microsoft для платформы .NET. Создание разных типов приложений (консольные, для Windows, веб-приложения), работа с базами данных, создание собственных компонентов. Примеры, исходники, статьи, FAQ.

Delphi. Pascal. Урок 15. Пример передачи по ссылке

Вот пример на передачю параметров по ссылке. Пример решает квадратное уравнение. Так как у такого уравнения может быть 2 корня, то функция не возвращает их, а передает в двух своих последних параметрах. В качестве же возвращаемого значения функция возвращает число корней (т. е. 0, 1 или 2).

...
//Объявление функции.
function sq(A, B, C: Single; var X1, X2: Single): Integer;
var
  //Дискриминант.
  d: Single;
begin
  d:=B*B-4*A*C;
  //Два корня.
  if d>0 then
  begin
    sq:=2;
    X1:=(-B-sqrt(d))/(2*A);
    X2:=(-B+sqrt(d))/(2*A);
  end;
  //Один корень.
  if d=0 then
  begin
    sq:=1;
    X1:=(-B)/(2*A);
    X2:=(-B)/(2*A);
  end;
  //Корней нет.
  if d<0 then
  begin
    sq:=0;
  end
end;
var
  x1, x2: Single;
  n: Integer;
begin
  //Вызываем функцию.
  n:=sq(1, -3, 2, x1, x2);
  if n>2 then
  begin
    //Выведется 1.
    Writeln(x1);
    //Выведется 2.
    Writeln(x2);
  end;
  Readln;
end.
Наверх

Delphi. Pascal. Урок 16. Параметры-константы

Передаваемые в функцию или процедуру параметры можно запретить изменять. Это делается с помощью ключевого слова const. Вот пример:

...
procedure proc(const A: Integer);
begin
  A:=22; //Ошибка! Параметр A изменять нельзя!
end;
 ...

Кроме предупреждения некоторых логических ошибок объявление параметра с ключевым словом const пораждает более эффективный код.

Наверх

Copyright Алексеев Игорь, 2002-2003
Copyright Шмидт Отто, 2002-2003
Copyright сайт progs.biz, 2002-2003
Распространение материалов без разрешения владельцев авторских прав запрещено.


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное