FieldByName -> FBN

Обсуждение возникших проблем, предложений и ошибок UniDAC компонентов
Закрыто
Akella
Сообщения: 217
Зарегистрирован: Пн 02 апр 2012 14:41

FieldByName -> FBN

Сообщение Akella » Ср 11 апр 2012 22:00

Есть предложение добавить новое свойство с именем FBN. Т.е. чтобы параллельно с FieldByName можно было бы использовать FBN

Пример

Код: Выделить всё

UniQuery1.FBN('user_name').AsString := 'Вася Пупкин';
это сократит код

AndreyZ
Devart Team
Сообщения: 328
Зарегистрирован: Чт 08 сен 2011 13:18

Сообщение AndreyZ » Чт 12 апр 2012 09:53

Здравствуйте,

Вы можете создать свой класс унаследованный от TUniQuery и добавить метод FBN в него. Например:

Код: Выделить всё

TMyUniQuery = class(TUniQuery)
public
  function FBN(const FieldName: string): TField;
end;

function TMyUniQuery.FBN(const FieldName: string): TField;
begin
  Result := FieldByName(FieldName);
end;

procedure TMainForm.BitBtnClick(Sender: TObject);
var
  q: TMyUniQuery;
begin
  q := TMyUniQuery.Create(nil);
  try
    q.Connection := UniConnection;
    q.SQL.Text := 'select * from table';
    q.Open;
    q.Edit;
    q.FBN('fieldname').AsString := 'dfsf';
    q.Post;
  finally
    q.Free;
  end;
end;

Akella
Сообщения: 217
Зарегистрирован: Пн 02 апр 2012 14:41

Сообщение Akella » Чт 12 апр 2012 11:05

Но тогда я не смогу использовать компонент в дизайне?
Мне придётся создавать, уничтожать и настраивать его в коде? Это не очень удобно.

AndreyZ
Devart Team
Сообщения: 328
Зарегистрирован: Чт 08 сен 2011 13:18

Сообщение AndreyZ » Чт 12 апр 2012 15:22

Вы можете создать свой компонент (используя главное меню Delphi->Component->New Component) унаследованный от TUniQuery с любой необходимой Вам функциональностью и установить его (используя главное меню Delphi->Component->Install Component). В этом случае Вы сможете использовать его как в run-time так и в design-time.

Akella
Сообщения: 217
Зарегистрирован: Пн 02 апр 2012 14:41

Сообщение Akella » Чт 12 апр 2012 17:31

жаль

Закрыто