Alex7wrt
-
Постов
508 -
Зарегистрирован
-
Посещение
-
Победитель дней
31
Активность репутации
-
Alex7wrt отреагировална Andrey Efimov в Определение положение ползунка громкости
Ну да, там не написано конкретное решение, но там есть то, что вам дало бы старт...
AudioManager - getStreamVolume
-
Alex7wrt отреагировална xenon54 в [Редактор кода] [Castalia] Как убрать выделение блоков begin-end в XE8?
В настройках касталии отключается
castalia->options->editor->smart highlighting
-
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 - адрес моей картинки в интернете.
-
Alex7wrt отреагировална Brovin Yaroslav в Не работает метод Assign класса TFloatAnimation
Добрый день,
У всех аниматоров метод Assign не реализован, как по-моему у всех FireMonkey контролов. Поэтому вы получаете эту ошибку.
Решение
Копируйте вручную. Либо напишите хелпер. P.S. Добавил реквест на реализацию метода Assign
-
Alex7wrt отреагировална Andrey Efimov в [Android] Возможно ли воспроизводить MIDI файлы средствами FireMonkey без установки дополнительных кодеков?
JetPlayer уже встроен и доступен через АПИ, там и описание, и пример есть. Вы по ссылке хоть переходили, читали?
Поддерживаемые Андроидом мультимедиа форматы, указаны тут: http://developer.android.com/guide/appendix/media-formats.html (MIDI в их числе)
-
Alex7wrt отреагировална Brovin Yaroslav в Обновление дизайна сайта
Спасибо за время, потраченное на публикацию найденных проблем.
Устранил:
1. Отображение аватара пользователя в шапке сайта. Теперь отображается аватар текущего пользователя. + выравнены иконки слева относительно аватара
2. Отображение сообщений в Профиль -> Лайки:
3. Отображение тем в Профиль -> Темы:
4. Отображение сообщений в Профиль -> Темы:
5. Исправлено отображение сообщений в личном ящике:
6. Исправлено отображение последних сообщений при ответе в теме с использование расширенной формы:
-
Alex7wrt получил реакцию от Brovin Yaroslav в [TGrid] Как заполнить TGrid данными?
Если Вы используете StringGrid, то заполнение аналогично предыдущим версиям Delphi.
StringGrid1.Cells[i,j] := SomeString; Посмотрите Осипов. Delphi. Программирование для Windows, OS X, iOS и Android. Глава 12. стр. 188. Сетка TStringGrid.
-
Alex7wrt получил реакцию от Brovin Yaroslav в [TGrid] Как заполнить TGrid данными?
Тогда та же книга, та же глава. Смотрите события Grid-а OnSetValue, OnGetValue.
UPD. Если Вы еще собираетесь менять цвет ячеек или оформлять их каким-то образом, то можно заполнять их данными в событии OnDrawColumnCell, после чего методом TGrid.Repaint обновлять содержимое.
-
Alex7wrt отреагировална Brovin Yaroslav в Можно ли изменить значения AniFrameRate только для одной анимации?
Добрый день,
TAnimation.AniFrameRate - это классовая переменная. Она существует в единственном экземпляре для всех аниматоров. Изменить ее локально для одного аниматора/анимации не возможно. -
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" (убрать пробелы) Согласно принятому стандарту оформления ссылок. -
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 может быть что-то лишнее, зависит от вашей версии среды...
-
Alex7wrt отреагировална xenon54 в Можно ли перемещать элементы по форме
"beginscene" в методе Paint, на сколько мне известно, не нужно.
-
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 для других платформ. Выпуск такого мануала (или бумажной книги) важен и жизненно необходим.
-
Alex7wrt отреагировална xenon54 в Динамическое создание Label
Думаю это вам должно помочь.
Ну и вот это в догонку.
-
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) -
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; -
Alex7wrt получил реакцию от sviat9440 в Можно поставить Лайк самому себе.
Вконтакте тоже можно лайкать свои посты.
Мне кажется, лайкает ли кто свои посты - это вопрос, скажем так, - на отношение к жизни ))
-
Alex7wrt отреагировална voytalexey в Исключение прямоугольной области при выборе случайного значения на двумерной сетке
Маленькое замечание: варианты Вячеслава от 01:45 и Alex7wrt от 23:42 дают неравномерное распределение.случайных точек. Вариант Brovin Yaroslav от 15:33 даёт равномерное распределение.
-
Alex7wrt отреагировална Brovin Yaroslav в Исключение прямоугольной области при выборе случайного значения на двумерной сетке
Еще есть вариант на одномерном примере.
Идея ввести параметр, который будет принимать случайное значение от 0 до суммы двух отрезков. Потом проверять, Если параметр попадает в первый отрезок по длине, то добавляем начальную координату отрезка. Если во второй, то добавляем начальную координату второй части.
-
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; -
Alex7wrt отреагировална Вячеслав в Исключение прямоугольной области при выборе случайного значения на двумерной сетке
Ну ладно, тогда вот вам кусочный рандом на примере одномерной задачи.
Область значений Х состоит из двух областей (I) и (III). При этом Х может принимать значение либо из первой области, либо из второй [строчка (1)]
Определяем переменную FLAG, которая может быть только или нулем, или единицей [строчка (2)].
Теперь через нее нетрудно выразить уравнение для Х [строчка (3)]
Сейчас под рукой нет Delphi, поэтому проверить не могу. Но идея, надеюсь, понятна.
-
Alex7wrt отреагировална Вячеслав в Cобытия OnPaint и OnPainting
А не проще на TRectangle кинуть TText и управлять цветом прямоугольника? Пусть даже из run-time
-
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; -
Alex7wrt получил реакцию от flash1222 в Admob не могу понять...
Estra ответил на вопрос относительно кнопки "Назад".
Что касается баннера, возможно здесь нужно задать размеры.
Попробуйте например выставить align в mostbottom и посмотрите, что получится.
Вы используете процедуру BannerAd1ActionCanBegin, в теле которой загружаете баннер.
Описание этого события гласит: "Occurs after your user taps the advertising banner, and before the banner responds to this user action." То есть событие происходит после того как пользователь нажмет на баннер. Поэтому в Вашем коде баннер грузится только после нажатия на контейнер. Вы точно здесь ничего не путаете?
-
Alex7wrt получил реакцию от Kitty в Admob не могу понять...
Estra ответил на вопрос относительно кнопки "Назад".
Что касается баннера, возможно здесь нужно задать размеры.
Попробуйте например выставить align в mostbottom и посмотрите, что получится.
Вы используете процедуру BannerAd1ActionCanBegin, в теле которой загружаете баннер.
Описание этого события гласит: "Occurs after your user taps the advertising banner, and before the banner responds to this user action." То есть событие происходит после того как пользователь нажмет на баннер. Поэтому в Вашем коде баннер грузится только после нажатия на контейнер. Вы точно здесь ничего не путаете?