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

Равиль Зарипов (ZuBy)

Модераторы
  • Постов

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

  • Посещение

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

    264

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

  1. Like
    Равиль Зарипов (ZuBy) получил реакцию от ENERGY в Порядок запуска TBitmapListAnimation     
    картинка из примера
      
    Загружаем её в BitmapListAnimation
     
    настройка BitmapListAnimation
     
    ну и не забываем
    BitmapListAnimation1.Enabled := true;  
  2. Like
    Равиль Зарипов (ZuBy) получил реакцию от Pax Beach в Фотография стандартной камерой смартфона   
    если используется SDK > 23, то приложение должно запросить права у пользователя.
    Но стандартный SDK студии < 23 так что достаточно использовать старый способ (указать в настройках проекта)
  3. Like
    Равиль Зарипов (ZuBy) получил реакцию от Kitty в Фотография стандартной камерой смартфона   
    если используется SDK > 23, то приложение должно запросить права у пользователя.
    Но стандартный SDK студии < 23 так что достаточно использовать старый способ (указать в настройках проекта)
  4. Like
    Равиль Зарипов (ZuBy) получил реакцию от ENERGY в Фотография стандартной камерой смартфона   
    если используется SDK > 23, то приложение должно запросить права у пользователя.
    Но стандартный SDK студии < 23 так что достаточно использовать старый способ (указать в настройках проекта)
  5. Like
    Равиль Зарипов (ZuBy) получил реакцию от Rusland в Порядок запуска TBitmapListAnimation     
    картинка из примера
      
    Загружаем её в BitmapListAnimation
     
    настройка BitmapListAnimation
     
    ну и не забываем
    BitmapListAnimation1.Enabled := true;  
  6. Like
    Равиль Зарипов (ZuBy) получил реакцию от ENERGY в Горизонтальный TListView с картинками   
    если убрать этот стиль, то можно всю настройку делать цветом (как показано в демке)
    там же и задавать цвет для разделителей
  7. Like
    Равиль Зарипов (ZuBy) получил реакцию от Kitty в Порядок запуска TBitmapListAnimation     
    картинка из примера
      
    Загружаем её в BitmapListAnimation
     
    настройка BitmapListAnimation
     
    ну и не забываем
    BitmapListAnimation1.Enabled := true;  
  8. Like
    Равиль Зарипов (ZuBy) отреагировална chaplin.u@gmail.com в Порядок запуска TBitmapListAnimation     
    наши картинки отличались только одним - PropertyName. У меня программа сама поставила AnimationBitmap и я ей поверил. 
    А зря т.к. после замены на Bitmap зайчик побежал.
    Спасибо !
  9. Like
    Равиль Зарипов (ZuBy) получил реакцию от Brovin Yaroslav в Порядок запуска TBitmapListAnimation     
    картинка из примера
      
    Загружаем её в BitmapListAnimation
     
    настройка BitmapListAnimation
     
    ну и не забываем
    BitmapListAnimation1.Enabled := true;  
  10. Like
    Равиль Зарипов (ZuBy) отреагировална Brovin Yaroslav в Часть формы обрезается на Bluestaks 2   
    Вы не смогли найти в вопросе слова: "Затем запустил на Lenovo и результат получился не такой красивый. Как видим, верх формы почему-то "уехал" за статус-бар, а ее свойство Top равно 0"?
    Там же ниже есть подбробный ответ. Нужно прочитать.
     
  11. Like
    Равиль Зарипов (ZuBy) отреагировална ENERGY в Горизонтальный TListView с картинками   
    Большое спасибо за помощь, добрый человек!
    Еще добавлю, чтобы сменить фон Item'a (например на прозрачный)  или добавить какие то рюшечки (например полоски между пунктами), на вышеуказанном примере: нужно зайти в стили, и редактировать imagesui.png файл который находится внутри контейнера listviewstyle_panel (не снаружи, т.к. там есть точно такой же). Т.е. жмем на imagesui.png > MultiresBitmap > выбираем нужный, и слева в инспекторе объектов жмем свойство Bitmap с помощью которого этот файл можно сохранить,(а потом и загрузить) на диск.
  12. Like
    Равиль Зарипов (ZuBy) получил реакцию от ENERGY в Горизонтальный TListView с картинками   
    1) Динамическая подгрузка описана тут http://blog.rzaripov.kz/2016/12/3-modernlistview.html
    2) так критические баги не фиксят, куда им до рюшечек
    3) вроде поправил в последней версии (на гите)
  13. Like
    Равиль Зарипов (ZuBy) отреагировална sinuke в TImageViewer как изменять размер картинки с Zoom Gesture   
    вот тут я делал демку по видео (источник там есть)
    https://github.com/sinuke/Image-Zoom-Demo
  14. Like
    Равиль Зарипов (ZuBy) отреагировална ENERGY в JОшибка при компиляции приложения ios   
    Ну так сделайте что написано. Укажите Bundle ID в Version Info, ту строку что просит указать среда.
  15. Like
    Равиль Зарипов (ZuBy) отреагировална ENERGY в Фотография стандартной камерой смартфона   
    Сделал решение для описанного выше варианта.
    Добавил его на Stackoverflow
     
    unit Misc.Android; interface uses SysUtils, Androidapi.JNI.GraphicsContentViewText, Androidapi.Helpers, Androidapi.JNI.JavaTypes, Androidapi.JNIBridge, Androidapi.JNI.Provider; type TGallery = class public class function GetLastImageID: integer; class function GetNextImageIDFromID(aFromID: integer; out aImagePath: string): integer; class function DeleteImageByID(aID: integer): boolean; end; implementation const _ID = '_id'; // TJBaseColumns.JavaClass._ID // uri in Androidapi.JNI.Provider { TGallery } {If you're using action TakePhotoFromCameraAction remember to set NeedSaveToAlbum to true. It does not work, because of Android problems, but it can work in future.} class function TGallery.GetLastImageID: integer; var vContent: JContentResolver; vValues: TJavaObjectArray<JString>; vOrderBy: JString; vCursor: JCursor; begin Result := -1; vContent := TAndroidHelper.Activity.getContentResolver; vValues := TJavaObjectArray<JString>.Create(1); vValues[0] := TJBaseColumns.JavaClass._ID; vOrderBy := StringToJString(_ID + ' DESC'); vCursor := vContent.query(TJImages_Media.JavaClass.EXTERNAL_CONTENT_URI, vValues, nil, nil, vOrderBy); try if vCursor.moveToFirst then Result := vCursor.getInt( vCursor.getColumnIndex(TJBaseColumns.JavaClass._ID) ); finally vCursor.close; end end; // Result is next Image ID and its aImagePath - is path to jpg image class function TGallery.GetNextImageIDFromID(aFromID: integer; out aImagePath: string): integer; var vContent: JContentResolver; vValues: TJavaObjectArray<JString>; vFilter: JString; vOrderBy: JString; vArgs : TJavaObjectArray<JString>; vCursor: JCursor; begin Result := -1; aImagePath := ''; vContent := TAndroidHelper.Activity.getContentResolver; vValues := TJavaObjectArray<JString>.Create(2); vValues[0] := TJMediaStore_MediaColumns.JavaClass.DATA; vValues[1] := TJBaseColumns.JavaClass._ID; // vValues[1] := TJMediaStore_MediaColumns.JavaClass.SIZE; // vValues[1] := TJImages_ImageColumns.JavaClass.DATE_TAKEN; vOrderBy := StringToJString(_ID + ' DESC'); vFilter := StringToJString(_ID + '>?'); vArgs := TJavaObjectArray<JString>.Create(1); vArgs[0] := StringToJString(aFromID.ToString); vCursor := vContent.query(TJImages_Media.JavaClass.EXTERNAL_CONTENT_URI, vValues, vFilter, vArgs, vOrderBy); try if (vCursor.getCount > 0) and vCursor.moveToFirst then begin Result := vCursor.getInt( vCursor.getColumnIndex(TJBaseColumns.JavaClass._ID) ); // vCursor.getLong(imageCursor.getColumnIndex(MediaStore.Images.Media.DATE_TAKEN)); //vSize := wCursor.getLong(wCursor.getColumnIndex(TJMediaStore_MediaColumns.JavaClass.SIZE)); aImagePath := JStringToString(vCursor.getString( vCursor.getColumnIndex(TJMediaStore_MediaColumns.JavaClass.DATA) )); end; finally vCursor.close; end; end; class function TGallery.DeleteImageByID(aID: integer): boolean; var vContent: JContentResolver; begin vContent := TAndroidHelper.Activity.getContentResolver; Result := vContent.delete(TJImages_Media.JavaClass.EXTERNAL_CONTENT_URI, StringToJString(_ID + '=' + aID.ToString), nil) = 1; end; end.
  16. Like
    Равиль Зарипов (ZuBy) получил реакцию от krapotkin в Перехват СМС сообщения от определенного адресата   
    так сделано в одной из моих программ, автоматическое считывание кода подтверждения оплаты, подредактируй только его и не забудь про разрешения
     
     
  17. Like
    Равиль Зарипов (ZuBy) отреагировална Andrey Efimov в [Статья] Используем Android Studio для поиска утечек памяти   
    Ссылка: http://delphifmandroid.blogspot.ru/2017/03/android-studio.html
    Автор: Ефимов Андрей
    Описание:
     
  18. Like
    Равиль Зарипов (ZuBy) отреагировална enatechno в Расположение компонентов Panel ImageViewer   
    1). Если в design-time: Задайте для ImageViewer: Align - None, Anchors - [akTop,akRight] и разместите ImageViewer на нужном месте (с необходимыми отступами).

     
    2). Если не ошибаюсь, то нет свойства позволяющего сделать объект постоянно поверх все компонентов, поэтому рекомендую при добавлении компонентов перекрывающих ImageViewer делать ImageViewer.BringToFront;
     
    3). Пропорционально относительно чего? Если пропорционально размера формы, то самостоятельно пересчитывайте размер ImageViewer в TForm.OnResize
     
    4). Если речь идет о TPanel, то это стилевой объект и его цвет меняется через стиль. Более простой вариант -  в качестве "панелек" использовать "не стилевой" TRecangle. Цвет TRectanle можете задать и в design-time и runtime (Rectangle1.Fill.Color := TAlphaColorRec.White)

    И кстати, почему ImageViewer? Может TImage будет достаточно?
  19. Like
    Равиль Зарипов (ZuBy) получил реакцию от Kitty в DeviceInfo - модуль для получения информации о девайсе   
    это нормальное поведение, просто это разрешение включено по дефалту, поэтому я нигде не указываю о его нужде.
    Уже не первый раз такой вопрос, видимо нужно указывать
  20. Like
    Равиль Зарипов (ZuBy) отреагировална Евгений Корепов в тунель SSH MySql   
    У большинства хостингов, светить портом sql сервера наружу считается ересью, что в принципе правильно. Поэтому обычная практика - ssh туннель до хостера и внутри него соединение с sql. Вот хороший пример настройки на мастерхосте https://masterhost.ru/support/hosting/work-with-data/program/#MySQL-tunnel
    Илья, если вы хотите из приложения коннектится по ssh и подключаться к sql, то лучше этого не делать - вам придется распространять вместе с приложением ключи (или логин с паролем) ssh,и предрекаю что через неделю ваш хостинг будет рассылать спам и майнить криптовалюту для злых хакеров.
  21. Like
    Равиль Зарипов (ZuBy) отреагировална HyperZen в Запрет потери активности приложения   
    Запретить отключение экрана приложения в Андроид:
    в файл проекта (Project - View Source) добавить строки:
    // в uses {$IFDEF ANDROID} Androidapi.Helpers, Androidapi.JNI.App, Androidapi.JNI.GraphicsContentViewText, {$ENDIF} {$R *.res} // и далее - перед Application.Initialize begin {$IFDEF ANDROID} TAndroidHelper.Activity.getWindow.addFlags(TJWindowManager_LayoutParams.JavaClass.FLAG_KEEP_SCREEN_ON); {$ENDIF} Application.Initialize; ...  
  22. Like
    Равиль Зарипов (ZuBy) отреагировална Евгений Корепов в DeviceInfo - модуль для получения информации о девайсе   
    Рекомендую при первом запуске генерировать GUID (System.SysUtils.CreateGUID), записывать в файл и использовать его. Привязка к железу это хорошо, но требует дополнительных разрешений, не понятных пользователю. И китайцы рано или поздно выпустят что то такое, где ваш код работать не будет.
  23. Like
    Равиль Зарипов (ZuBy) получил реакцию от Brovin Yaroslav в What's New in C++Builder 10.2   
    это бот постит, от имени Ярослава.
    Все обсуждения были по этой новости вчера в чате
  24. Like
    Равиль Зарипов (ZuBy) отреагировална enatechno в Get запросы в iOS   
    Result у Вас какого типа? Попробуйте без него:
     
    xml_result:=HTTPGet('https://geocode-maps.yandex.ru/1.x/?geocode='+ 'Кунгур'+ ',+' +street+ '+улица,+дом+'+ house);  
  25. Like
    Равиль Зарипов (ZuBy) получил реакцию от Alex7wrt в Область, занимаемая TBitmap   
    У TBitmap есть метод BoundsF, достаточно посмотреть его реализацию
    property BoundsF: TRectF read GetBoundsF; ... function TBitmap.GetBoundsF: TRectF; begin Result := TRectF.Create(0, 0, Width, Height); end;  
×
×
  • Создать...