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

brunnengi

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

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

  • Посещение

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

    21

Активность репутации

  1. Like
    brunnengi получил реакцию от Andrey Efimov в FireMonkey: стоит ли начинать проект?   
    У меня уже несколько проектов переведено на чистый fmx, без всяких vcl. Из последних - отчетные формы в приложении на android. В приложении из больше двух десятков. Вот видео http://www.youtube.com/watch?v=x3bOYzP7N6k, в нем две формы отчетности (данные и наименования изменены специально). Первая "упрощенная", вторая более значимая. Работники компании пользуются каждый день и в день по несколько десятков раз. От начальства до среднего персонала. Смарт у меня не рутованый поэтому проект перегнал в Вин и потом снял видео, но на телефоне всё выглядит очень сексуально. Так что не знаю, кому как. Я вот начал и закончил уже много проектов. Да, есть проблемы, но fmx дает гораздо больше возможностей, в плане интерфейса. И это важно. А с проблемами так или иначе со временем справляемся. На VCL некоторых вещей вообще нельзя было сделать, коли на то пошло.
  2. Like
    brunnengi получил реакцию от Tarik02 в Имеет ли будущее проект?   
    Во-первых выложи хотя бы скрины, пожалуйста.
    Во-вторых, я хоть и не пользуюсь Антивирусов от Каспера, зато доверяю встроенному в Винде Защитнику, и он на твой файл жалуется. Так что коли ты выкладываешь именно exe, то хотя бы проверки выложи от онлайн антивирусов.
    В-третьих, не смотря на жалобы антивирусника, я всё таки запустил программу, но она не пошла, ибо CC32160MT.dll не найдена. В инете её описания нет. Так что хоть поясни что это за либа такая.
     
    Ну и касательно вопроса - ты давно был на PlayMarket'е? Там всегда было, есть и будет куча хлама лежать и пользоваться спросом. Там 98% мусорных приложений, однако они кому то нужны же. Касательно шахмат на троих, я не знаю, не играл. Играю с другом раза два в неделю в обычные шахматы в баре/кафе. Мы же не пьющие, вот и надо чем то мозги занять. Так что часа 2-3 в неделю на шахматы убиваем. И даже в такой, казалось бы простом приложение есть свои недороботки, мелкие, но все же хочется что бы их не было.
    Так что. делай конечно. 
  3. Like
    brunnengi получил реакцию от Вячеслав в FireMonkey: стоит ли начинать проект?   
    Быстро решаемых проблем почти не бывает. Все проблемы приходится решать хоть какое то время.
    Но ты либо начнешь писать на FMX проект либо вообще не сможешь действительно с ней работать.
    Я тоже не раз хотел подступиться к FMX именно в плане перевести на него свои проекты с VCL.
    И до версии ХЕ3 (ищи ХЕ4 не помню точно) откладывал это. А потом взял и перевел.
    В первую очередь сыграло роль удобство разработки, которое стало комфортнее благодаря TLayout, DisignVisible, Lock.
    За эти вещи разрабам прям большое спасибо!
    Я думаю что если они это на VCL поставят, с VCL опять десять лет никто не пересядет))
    Конечно есть лаги. Причем они бывают двух типов, лаги которые появляются из-за не знания как это делать именно в FMX, и второе, лаги самой FMX. Сверх критичных лагов с которым нельзя было ужиться почти нет. Просто иногда приходится из-за них отказаться от реализации какой то идеи именно "вот так".
    Свой проект один я перевел с VCL на FMX. Второй пишу сразу на FMX. Потихоньку осваиваю мобильный вариант. 
    По-сути в VCL за последние два года я делал только легкий сервер для работы с принтером. И то потому что поленился разбираться (и даже пытаться сделать на FMX), так как на VCL уже были наброски. Позже, когда времени будет побольше, тоже переведу.
    И конечно выход AppMethod с чистым FMX и при его ценовой политике это конечно подарок для меня.
     
    Словом, нельзя сказать что фреймфорк на все 100% стабилен. Это не так. Это факт, и не надо его смущаться и боятся. С чем то приходится мириться, что то обходить, а что то просто учиться делать как надо. Мой проект работает полностью стабильно. 
    Стоит ли писать и поднимать проект на FMX? Как по мне, так да на 100%
     
    P.S. Со sqlite я раньше работал через штатные средства, без FireDAC. Ибо первые варианты, работы FireDAC с SQLite были медленее чем тревиальный подход.  К тому же подключение FireDAC сразу занимало в оперативке от 45 до 200 МБ (на WinXp почти 200мб, на Win8 >45мб). Но в ХЕ5 и ХЕ6 работа с SQLite через FireDAC если не быстрее обычного варианта, то уж точно не медленее. Память больше не жрет.  Работа стабильнее. Кол-во ошибок при записи/чтение в базу через FireDAC на 1000,000 позиций 0, в то время как обычный от 2-30 (тесты делались на двух разных жестких дисках IDE, оба после неоднократного ремонта, одному 6 лет, другому >7, оба диска, все эти года жестко и активно эксплуатировались). 
  4. Like
    brunnengi получил реакцию от AngryOwl в [Android] Возможно ли наложить маску на видео?   
    Сразу извиняюсь сам не тестил, но может просто положить сверху TLayout, в него TText или TLabel.
    Будет слой поверх видео, а в нем уже текст с ценой.
  5. Like
    brunnengi получил реакцию от Kitty в [Android] Возможно ли наложить маску на видео?   
    Сразу извиняюсь сам не тестил, но может просто положить сверху TLayout, в него TText или TLabel.
    Будет слой поверх видео, а в нем уже текст с ценой.
  6. Like
    brunnengi отреагировална Brovin Yaroslav в Как сделать пиксель прозрачным?   
    Добрый день,
    Получить доступ к пикселям битмапа: Доступ к пикселям Получив доступ, изменить требуемые пиксели (в том числе прозрачность) Записать измененные данные обратно, используя функцию Unmap var Data: TBitmapData; Bitmap: TBitmap; begin Bitmap := Image1.Bitmap; if Bitmap.Map(TMapAccess.ReadWrite, Data) then try Data.SetPixel(10, 10, TAlphaColorRec.null); finally Bitmap.Unmap(Data); end; end;
  7. Like
    brunnengi получил реакцию от zairkz в [Android] Разделить скроллинг и нажатие   
    Здравствуйте.
    -------------
    Delphi XE7
    -------------
    В компонент TVertScrollBox положил несколько Layout'ов. Layout'ы имеют события MouseDown и MouseUp.
    При прокручивание списка идет реакция события того layout'а на который пришелся "click" пальцем.
    Как сделать так, что бы MouseDown и MouseUp компонентов Tlayout отрабатывались только в том случае, если это не скроллинг, т.е. так, как это сделано во всех приложениях для андройда?
  8. Like
    brunnengi получил реакцию от zairkz в [Android] Разделить скроллинг и нажатие   
    событие onTap я использую. Но не всегда нужен именно OnTap.
    Например вам требуется смена цвета когда элемент нажат, а когда с элемент отпущен, то цвет надо вернуть назад.
    Т.е. надо использовать MouseDown и MouseUp.
    Однако если я просто хочу пролестать список вверх или вниз, то срабатывает MouseDown у того элемента, на который пришлось нажатие.
     
    Я не спорю что это абсолютно правильная и ожидаемая реакция. Однако я вижу что в других приложениях это не проблема. Если идет скроллинг, то элементы на которые пришёлся клик не реагируют, а если это именно нажатие, то реагируют.
     
    Как такое реализовать.
  9. Like
    brunnengi получил реакцию от Brovin Yaroslav в Еще раз к теме резиновой заставки   
    Опираясь на тот факт что встроенный splashscreen всё таки даёт правильный результат, я делаю вывод что косяки сажаем мы. 
    Я конечно не отрицаю что вряд ли должна быть связь между splashscreen'ом и итоговым отображением формы, и что это требует лечения, но всё же мысль о том что дефолтный вариант пашет, говорит о нашем не правильном подходе.
    Замечу также, в тот день когда я полез на радостях изучать сплэш скрины в XE7 вот этой ссылки http://docwiki.embarcadero.com/RADStudio/XE7/en/Using_9-patch_Images_in_Android (поправьте плз ссылку) там не было.
     
    Ну а теперь по делу. Ниже ссылка на проект где всё пашет как надо и сплэш и отображение формы:
    http://ovrload.ru/f/31207_xe7splashscreentest1.zip - это полная вместе с папкой Android, на всякий случай, если нижняя ссылка не попрет
    http://ovrload.ru/f/31208_xe7splashscreentest1_cut.zip - без папки Android
     
    Проект создан заново. Из твоего скопировал только raw картинки белые и tabcontrol. 
    Не могу сказать что четко осознаю что именно помогло, однако что я сделал:
    Создал с помощью утилиты 9.png файлы Не стал создавать в папке файл splash_image_def.xml Открыл в IDE раздел Deployment и снял галочку с splash_image_def.xml Переименовал все Remote Name у splash картинок в splash_image_def.9.png Ну вроде всё.
  10. Like
    brunnengi получил реакцию от zairkz в Как получить доступ к значениям элементов TJSON?   
    могу только на пример в делфи, ибо С++ не знаю.
    Вот код, будут вопросы задавай, отвечу
    procedure TForm1.Button1Click(Sender: TObject); var JS : TJSONObject; JSAr : TJSONArray; s : string; begin s := Memo1.Text; JS := TJSONObject.ParseJSONValue(s) as TJSONObject; if Assigned(JS) then begin JS := TJSONObject.ParseJSONValue(JS.GetValue('response').ToString) as TJSONObject; JSAr := TJSONObject.ParseJSONValue(JS.GetValue('items').ToString) as TJSONArray; JS := TJSONObject.ParseJSONValue(JSAr.Items[0].ToString) as TJSONObject; Memo1.Clear; Memo1.Lines.Add('id: ' + JS.GetValue('id').Value); Memo1.Lines.Add('owner_id: ' + JS.GetValue('owner_id').Value); Memo1.Lines.Add('player: ' + JS.GetValue('player').Value); Memo1.Lines.Add('title: ' + JS.GetValue('title').Value); JS.Free; end; end;
  11. Like
    brunnengi получил реакцию от Kitty в Еще раз к теме резиновой заставки   
    Опираясь на тот факт что встроенный splashscreen всё таки даёт правильный результат, я делаю вывод что косяки сажаем мы. 
    Я конечно не отрицаю что вряд ли должна быть связь между splashscreen'ом и итоговым отображением формы, и что это требует лечения, но всё же мысль о том что дефолтный вариант пашет, говорит о нашем не правильном подходе.
    Замечу также, в тот день когда я полез на радостях изучать сплэш скрины в XE7 вот этой ссылки http://docwiki.embarcadero.com/RADStudio/XE7/en/Using_9-patch_Images_in_Android (поправьте плз ссылку) там не было.
     
    Ну а теперь по делу. Ниже ссылка на проект где всё пашет как надо и сплэш и отображение формы:
    http://ovrload.ru/f/31207_xe7splashscreentest1.zip - это полная вместе с папкой Android, на всякий случай, если нижняя ссылка не попрет
    http://ovrload.ru/f/31208_xe7splashscreentest1_cut.zip - без папки Android
     
    Проект создан заново. Из твоего скопировал только raw картинки белые и tabcontrol. 
    Не могу сказать что четко осознаю что именно помогло, однако что я сделал:
    Создал с помощью утилиты 9.png файлы Не стал создавать в папке файл splash_image_def.xml Открыл в IDE раздел Deployment и снял галочку с splash_image_def.xml Переименовал все Remote Name у splash картинок в splash_image_def.9.png Ну вроде всё.
  12. Like
    brunnengi получил реакцию от Andrey Efimov в Еще раз к теме резиновой заставки   
    Опираясь на тот факт что встроенный splashscreen всё таки даёт правильный результат, я делаю вывод что косяки сажаем мы. 
    Я конечно не отрицаю что вряд ли должна быть связь между splashscreen'ом и итоговым отображением формы, и что это требует лечения, но всё же мысль о том что дефолтный вариант пашет, говорит о нашем не правильном подходе.
    Замечу также, в тот день когда я полез на радостях изучать сплэш скрины в XE7 вот этой ссылки http://docwiki.embarcadero.com/RADStudio/XE7/en/Using_9-patch_Images_in_Android (поправьте плз ссылку) там не было.
     
    Ну а теперь по делу. Ниже ссылка на проект где всё пашет как надо и сплэш и отображение формы:
    http://ovrload.ru/f/31207_xe7splashscreentest1.zip - это полная вместе с папкой Android, на всякий случай, если нижняя ссылка не попрет
    http://ovrload.ru/f/31208_xe7splashscreentest1_cut.zip - без папки Android
     
    Проект создан заново. Из твоего скопировал только raw картинки белые и tabcontrol. 
    Не могу сказать что четко осознаю что именно помогло, однако что я сделал:
    Создал с помощью утилиты 9.png файлы Не стал создавать в папке файл splash_image_def.xml Открыл в IDE раздел Deployment и снял галочку с splash_image_def.xml Переименовал все Remote Name у splash картинок в splash_image_def.9.png Ну вроде всё.
  13. Like
    brunnengi получил реакцию от AngryOwl в Как лучше организовать мультиязычность в базе данных?   
    Вопрос из раздела Консультации, хотя лично мне не особо то и важно.
    Твой вопрос сродни философскому и однозначно ответить нельзя, особенно если звучит он как "что лучше", ибо доподлинно известно что борьба "хорошего с лучшим" это лишь дело личностных предпочтений.
     
    По существу - на размер и скорость итоговой базы вряд ли повлияет выбранный из двух методик что либо. И если с размером базы и скоростью  мы разобрались, то остается решить вопрос, а что удобнее? Удобней в таблицах. Но при условии что поля в разноязычных таблицах одинаковы.
    В этом случае тебе придется лишь указывать таблицы согласно выбранному языку, что можно в принципе повесить на отдельную функцию и спокойно разрабатывать себе приложение. 
    Ибо если ты будет хранить в столбцах то и обращаться придется каждый раз по разному выискивая то или иное слово, т.е. муторно это, а смысла нет.
     
    Так что организовывай на уровне таблиц.
  14. Like
    brunnengi получил реакцию от Brovin Yaroslav в Как лучше организовать мультиязычность в базе данных?   
    Вопрос из раздела Консультации, хотя лично мне не особо то и важно.
    Твой вопрос сродни философскому и однозначно ответить нельзя, особенно если звучит он как "что лучше", ибо доподлинно известно что борьба "хорошего с лучшим" это лишь дело личностных предпочтений.
     
    По существу - на размер и скорость итоговой базы вряд ли повлияет выбранный из двух методик что либо. И если с размером базы и скоростью  мы разобрались, то остается решить вопрос, а что удобнее? Удобней в таблицах. Но при условии что поля в разноязычных таблицах одинаковы.
    В этом случае тебе придется лишь указывать таблицы согласно выбранному языку, что можно в принципе повесить на отдельную функцию и спокойно разрабатывать себе приложение. 
    Ибо если ты будет хранить в столбцах то и обращаться придется каждый раз по разному выискивая то или иное слово, т.е. муторно это, а смысла нет.
     
    Так что организовывай на уровне таблиц.
  15. Like
    brunnengi отреагировална Brovin Yaroslav в [Android/Windows] [XE7] Как запретить прокручивание?   
    Тогда, отключение:
    ScrollBox.AniCalculations.TouchTracking := []; Включение:
    ScrollBox.AniCalculations.TouchTracking := [ttVertical];
  16. Like
    brunnengi получил реакцию от Brovin Yaroslav в [Android] [XE7] Как программно включить GPS?   
    Да, спасибо. Я почитал статьи. Действительно GPS включается только так. А для получения GPS данных без включения самого GPS/ГЛОНАСС есть онлайн сервисы специальные, например от яндекса (да и от гугла тоже есть)
  17. Like
    brunnengi отреагировална Brovin Yaroslav в [Android] [XE7] Как программно включить GPS?   
    Никак,
     
    На андроиде специально сделано включение/выключение GPS только через настройки телефона. Включить GPS можно программно только при помощи неисправленных уязвимостей ОС Андроид. 
     
    Хорошая дискуссия есть на StackOverflow: How can I enable or disable the GPS programmatically on Android?
  18. Like
    brunnengi отреагировална brunnengi в Добавлена ли поддержки своих шрифтов в XE7?   
    Окей. Значит где то показалось мне. Всем спасибо.
  19. Like
    brunnengi отреагировална estra в [Android] [XE7] Как получить входящие/исходящие сообщения?   
    Это подойдет - Получаем список SMS-сообщений?
  20. Like
    brunnengi отреагировална estra в [Android] [XE7] Как получить журнал вызовов?   
    Это подойдет - Работаем со списком вызовов?
  21. Like
    brunnengi отреагировална estra в [Android] [XE7] Как получить список контактов?   
    Это подойдет - Работаем со списком контактов, #1, Работаем со списком контактов, #2?
  22. Like
    brunnengi отреагировална Dozent в [Windows] Полученный файл записи с микрофона не звучит при воспроизведении. В чем причина?   
    Доброй ночи, проблему решил! Зашёл в "Устройства воспроизведения" и удалил не используемые! 
    Первым был микрофон который не использовался, вторым тот что работал, возможно я ошибаюсь, но похоже получается что берётся первый из списка микрофон, а не тот что по умолчанию!
    Но проблема решена всё пишет!
  23. Like
    brunnengi отреагировална Brovin Yaroslav в Как сделать эффект вспышки для контрола, когда он подсвечивается на короткий диапазон времени?   
    Перед вызовом анимации сбросьте флаг Inverse:
    FloatAnimation1.Inverse := False; FloatAnimation1.Start;
  24. Like
    brunnengi получил реакцию от Brovin Yaroslav в [XE7] Что использовать вместо TFmxObject.AnimateXXX в XE7?   
    Ага, нашел, все работает. Спасибо большое! 
  25. Like
    brunnengi отреагировална Brovin Yaroslav в [XE7] Что использовать вместо TFmxObject.AnimateXXX в XE7?   
    Добрый вечер,
     
    Эти методы были перенесены в класс FMX.ANi.TAnimator. Теперь эти методы классовые, поэтому в качестве первого параметра нужно указывать объект, для которого анимируются свойства. Так же в него вошли дополнительные методы по запуску триггеров и анимации по названию.
×
×
  • Создать...