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

Alex7wrt

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

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

  • Посещение

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

    31

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

  1. Like
    Alex7wrt отреагировална Andrey Efimov в Определение положение ползунка громкости   
    Ну да, там не написано конкретное решение, но там есть то, что вам дало бы старт...
    AudioManager - getStreamVolume
  2. Like
    Alex7wrt отреагировална xenon54 в [Редактор кода] [Castalia] Как убрать выделение блоков begin-end в XE8?   
    В настройках касталии отключается
    castalia->options->editor->smart highlighting
  3. Like
    Alex7wrt отреагировална zekelive в Открытие изображения из Image в Галерее   
    Все получилось, спасибо!) Кое-что изменил, и вышло вот так:
    var intent:Jintent; begin   Intent := TJIntent.Create; Intent.setAction(TJIntent.JavaClass.ACTION_VIEW);  Intent.setDataAndType(StrToJuri(url),StringToJString('image/jpeg'));  SharedActivity.startActivity(Intent); end; где URL - адрес моей картинки в интернете.
  4. Like
    Alex7wrt отреагировална Brovin Yaroslav в Не работает метод Assign класса TFloatAnimation   
    Добрый день,
     
    У всех аниматоров метод Assign не реализован, как по-моему у всех FireMonkey контролов. Поэтому вы получаете эту ошибку.
     
    Решение
    Копируйте вручную. Либо напишите хелпер. P.S. Добавил реквест на реализацию метода Assign
  5. Like
    Alex7wrt отреагировална Andrey Efimov в [Android] Возможно ли воспроизводить MIDI файлы средствами FireMonkey без установки дополнительных кодеков?   
    JetPlayer уже встроен и доступен через АПИ, там и описание, и пример есть. Вы по ссылке хоть переходили, читали? 
    Поддерживаемые Андроидом мультимедиа форматы, указаны тут: http://developer.android.com/guide/appendix/media-formats.html (MIDI в их числе)
  6. Like
    Alex7wrt отреагировална Brovin Yaroslav в Обновление дизайна сайта   
    Спасибо за время, потраченное на публикацию найденных проблем. 
    Устранил:
     
    1. Отображение аватара пользователя в шапке сайта. Теперь отображается аватар текущего пользователя. + выравнены иконки слева относительно аватара

     
    2. Отображение сообщений в Профиль -> Лайки:

     
    3. Отображение тем в Профиль -> Темы:

     
    4. Отображение сообщений в Профиль -> Темы:

     
    5. Исправлено отображение сообщений в личном ящике:
     
    6. Исправлено отображение последних сообщений при ответе в теме с использование расширенной формы:

  7. Like
    Alex7wrt получил реакцию от Brovin Yaroslav в [TGrid] Как заполнить TGrid данными?   
    Если Вы используете StringGrid, то заполнение аналогично предыдущим версиям Delphi.
    StringGrid1.Cells[i,j] := SomeString; Посмотрите Осипов. Delphi. Программирование для Windows, OS X, iOS и Android. Глава 12. стр. 188. Сетка TStringGrid.
  8. Like
    Alex7wrt получил реакцию от Brovin Yaroslav в [TGrid] Как заполнить TGrid данными?   
    Тогда та же книга, та же глава. Смотрите события Grid-а OnSetValue, OnGetValue.
     
    UPD. Если Вы еще собираетесь менять цвет ячеек или оформлять их каким-то образом, то можно заполнять их данными в событии OnDrawColumnCell, после чего методом TGrid.Repaint обновлять содержимое.
  9. Like
    Alex7wrt отреагировална Brovin Yaroslav в Можно ли изменить значения AniFrameRate только для одной анимации?   
    Добрый день,
    TAnimation.AniFrameRate  - это классовая переменная. Она существует в единственном экземпляре для всех аниматоров.  Изменить ее локально для одного аниматора/анимации не возможно.
  10. Like
    Alex7wrt отреагировална Brovin Yaroslav в [Android] Открытие HTML страницы в браузере по умолчанию   
    Открытие ссылки под Андроид: 

    uses FMX.Helpers.Android, Androidapi.JNI.Net, Androidapi.JNI.GraphicsContentViewText; function OpenURL(const AUrl: string): Boolean; var Uri: Jnet_Uri; OpenLinkIntent: JIntent; begin Uri := StrToJURI(AUrl); // Формируем намерение об открытии ссылки Uri в стандартном браузере OpenLinkIntent := TJIntent.JavaClass.init(TJIntent.JavaClass.ACTION_VIEW, Uri); // Устанавливаем тип данных OpenLinkIntent.setType(StringToJString('text/html')); // Задаем категорию активити, который будет открывать нашу страницу. OpenLinkIntent.addCategory(TJIntent.JavaClass.CATEGORY_BROWSABLE); // Запускаем приложение и передаем ему наше намерение SharedActivity.startActivity(OpenLinkIntent); end; А чтобы открыть файл, нужно сформировать урл AUrl в виде: "file:/ //tmp/android.txt" (убрать пробелы) Согласно принятому стандарту оформления ссылок.
  11. Like
    Alex7wrt отреагировална Andrey Efimov в [Android] TLabel и открытие URL   
    Как-то так:
    uses   FMX.Helpers.Android, Androidapi.Helpers,   Androidapi.JNI.GraphicsContentViewText;   procedure TForm1.Button1Click(Sender: TObject); var   Intent: JIntent; begin   Intent := TJIntent.Create;   Intent.setAction(TJIntent.JavaClass.ACTION_VIEW);   Intent.setData(StrToJURI('http://google.com'));   SharedActivity.startActivity(Intent); end; Возможности проверить нет, но в теории должно сработать. В uses может быть что-то лишнее, зависит от вашей версии среды...
  12. Like
    Alex7wrt отреагировална xenon54 в Можно ли перемещать элементы по форме   
    "beginscene" в методе Paint, на сколько мне известно, не нужно.
  13. Like
    Alex7wrt отреагировална Kitty в Нужна книга   
    Добрый день.
    Можно и курсы, но опыт показывает, что это все же не так эффективно. Вон Эмбаркадеро сколько видео курсов проводит, а стоны со всех сторон – дайте манул, дайте справку…
    Думаю работа в фоновом режиме над мануалом будет также хорошим решением.
    А чтобы хотелось иметь первым делом:

    Очень бы хотелось иметь мощный мануал страниц минимум на 300 по созданию приложений для платформы Андроид с помощью библиотеки FMX. iOS тоже важен, но начать логичнее все же с платформы, которая распространена гораздо шире.
    Хотелось бы освещение таких вопросов:
    1. Особенности использования FMX исходя из особенностей и требований ОС Андроид.
    2. Правильная разработка интерфейсов исходя из платформы Андроид. Детальное рассмотрение компонентов TListView, TListBox, TMultiView при создании интерфейса программы. Работа с этими компонентами в десигн и рантайм. Правильный подход при создании многооконного приложения в Андроид, использование фреймов. Обработка ошибок.
    3. Взаимодействие с Java и API (Androidapi::Jni…).
    4. Работа со стилями.
    5. Андроид  и локальная база данных. Андроид и удаленная база данных (DataSnap).
    6. Примеры решения типовых задач (работа с видео и т.д.).
    7. Наметки использования FMX для решения реальных корпоративных задач. Показать первые шаги и правильный подход для решения таких, например, реальных задач как:
    а) кладовщик на складе через планшет вводит данные в центральную базу данных и имеет доступ  к актуальным данным компании.
    б) таксист, сидя в машине на своем планшете с Андроид имеет полную информацию о заказах и очереди.
    в) отслеживание на карте Google перемещения дальнобойных машин. Координаты присылает Андроид устройство из кабины водителя или по таймеру или по запросу из офиса.
    Все это большие и объемные задачи – просто показать скелет правильного подхода решения реальных задач на платформе Андроид с помощью FMX. Или придумать свои корпоративные задачи для мануала.
    Считаю FMX отличным выборам для решения именно корпоративных задач компании.
    8. Обязательно дублировать код с Паскаля на С++.
    По поводу пункта номер 8. Вот мой реальный опыт с FMX:
    В С++ Builder XE6 создала приложение для корпоративного использования. Вопрос уперся в воспроизведение и остановке видео. Стандартный fmx плеер не работает на некоторых из Андроид устройств. Помогли на этом форуме рекомендацией использовать этот pas файл и МХ плеер: http://blog.csdn.net/flcop/article/details/17190009
    Однако после подключения этого файла в С++ Builder сыпались AV. Никто уже не мог помочь, ни один форум ни одна справка, даже автор японец pas файла не знал в чем дело. И вот когда я уже была близка к присоединению к армии тех, кто ненавидит FMX, на одном из форумов промелькнул тайваньский товарищ, который сказал добавить в pas файл такой код:
    procedure RegisterTypes;
    begin
    TRegTypes.RegisterType('Androidapi.JNI.ActivityManager.JDebug_MemoryInfo', TypeInfo(Androidapi.JNI.ActivityManager.JDebug_MemoryInfo));
    end;
    и все сразу заработало. Сейчас у японца полностью правильный pas файл и для С++.
    Этот простой пример говорит о том, что если есть проверенный рабочий код для Дельфи, то это не факт, что все будет работать и в С++.
    Дублирование правильного кода [паскаль-с++] сделает манул всесторонним и всеобъемлющим. Армия С++ наконец-то безболезненно присоединится к паскалистам и это хорошо для Эмбаркадеро.
    Понятно, что у меня большой аппетит для такого мануала, но наличие такого манула это огромный шаг вперед для FMX. И не смотря на то, что он будет ориентирован на Андроид, он во много закроет многие другие вопросы, связанные с FMX для других платформ. Выпуск такого мануала (или бумажной книги) важен и жизненно необходим.

     
  14. Like
    Alex7wrt отреагировална xenon54 в Динамическое создание Label   
    Думаю это вам должно помочь.
    Ну и вот это в догонку.
  15. Like
    Alex7wrt отреагировална Brovin Yaroslav в [XE8] [FGX] Описание версии 0.6.0.60   
    Ссылка на скачивание (Только для RAD Studio XE8): fgx_0.6.0.60.zip
    Инструкция по установке: "Инструкция по установке набора компонентов FGX"
    Описание
    Эта версия включает в себя следующий набор компонентов:
    TfgFlipView (UPDATED) - слайдер изображений. Поддерживает несколько способов переключения фотографий при помощи эффектов и сдвигов. При первом использовании ОБЯЗАТЕЛЬНО прочитать инструкцию "TfgFlipView - Инструкция загрузки стиля" TfgPositionAnimation - анимация свойств типа TPosistion TfgPosition3DAnimation - анимация свойств типа TPosition3D  TfgBitmapLinkAnimation - анимация свойств типа TBitmapLink  TfgProgressDialog (UPDATED)- Компонент для отображения диалогового окна в момент выполнения длительной фоновой операции, когда время выполнения фоновой операции можно оценить. TfgActivityDialog (UPDATED)- компонент для отображения диалогового окна в момент выполнения длительной фоновой операции, когда время выполнения операции не возможно адекватно оценить. TfgActionSheet - Аналог контекстного меню для мобильных платформ. TfgColorsPanel - Палитра цветов с возможностью выбора цвета. TfgGradientEdit - Компонент выбора градиента. TfgLinkedLabel  - Метка поддерживающая открытие Web ссылки в браузере по умолчанию. TfgApplicationEvents - компонент с возможностью легко задать обработчики на основные события приложения: Отслеживание смены состояния приложения, простой, обновление и выполнение действий Actions, Изменение ориентации устройства и тд. TfgVirtualKeyboard - компонент облегчающий работу с виртуальной клавиатурой. Позволяет задать пользовательские кнопки над виртуальной клавиатурой под iOS, а так же отлавливать события по отображению и скрытию клавиатуры. Зарегистрированы все стилевые объекты на вкладке "FGX: Style objects" Исправления
    Исправлен номер версии пакета fgx.dpk c 210 на 220 (Спасибо за наблюдательность Thomas Krampe) TfgActionSheet: Исправлена ошибка AV на iPad, появляющася при закрытии окна действий (Спасибо за наблюдательность Thomas Krampe) TfgProgressDialog, TfgActivityDialog: Исправлена ошибка на iOS платформе, приводящая при загрузке приложения к неправильным размерам формы.  (Спасибо за наблюдательность Thomas Krampe) TfgFlipView: Исправлена ошибка, при отключенном режиме слайд шоу и загруженных изображениях, при загрузке формы пролистывался один слайд. (Спасибо StrangerMX)
  16. Like
    Alex7wrt получил реакцию от Rusland в Фото с камеры (Android)   
    У Осипова получение снимка с камеры описано так:
    Осипов. Delphi. Программирование для Windows, OS X, iOS и Android. стр. 131. Предопределенные команды.
     
    1. Разместите на форме элементы TImage, TButton и TActionList
    2. Выберите  кнопку  и  в  Инспекторе  объектов  найдите  свойство  Action.  Разверните комбинированный  список  и, пройдя  по  цепочке  New  Standard  Action | Media Library,  выберите  предопределенную  команду  TTakePhotoFromCameraAction. 3. В  окне  Инспектора  объектов  перейдите  на  вкладку  Events  и  найдите  событие OnDidFinishTaking()  для только что созданного командного объекта. 4. Двойной щелчок по строке события перенесет нас в  редактор кода,  в котором нам придется написать всего одну строку   procedure TForm1.TakePhotoFromCameraActionlDidFinishTaking(Image:  TBitmap);  begin     Image1.Bitmap.Assign(Image);  end;    
  17. Like
    Alex7wrt получил реакцию от sviat9440 в Можно поставить Лайк самому себе.   
    Вконтакте тоже можно лайкать свои посты.
    Мне кажется, лайкает ли кто свои посты - это вопрос, скажем так, -  на отношение к жизни ))
  18. Like
    Alex7wrt отреагировална voytalexey в Исключение прямоугольной области при выборе случайного значения на двумерной сетке   
    Маленькое замечание: варианты Вячеслава от 01:45 и Alex7wrt от 23:42 дают неравномерное распределение.случайных точек. Вариант Brovin Yaroslav от 15:33 даёт равномерное распределение.
  19. Like
    Alex7wrt отреагировална Brovin Yaroslav в Исключение прямоугольной области при выборе случайного значения на двумерной сетке   
    Еще есть вариант на одномерном примере. 
     
    Идея ввести параметр, который будет принимать случайное значение от 0 до суммы двух отрезков. Потом проверять, Если параметр попадает в первый отрезок по длине, то добавляем начальную координату отрезка. Если во второй, то добавляем начальную координату второй части. 
     

  20. Like
    Alex7wrt отреагировална Brovin Yaroslav в [TListView] Как поменять цвет шрифта у SearchBox у TListView?   
    Добрый день,
     
    Забыли про StyledSettings. 
     
    Итого весь код по поиску SearchBox и изменении цвета текста:
    function FindSearchBox(const ARootControl: TControl): TSearchBox; var Child: TControl; begin Result := nil; for Child in ARootControl.Controls do if Child is TSearchBox then Exit(TSearchBox(Child)); end; procedure TForm15.Button1Click(Sender: TObject); var SearchBox: TSearchBox; begin SearchBox := FindSearchBox(ListView1); if SearchBox <> nil then begin SearchBox.TextSettings.FontColor := TAlphaColorRec.Red; SearchBox.StyledSettings := SearchBox.StyledSettings - [TStyledSetting.FontColor]; end; end;
  21. Like
    Alex7wrt отреагировална Вячеслав в Исключение прямоугольной области при выборе случайного значения на двумерной сетке   
    Ну ладно, тогда вот вам кусочный рандом на примере одномерной задачи. 
    Область значений Х состоит из двух областей (I) и (III). При этом Х может принимать значение либо из первой области, либо из второй [строчка (1)]
    Определяем переменную FLAG, которая может быть только или нулем, или единицей [строчка (2)].
    Теперь через нее нетрудно выразить уравнение для Х [строчка (3)]
     
    Сейчас под рукой нет Delphi, поэтому проверить не могу. Но идея, надеюсь, понятна.

  22. Like
    Alex7wrt отреагировална Вячеслав в Cобытия OnPaint и OnPainting   
    А не проще на TRectangle кинуть TText и управлять цветом прямоугольника? Пусть даже из run-time
  23. Like
    Alex7wrt отреагировална Martifan в Как получить IMEI?   
    а для Android:
     
    Uses Androidapi.JNI.Telephony, Androidapi.JNI.JavaTypes, Androidapi.Helpers, Androidapi.JNI.GraphicsContentViewText;   function TfMain.GetMyImei: string;   var   TelephonyObj: JObject;   TelephonyManager: JTelephonyManager; begin   Result := '';   TelephonyObj := SharedActivityContext.getSystemService(TJContext.JavaClass.TELEPHONY_SERVICE);   TelephonyManager := TJTelephonyManager.Wrap((TelephonyObj as ILocalObject).GetObjectID);   Result := JStringToString(TelephonyManager.getDeviceId); end;
  24. Like
    Alex7wrt получил реакцию от flash1222 в Admob не могу понять...   
    Estra ответил на вопрос относительно кнопки "Назад".
    Что касается баннера, возможно здесь нужно задать размеры.
    Попробуйте например выставить align в mostbottom и посмотрите, что получится.
     
    Вы используете процедуру BannerAd1ActionCanBegin, в теле которой загружаете баннер.
     
    Описание этого события гласит: "Occurs after your user taps the advertising banner, and before the banner responds to this user action." То есть событие происходит после того как пользователь нажмет на баннер. Поэтому в Вашем коде баннер грузится только после нажатия на контейнер. Вы точно здесь ничего не путаете?
  25. Like
    Alex7wrt получил реакцию от Kitty в Admob не могу понять...   
    Estra ответил на вопрос относительно кнопки "Назад".
    Что касается баннера, возможно здесь нужно задать размеры.
    Попробуйте например выставить align в mostbottom и посмотрите, что получится.
     
    Вы используете процедуру BannerAd1ActionCanBegin, в теле которой загружаете баннер.
     
    Описание этого события гласит: "Occurs after your user taps the advertising banner, and before the banner responds to this user action." То есть событие происходит после того как пользователь нажмет на баннер. Поэтому в Вашем коде баннер грузится только после нажатия на контейнер. Вы точно здесь ничего не путаете?
×
×
  • Создать...