Страница 16 из 26

Re: Вопросы по исходному коду

СообщениеДобавлено: 25 мар 2015, 20:33
zed
Alex54 писал(а): там же функция GetChangeNotifier()

Нет, там свойство:
Код: Выделить всё
IChangeable = interface
    ['{7F6DCE71-7EBD-40A0-A3BF-C603A3AEE8BA}']
    ...   
    property ChangeNotifier: INotifier ...

Re: Вопросы по исходному коду

СообщениеДобавлено: 25 мар 2015, 20:42
Alex54
zed писал(а):У вас там ахинея какая-то написана:
Код: Выделить всё
TCustomGPSTrack = class(TChangeableWithSimpleLockBase, IChangeable)

но TChangeableWithSimpleLockBase итак уже наследует интерфейс IChangeable через TChangeableBase.

Спасибо, убрал тавтологию, Вы правы.
Нет, там свойство

Недоступно, только функцию напрямую видит, ее и вызвал, все работает прекрасно.

Re: Вопросы по исходному коду

СообщениеДобавлено: 25 мар 2015, 20:48
Alex54
Подскажите еще по настройкам - это настройка параметров трека
Код: Выделить всё
ITrackColorerConfig = interface(IConfigDataElement)
    ['{46E030C7-F9E1-45F5-914E-20B240238261}']
    function GetStatic: ITrackColorerStatic;

    function GetSpeedRangeCount: Integer;

    function GetSpeedRangeItem(AIndex: Integer): ISpeedRangeItem;
    function AddSpeedRangeItem(
      const ASpeed: Double;
      AMinColor, AMaxColor: TColor32
    ): Integer;
    procedure ClearItems;
  end;

Что означают минимальный и максимальный цвета для заданной скорости в AddSpeedRangeItem() ? Когда бегло смотрел, показалось, что для диапазона скоростей 1 цвет, а тут как понимать ?
P. S. Кстати, ГУЙ не сделан для этой настройки ? Что-то не могу найти в интерфейсе программы

Re: Вопросы по исходному коду

СообщениеДобавлено: 25 мар 2015, 20:53
zed
Alex54 писал(а):Недоступно, только функцию напрямую видит

Может вы переменную объявили не как интерфейс, а как класс?

Re: Вопросы по исходному коду

СообщениеДобавлено: 25 мар 2015, 21:10
Alex54
zed писал(а):
Alex54 писал(а):Недоступно, только функцию напрямую видит

Может вы переменную объявили не как интерфейс, а как класс?

Переделал через интерфейс, все верно говорите )

Подскажите еще по настройкам -
Alex54 писал(а):Это настройка параметров трека
Код: Выделить всё
ITrackColorerConfig = interface(IConfigDataElement)
    ['{46E030C7-F9E1-45F5-914E-20B240238261}']
    function GetStatic: ITrackColorerStatic;

    function GetSpeedRangeCount: Integer;

    function GetSpeedRangeItem(AIndex: Integer): ISpeedRangeItem;
    function AddSpeedRangeItem(
      const ASpeed: Double;
      AMinColor, AMaxColor: TColor32
    ): Integer;
    procedure ClearItems;
  end;

Что означают минимальный и максимальный цвета для заданной скорости в AddSpeedRangeItem() ? Когда бегло смотрел, показалось, что для диапазона скоростей 1 цвет, а тут как понимать ?
P. S. Кстати, ГУЙ не сделан для этой настройки ? Что-то не могу найти в интерфейсе программы

Re: Вопросы по исходному коду

СообщениеДобавлено: 25 мар 2015, 21:14
zed
А штоб я знал :)

Re: Вопросы по исходному коду

СообщениеДобавлено: 26 мар 2015, 11:37
vdemidov
Alex54 писал(а):Что означают минимальный и максимальный цвета для заданной скорости в AddSpeedRangeItem() ?

Минимальный цвет соответствует минимальной скорости диапазона, максимальный цвет - максимальной скорости. Цвета для промежуточных скоростей будут вычисляться покомпонентной линейной комбинацией этих двух цветов.

Re: Вопросы по исходному коду

СообщениеДобавлено: 26 мар 2015, 23:08
DJ VK
vdemidov писал(а):Минимальный цвет соответствует минимальной скорости диапазона, максимальный цвет - максимальной скорости. Цвета для промежуточных скоростей будут вычисляться покомпонентной линейной комбинацией этих двух цветов.

p/s/ На всякий случай. Если разрешения не хватает (масштаб ближе к логарифмическому), можно использовать аналог градиентной карты заполнения - там сделано от красного к зеленому через синий. Использование трех каналов цвета с двумя экспоненциальными кривыми позволяет значительно расширить динамический диапазон.

Re: Вопросы по исходному коду

СообщениеДобавлено: 27 мар 2015, 12:43
vdemidov
DJ VK писал(а):
vdemidov писал(а):Минимальный цвет соответствует минимальной скорости диапазона, максимальный цвет - максимальной скорости. Цвета для промежуточных скоростей будут вычисляться покомпонентной линейной комбинацией этих двух цветов.

p/s/ На всякий случай. Если разрешения не хватает (масштаб ближе к логарифмическому), можно использовать аналог градиентной карты заполнения - там сделано от красного к зеленому через синий. Использование трех каналов цвета с двумя экспоненциальными кривыми позволяет значительно расширить динамический диапазон.

Это ты к чему?

Re: Вопросы по исходному коду

СообщениеДобавлено: 27 мар 2015, 14:05
vasketsov
TFileNameIteratorInFolderByMask.Next

if FValidFindData then begin
repeat
if IsNeedProcess(FFindFileData) then begin
AFileName := FFolderNameFromRoot + FFindFileData.cFileName;
Result := True;
FValidFindData := Windows.FindNextFileW(FFindHandle, FFindFileData);
Break;
end;
until not FValidFindData;

Если IsNeedProcess возвращает false - FValidFindData вообще не меняется.
Получается бесконечный цикл.
ps. Налетел на это при попытке добавить дополнительное условие фильтрации файлов по размеру.