Функции редактора полей во время выполнения программы



Автор: Lindsay Reichmann

Возможен ли вызов функций редактора полей (Fields Editor) во время выполнения программы?

Да. Если вы определили поля во время разработки приложения, то во время выполнения можно менять их свойства (например, Size).

Например, следующий код изменяет каждый размер поля TField.Size так, чтобы соответствовать фактическому размеру поля открываемого набора данных:


procedure SetupFieldsAndOpenDataset(DataSet: TDataSet);
var
  FieldNum, DefNum: Integer;
begin
  with DataSet do
  begin
    if Active then
      Close;
    FieldDefs.Update; {набор данных должен быть закрыт}
    {ищем каждое предопределенное TField в DataSet.FieldDefs:}
    for FieldNum := FieldCount - 1 downto 0 do
      with Fields[FieldNum] do
      begin
        DefNum := FieldDefs.IndexOf(FieldName);
        if DefNum < 0 then
          raise Exception.CreateFmt(
            'Поле "%s" не найдено в наборе данных "%s"',
            [FieldName, Dataset.Name]);
        {устанавливаем свойство size:}
        Size := FieldDefs[DefNum].Size;
      end;
    Open;
  end;
end;





Похожие по теме исходники

Линейная интерполяция функции

Очередность выполнения процессов




Copyright © 2004-2025 "Delphi Sources" by BrokenByte Software. Delphi World FAQ

Группа ВКонтакте