Перейти к содержанию
Fire Monkey от А до Я

Nix0N

Пользователи
  • Постов

    92
  • Зарегистрирован

  • Посещение

  • Победитель дней

    12

Сообщения, опубликованные Nix0N

  1. А смысл таких "изворотов" с формой, как альтернативой Hints ? Для моих целей вполне достаточно стандартного меню, единственное, что необходимо "допилить":

    • Определение позиции TaskBar (так как он у пользователя бывает не только снизу) для корректного отображения меню
    • Различные манипуляции с иконкой в трее (смена и т.д.)
    • Кастомный BalloonHint

    В принципе мне более и не надо

     

    P.S. как показывает практика - пользователь все равно нажмет на иконку в трее для получения информации о состоянии (работы) приложения...

  2. Вижу 2 ошибки:

    1. У Вас не верная формула для поиска. С этой формулой (? :(<a href=\"))(\\S+)(? :(\">)) Вы не найдете то, что Вам необходимо. Эта формула не работает так же в Perl и Notepad++
    2. Я у Вас вижу 4 группы, но на выходе Вы ни к одной не обращаетесь и по-этому получаете исходную строку. 

    В данном случае вопрос с FireMonkey никак не связан...

     

    P.S. Если опишите какие данные в итоге хотите получить - пишите в личку. Подскажу как сделать, так как эту тему скорее всего удалят...

     

    Либо так:

    url = TRegEx::Matches(text->Text, "(?<a href=\"))(\\S+)(?\">))").Item[i].Groups[n].Value;
    

    Где n - номер группы. Группа - это данные, которые располагаются между ()

     

    Пример Delphi

    procedure TForm1.Button1Click(Sender: TObject);
    var
      RegEx: TRegEx;
      M: TMatchCollection;
    begin
      RegEx := TRegEx.Create('(<a href=\"(.*?)\">)');
      if RegEx.IsMatch('<a href="messanger.cgi?action=read&msg=2">')then
      begin
        M := RegEx.Matches('<a href="messanger.cgi?action=read&msg=2">');
        //Вторая группа содержит текст между кавычками
        Memo1.Lines.Add(M.Item[0].Groups[2].Value); 
      end;
    end;
    

    На выходе: messanger.cgi?action=read&msg=2 

  3. Я лично ооочень сильно сомневаюсь по поводу того, что за курсы необходимо будет платить... Тем более что все вебинары с участием Ярослава находятся в открытом доступе и обсолютно бесплатны. К тому же на этом форуме Вы можете задать абсолютно любой интересующий Вас вопрос и так же быстро получить ответ ни заплатив за это. А так же это будет отличным шагом к популяризации платформы, так как информации в сети не так много, как хотелось бы, и зачастую это отпугивает всех начинающих по изучению данной платформы.

    1. А лучше удалить FMX.Platform.Win.dcu из каталогов Debug и Release среды
    2. Добавить в проект модифицированный pas-файл
    3. Скомпилировать проект
    4. Скопировать FMX.Platform.Win.dcu из папки с проектом в директории среды 

    Тогда отпадет необходимость постоянно добавлять pas-файл. Еще раз - спасибо !

  4. Набросал компонент для работы с значком в системном трее. Компонент только для FM и только для платформы Windows ! Среда: Delphi XE6 

     

    Основные моменты

     

    Свойства:

    • Hint : string - отображает текст при наведении на значок в системном трее
    • BalloonTitle : string - текст заголовка всплывающей подсказки
    • BalloonText : string - текст содержания всплывающей подсказки
    • IconBalloonTypeTBalloonIconType - иконка всплывающей подсказки. Принимает значения: ​​​BigError, BigWarning, Error, Info, None, User, Warning
    • Indent : Cardinal - "косметический костыль" для нормального отображения меню при клике по значку в системном трее. Подбирается экспериментально, так как при различных стилях область отображения меню изменяется (меню уезжает вверх)
    • PopUpMenu : TPopUpMenu - всплывающее меню, при OnClick правой кнопкой мыши по значку

    ​Методы:

    • Show - отображать значок в системном трее
    • Hide - скрыть значок из системного трея
    • ShowBalloonHint - показать всплывающую подсказку

    События:

    • OnClick - нажатие левой кнопки мыши
    • OnDblClick - двойное нажатие левой кнопки мыши

    Важное замечание: необходимо обязательное наличие TForm и только один экземпляр TnTrayIcon в приложении !

     

    Установка:

    1. Распаковать содержимое архива
    2. Открыть файл nTrayIcon.dpk
    3. В Project Manager окне правой кнопкой мыши по nTrayIcon.bpl -> Compile
    4. В Project Manager окне правой кнопкой мыши по nTrayIcon.bpl -> Install
    5. Добавляем путь в Library: Tools -> Options -> Delphi Options -> Library -> Library Patch -> Add...

    В архиве компонент и пример для работы.

     

    P.S. Писал для себя, так как частенько использую... Всегда хочется простоты.

    P.S.S. Писал быстро и ночью. Возможны недочеты и ошибки. Постепенно исправлю.

    TnTrayIcon.zip

  5. Не так давно столкнулся с проблемой, а конкретно была поставлена задача: скрыть иконку приложения с панели задач Windows 7. Перепробовав все известные и хитрые методы - я не добился результата, так как Handle (HWND) класса Application в Firemonkey получить не возможно ! И вдруг я вспомнил ! Ярослав в личной беседе подсказал мне решение, а именно оно заключается в небольшой правке исходного файла в составе среды и таким образом я решил свою проблему при помощи дописанной функции GetApplicationHandle:

    ShowWindow(GetApplicationHandle, SW_HIDE);
    

    Ярослав, у меня 2 вопроса:

    • По какой причине в Firemonkey убрали возможность получить хэндл Application ?
    • Возможно, если Вас не затруднит, выложить здесь исправленный *.dcu или *.pas ? Или же просто HOW-TO для самостоятельной правки. Думаю это весьма полезная информация.

    Заранее спасибо ! В первую очередь огромное спасибо за предоставленную мне помощь !

  6. Не отображаются кастомные item's при разворачивании списка TComboBox. Нет отображения конкретно в выпадающем списке, в самом TComboBox всё ок.  Пробовал перерисовку во время события onPopup, создание на различных родителях и т.д. - не помогло. Подскажите в чем может быть дело ? Спасибо.

     

    post-127-0-80869900-1400574023.png

     

    Чистый проект прилагается: RAD Studio XE6

    CustomComboBox.zip

  7. Ссылка в личке. Возможно это просто китайфоны. А ещё вариант некий извращенный эмуль

     

    Ссылка не дошла, но я понял о чем идет речь. Да, это "серые" аппараты, которые вполне могут обходится без EMEI или "левым" EMEI. Есть у меня такое подобие из Китая заказано. Android им только снится =) Там нечто похожее на Android. Все производители и в том числе китайские бренды просто обязаны аппаратно фиксировать EMEI. Это обязательное требование. Конечно можно эмулировать EMEI, но для этого необходимо вычислить адресный блок в памяти мкс, где хранится EMEI и т.д.... Дешевле и проще купить ПО =)

  8. Не только к IMEI. Его можно сменить.

     

    EMEI уже давно "вшит" (аппаратно) в мкс еще на стадии изготовления микрухи и не подлежит изменению. Уже около 8-и лет (точно не скажу). Если, конечно, перепаять мкс, но зачем ? И кто станет этим заниматься ? И где взять мкс с таким же EMEI, который необходим для работы ПО ? Наладить собственное производство ? =) Это не возможно... Дешевле заплатить за ПО, а не налаживать производство "левых" мкс...

  9. Доброго времени суток уважаемые форумчане!

     

    Прошу помощи с разработкой приложения, сам в этом деле не мастер, много еще не понимаю!

    Имеется приложение attachicon.gifproject.zip где работает вход на ВК и Одноклассники, помогите реализовать отправку фото хотя бы для вк?

     

    Думаю кому то тоже будет это интересно. Заранее огромное спасибо кто откликнулся!

    Я могу подсказать как добавить фото без использования API в "Одноклассники". Сразу оговорюсь, данный код мой и "оттачивал" я его долго и нудно, по-этому публикую его видоизмененным, практически без проверок на ошибки, без потоков, без регулярок и т.д. Как-то так =) Для ознакомления то что надо. Работает на любой платформе после мелких изменений. Загружает фото в "Личные фотографии".

    Login OK.zip

  10. Отвечаю сам на свой же вопрос, может кому пригодится. Путем долгих и изнурительных экспериментов было установлено: после того, как создан и размещен checkbox, его необходимо "прочекать", т.е. в моём случае это

    //ставим чек
    Item.StylesData['mycheckbox'] := True;
    //снимаем чек
    Item.StylesData['mycheckbox'] := False;
    

    С чем связано данное поведение не имею понятия, но многим пригодится...

  11. ListBox содержит 100 ListBoxItem (созданные в run-time) с кастомным стилем, который содержит TCheckBox и TLabel. Если у первого item'a отметить CheckBox, он выборочно дублируется у остальных item. Пример: отмечаем первый item, отмечаются 20, 30 и т.д. Пробовал перерисовку, перестановку контента и т.д. - не помогает. В чем может быть дело ?

    Чистый проект прилагается. RAD Studio XE6 

    ChekBox ListBox.zip

  12. Может и у вас что то подобное мешает жить?

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

     

    Стиль в любом случае присутствует. Так сказать "дефолтный", вне зависимости используется StyleBook или нет.

  13. Да, необходимо завершить предыдущую активити с MXPlayer

     

    Используйте JNI и переделайте под Ваши нужды:

    ActivityManager.killBackgroundProcesses(String packageName)

    Где packageName - название пакета MXPlayer

     

    Если видео запускается в том же экземпляре программы MXPlayer, то этого делать не нужно.

     

    Можете подсмотреть здесь

  14. Данные "косяки" присутствовали в RAD Studio XE5. В XE6 полёт нормальный. Android 4.1

    Предполагаю, что в Вашем случае проблема кроется в перерисовке стиля. Попробуйте realigncontent, update и т.д.

×
×
  • Создать...