Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Удобная функция ifthen

Delphi , Синтаксис , Синтаксис

В Делфи (в модулях Math и StrUtils) появилась удобная функция ifthen которая соответствует оператору "?" языка С++.
 
пример:
 
Code: Uses Math;
{©Drkb v.3(2007): www.drkb.ru}
procedure TForm1.Button1Click(Sender: TObject);
var k, i, j: Integer;
begin
i := 3; j := 2;
k := ifthen({If}i < j, {Then}i, {Else}k);
End;
Автор feriman

 

 

Code: Uses StrUtils;
procedure TfmTelEdit.bAddTelClick(Sender: TObject);
var s: string;
begin
  s:=cbTypeTel.Text +': '+ eCountryCode.Text +' ('+  eProviderCode.Text +') '+ eTel.Text +ifthen(eAdvanceTel.Text > '', ' доб.: '+  eAdvanceTel.Text, '') ;

  with sgTelList do
    begin
      if ((RowCount = 1) and (Cells[0,0] = ''))
        then Cells[0,0] := s
        else
        begin
          RowCount:=RowCount+1;
          Cells[0,RowCount-1]:=s;
        end;
    end;
end;
Автор KAN

Что это интересная функция! Функция ifthen в модулях Math и StrUtils Delphi действительно похожа на оператор ternary (?:) в C++. Она позволяет выразить условное логическое выражение в компактной форме, что делает код более читаемым и эффективным.

Давайте рассмотрим каждый пример:

Пример 1:

procedure TForm1.Button1Click(Sender: TObject);
var k, i, j: Integer;
begin
  i := 3; j := 2;
  k := ifthen(i < j, i, k); // эквивалентно k := (i < j) ? i : k;
end.

В этом примере функция ifthen принимает три параметра: 1. Условие (i < j) 2. Значение для возврата в случае истинности условия (i) 3. Значение для возврата в случае ложности условия (k)

В этом случае, поскольку i меньше j, результат выражения присваивается к k.

Пример 2:

procedure TfmTelEdit.bAddTelClick(Sender: TObject);
var s: string;
begin
  s := cbTypeTel.Text + ': ' + eCountryCode.Text + ' (' + eProviderCode.Text + ') ' + ifthen(eAdvanceTel.Text > '', 'доб.: ' + eAdvanceTel.Text, '') + ';';
  with sgTelList do
    begin
      if (RowCount = 1) and (Cells[0, 0] = '') then
        Cells[0, 0] := s
      else
        begin
          RowCount := RowCount + 1;
          Cells[0, RowCount - 1] := s;
        end;
    end;
end.

В этом примере функция ifthen используется для конкатенации строки только в случае, если eAdvanceTel.Text не пуст. Результатирующая строка затем добавляется в grid sgTelList.

В целом, функция ifthen удобный способ упростить код и сделать его более читаемым. Она особенно полезна при выполнении простых условных операций или конкатенаций в программах на Delphi.

В статье рассказывается о функции ifthen в языке программирования Delphi, которая позволяет выполнить операцию if-then-else аналогично оператору '?' языка С++.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Синтаксис ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-05-09 12:11:13/0.0031478404998779/0