Доработки Rx

Модераторы: alexs, Модераторы

Re: Доработки Rx

Сообщение kit » 17.08.2018 12:55:16

TRxIniPropStorage = class(TIniPropStorage)
...
protected
function DoReadString(const Section, Ident, DefaultValue: string): string; override;

implementation

function TRxIniPropStorage.DoReadString(const Section, Ident, DefaultValue: string): string;
begin
Result := inherited;
if (Pos('Width', Ident) > 0) or (Pos('Height', Ident) > 0) then begin
Result := IntToStr(Application.MainForm.Scale96ToForm(StrToInt(Result)))
end;
end;
kit
постоялец
 
Сообщения: 149
Зарегистрирован: 29.09.2016 09:39:07

Re: Доработки Rx

Сообщение alexs » 12.11.2018 13:57:08

kit
Пошу прощения за задержку. Давайте пробовать.
Немного переработал код. Но в целом идея стоящая.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 3717
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Доработки Rx

Сообщение brick08 » 03.12.2018 10:21:36

Можно ли сделать в RxDBGrid фиксированные колонки, которые бы были как обычные (возможность менять ширину, редактировать и т.д.), но не прокручивались влево (по типу Закрепить области в Excele)? Стандартное FixedCols не дает менять размеры и делать невидимыми.

Добавлено спустя 14 минут 15 секунд:
И еще в rxdbutils в функции DataSetLocateThrough при поиске по нескольким полям не выполнялся код.
Код: Выделить всё
  function CompareRecord: Boolean;
  var
    I: Integer;
  begin
    if FieldCount = 1 then
      Result := CompareField(TField(Fields.First), KeyValues)
    else begin
      Result := True;
      for I := 0 to FieldCount - 1 do
        Result := Result and CompareField(TField(Fields[I]), KeyValues[I]);
    end;
  end; 

Нужно:
Код: Выделить всё
  function CompareRecord: Boolean;
  var
    I: Integer;
  begin
    if FieldCount = 1 then
      Result := CompareField(TField(Fields.First), KeyValues)
    else begin
      Result := False;
      for I := 0 to FieldCount - 1 do
        if not Result then
          Result := CompareField(TField(Fields[I]), KeyValues[I])
        else
          Break;
    end;
  end; 
brick08
новенький
 
Сообщения: 10
Зарегистрирован: 05.09.2016 15:39:08

Re: Доработки Rx

Сообщение alexs » 03.12.2018 15:46:09

По поводу фиксированных - сделать можно. Времени нет пока.
По поиску посмотрю.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 3717
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Доработки Rx

Сообщение alexs » 05.12.2018 14:09:02

Не понял предложения
Там же получается - что если 1-е поле - истина - то сразу на 2-й итерации выскочет

Текущий код верно работает. В качестве оптимизации просто можно добавить чтобы цикл прерывался - если есть не совпадение.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 3717
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Доработки Rx

Сообщение kit » 05.12.2018 15:06:08

Можна в TRxDBGridPrint добавить собитие OnAfterPrint из FReport : TfrReport; ?
kit
постоялец
 
Сообщения: 149
Зарегистрирован: 29.09.2016 09:39:07

Re: Доработки Rx

Сообщение brick08 » 06.12.2018 11:26:45

alexs писал(а):Не понял предложения

Это я по невнимательности :oops: .
Когда то давно переделал этот код для поиска одного значения по нескольким полям, и если находилось совпадение, то выходил из цикла. А тут попалось на глаза, и почему-то подумал, что исправил баг.
brick08
новенький
 
Сообщения: 10
Зарегистрирован: 05.09.2016 15:39:08

Re: Доработки Rx

Сообщение alexs » 06.12.2018 12:37:09

kit писал(а):Можна в TRxDBGridPrint добавить собитие OnAfterPrint из FReport : TfrReport; ?

А чем не устраивает событие OnAfterExecute?
Аватара пользователя
alexs
долгожитель
 
Сообщения: 3717
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Доработки Rx

Сообщение kit » 07.12.2018 09:37:40

Надо зафиксировать что таблица распечатана на принтере
Или добавить опцию непосредсвенной печати после формирования:

function TRxDBGridPrint.DoExecTools: boolean;
...
FReport.PrepareReport;
if rxpoPrint in Options then
FReport.PrintPreparedReport
else
FReport.ShowPreparedReport
kit
постоялец
 
Сообщения: 149
Зарегистрирован: 29.09.2016 09:39:07

Re: Доработки Rx

Сообщение alexs » 07.12.2018 10:56:03

Посмотри ревизию 6749.
Добавил новый флаг rxpoShowPreview - оно?
Также новая демка
Аватара пользователя
alexs
долгожитель
 
Сообщения: 3717
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Доработки Rx

Сообщение alexs » 13.12.2018 15:45:21

Смотрим ревизию 6752.
Переписал RxToolbar
В основном совместимость осталась
Добавил поддержку масштабирования интерфейса на больших мониторах - в том числе и иконок на кнопках.
Переработал код сохранения/восстановления состояния для поддержки в будущем настройки по всему списку акшенов на форме. Сохраняется позиция разделителей.
Теперь нет возможности кнопки располагать в произвольном порядке - всегда прижаты либо к левому краю, либо к правому
Доработал окно настройки тулбара из программы - правильно отображаются разделители. Окно стало модальным - расположение кнопок на панели изменяется напрямую из окна.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 3717
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Доработки Rx

Сообщение alexs » 14.12.2018 16:19:09

Доработки RxToolbar
Исправлено добавление разедлителя. Улучшен редактор. Добавлен редактор по умолчанию в IDE
Аватара пользователя
alexs
долгожитель
 
Сообщения: 3717
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Пред.

Вернуться в RxLib

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

Рейтинг@Mail.ru