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

Ingalime

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

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

  • Посещение

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

    5

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

  1. Like
    Ingalime отреагировална gonzales в При публикации приложения на AppleStore вылезает ошибка - В каталог объектов xcode необходимо добавить значок приложения с разрешением 1024*1024 пикселей   
    По итогу все срослось.
    Для сборки проекта в 10.4.1. необходимо удалить из папки с проектом папки iOSDevice64, LaunchScreen.TemplateiOS, и файлы Entitlement.TemplateiOS.xml и info.plist.TemplateiOS.xml. После чего пересобрать проект, создадутся новые файлы Entitlement.TemplateiOS.xml и info.plist.TemplateiOS.xml в которых будут необходимые директивы. У меня после этого пропали проблемы с размером экрана и AppStoreConnect без проблем съел мой ipa файл, при этом показал, что есть включенные материалы - значок приложения.
    А ТЕПЕРЬ ЛОЖЕЧКА КАКККИ)))
    При сборке приложения в 10.4.1 не применяется Заставка, включается стандартная, что бы я не делал, даже в новом пустом проекте, выставляю свою заставку, запускаю, а заставка все равно стандартная, также не работает цвет экрана заставки, корректно отрабатывают только иконки. Я порылся во всех местах, где это могло быть, вроде все правильно, в Deployment файлы правильные, на маке в папке LaunchScreenImage.imageset файлы правильные, а вот что должно быть дальше - не знаю(((
  2. Like
    Ingalime отреагировална Bob32 в При публикации приложения на AppleStore вылезает ошибка - В каталог объектов xcode необходимо добавить значок приложения с разрешением 1024*1024 пикселей   
    Тоже ее получал. Потом убрал поддержку айпада и так выложил. Она уйдёт .
  3. Like
    Ingalime отреагировална Alex7wrt в 9-Patch PNG FMX Generator   
    Сделал небольшую программу-генератор 9-patch заставок. 
    Достаточно выбрать цвет фона, логотип и его видимый размер, и программа сгенерирует 9-patch для всех необходимых  в FMX размеров.

    Примеры
    Рисунок:

    Полученные 9-Patch png:

    Рисунок:

    Полученные 9-Patch png:

     
    Исходники: 9Patch Generator.zip
     
  4. Thanks
    Ingalime отреагировална OnePeople в Посоветуйте компонет   
    Если платформа Android:
    1. listbox тормознутый вариант, но да ооочень простой и удобный
    2. Alcinoe - набор примитивов которым можно программно сделать любой список, скорость отрисовки бомбическая, косяк в том что создаются компоненты долговато, нужна грамотная реализация подрузки данных и создания компонентов, но по мне это лучший вариант для горизонтального списка.
    3. ListView если список вертикальный то самое оно для вас, единственное с выравниванием и динамической высотой поработать нужно будет, но код есть в сети.
     
  5. Thanks
    Ingalime отреагировална slav_z в Посоветуйте компонет   
    Вариантов много, но самый простой - использовать TListBox.
    FramesList.zip
  6. Thanks
    Ingalime отреагировална Tumaso в Посоветуйте компонет   
    @Ingalime
    1. если высота фрейма зависит от данных, то да, вычисляйте высоту
    2. по расположению создаваемых фреймов друго под другом - самый простой вариант использовать свойство Align у фреймов (устанавить в Top), для этого размещайте создаваемые фреймы на общем контейнере для них (например на VertScrollBox)
    условно говоря примерно так:
    procedure TForm1.AddFrame(const AParent: TFmxObject; const AData: TFrameData); var LFrame: TMyFrame; begin LFrame := TMyFrame.Create(Self); // или nil, если в дальнейшем будете сами уничтожать фреймы LFrame.Parent := AParent; LFrame.Align := TAlignLayout.Top; LFrame.Data := AData; // этим кодом предполагается заполнение фрейма данными, при котором фрейм заполнит выводимые компоненты и настроит свою высоту end; procedure TForm1.FillFrames; var I: Integer; begin for I := 0 to Data.Count - 1 do AddFrame(vsbFrames, Data[I]); // vsbFrames - TVertScrollBox для размещения фреймов, Data - список данных для отображения, каждый элемент - данные для отдельного фрейма end;  
  7. Like
    Ingalime отреагировална Maximus в Ошибка E2512 Type parameter 'TArgument' must be a non-nullable value type   
    В 10.4.1 починили. Главное чтобы следующим патчем не разломали.
  8. Like
    Ingalime отреагировална Slym в Сим карта   
    обычный TCP...
    Sock:=TSocket.Create(TSocketType.TCP, TEncoding.GetEncoding(1251));
    Sock.Connect('',FAddress,'',FPort);
    Sock.Send('cmd')
    result:=Sock.ReceiveString();
     
     
  9. Like
    Ingalime отреагировална Sergey Tartyzhev в TMemo. Не отображается курсор при изменении размера   
    BeginUpdate и EndUpdate приносят счастье
  10. Like
    Ingalime отреагировална ophion в Как получить IMEI?   
    Дам вам подсказку из Android доков...
     
     
    public String getDeviceId ()   Added in API level 1 Returns the unique device ID, for example, the IMEI for GSM and the MEID or ESN for CDMA phones. Return null if device ID is not available.
    Requires Permission: READ_PHONE_STATE

    public String getDeviceId (int slotId)   Added in API level 23 Returns the unique device ID of a subscription, for example, the IMEI for GSM and the MEID for CDMA phones. Return null if device ID is not available.
    Requires Permission: READ_PHONE_STATE
    Parameters slotId of which deviceID is returned  
  11. Like
    Ingalime отреагировална 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;
  12. Like
    Ingalime отреагировална xenon54 в Как получить IMEI?   
    IOS не позволяет получить IMEI устройства.
  13. Like
    Ingalime отреагировална Олег Киреев в TMemo. Не отображается курсор при изменении размера   
    Можно и на кнопку:
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      TabControl1.Width := TabControl1.Width+200;
      Memo1.WordWrap := false;
      Memo1.WordWrap := true;
    end;
  14. Like
    Ingalime получил реакцию от Barbanel в При публикации приложения на AppleStore вылезает ошибка - В каталог объектов xcode необходимо добавить значок приложения с разрешением 1024*1024 пикселей   
    Надо по той ссылке, что я выложила написать гневный комментарий Марко Кенту.
    А вам спасибо!!!
  15. Like
    Ingalime отреагировална Олег Киреев в TMemo. Не отображается курсор при изменении размера   
    У меня помогло так:
    procedure TForm1.FormResize(Sender: TObject);
    begin
     Memo1.WordWrap := false;
      Memo1.WordWrap := true;
    end;
    С Уважением Олег.
  16. Thanks
    Ingalime отреагировална IgorK11 в При публикации приложения на AppleStore вылезает ошибка - В каталог объектов xcode необходимо добавить значок приложения с разрешением 1024*1024 пикселей   
    набросал подробную инструкцию как делал на 10.3 собрав инфу с комментариев:
    !!! Иконки в AppIcon.appiconset должны быть без прозрачности и альфа-канала, иначе получите ошибку ITMS-90717:Invalid App Store Icon.
    1. распаковываем iOS1024fix.zip
    2. заменяем иконки в asset_catalog\Assets.xcassets\AppIcon.appiconset\ и asset_catalog\Assets.xcassets\LaunchScreenImage.imageset\
    3. если надо меняем цвет фона в asset_catalog\Assets.xcassets\LaunchScreenBackgroundColor.colorset\Contents.json
    4. копируем папку asset_catalog на мак
    5. в терминале перейти в неё, если скопировали на рабочий стол команда:
    cd desktop/asset_catalog 6. выполняем команду:
    actool --output-format human-readable-text --notices --warnings --app-icon AppIcon --output-partial-info-plist compilation_results/partial_Info.plist --target-device iphone --target-device ipad --minimum-deployment-target 11.0 --platform iphoneos --product-type com.apple.product-type.application --compile "compilation_results" "Assets.xcassets" в asset_catalog\compilation_results появятся 4 файла
    7. копируем папку (или эти 4 файла) обратно c мака
    8. в delphi компилируем ipa (Release / iOS Device 64-bit / Application Store)
    9. Для удобства создадим папку "ios1024" в папке проекта
    10. копируем файл iOSDevice64\Release\<ИмяПроекта>.Info.plist в папку "ios1024" убрав из имени "<ИмяПроекта>.", имя файла должно быть "Info.plist", регистр важен!
    11. копируем из asset_catalog\compilation_results 4 файла в папку "ios1024"
    12. копируем папку LaunchScreen.storyboardc в "ios1024" (именно папку а не её содержимое)
    13. Редактируем Info.plist
    13.1. Меняем:
    <key>CFBundleIconFiles</key> <array> <string>ios_app_ico57</string> <string>ios_app_ico87</string> <string>ios_app_ico114</string> <string>ios_app_ico1024</string> <string>ios_app_ico60</string> <string>ios_app_ico120</string> <string>ios_app_ico180</string> <string>ios_spot_29</string> <string>ios_spot_40</string> <string>ios_spot_58</string> <string>ios_spot_80</string> <string>ios_spot_120</string> </array> на
    <key>CFBundleIcons</key> <dict> <key>CFBundlePrimaryIcon</key> <dict> <key>CFBundleIconFiles</key> <array> <string>AppIcon60x60</string> </array> <key>CFBundleIconName</key> <string>AppIcon</string> </dict> </dict> <key>CFBundleIcons~ipad</key> <dict> <key>CFBundlePrimaryIcon</key> <dict> <key>CFBundleIconFiles</key> <array> <string>AppIcon60x60</string> <string>AppIcon76x76</string> </array> <key>CFBundleIconName</key> <string>AppIcon</string> </dict> </dict> 13.2. Удаляем в двух местах строки:
    <key>CFBundleResourceSpecification</key> <string>ResourceRules.plist</string> 13.3. После строк:
    <key>DTPlatformName</key> <string>iphoneos</string> добавляем:
    <key>DTPlatformVersion</key> <string>13.5</string> 14. Заходим в delphi->Project->Deploment
    15. Проверяем что бы выбран "iOS Device 64-bit"
    16. Снимаем галочки с: (имена файлов будут ваши, ориентируйтесь по Option->Application->Icons)
    17. в Deploment добавляем все файлы папки "ios1024"
    18. изменяем Remote Path 5-и строкам:
    19. компилируем IPA и отправляем через Transporter на маке
    !!! При изменении версии билда в проекте не забываем изменить его в CFBundleVersion "ios1024"\Info.plist
     
    iOS1024fix.zip
  17. Like
  18. Like
    Ingalime отреагировална krapotkin в Гибкие аналоги TListBox и TListView   
    вот мой вариант со свистелками
  19. Like
    Ingalime отреагировална Tumaso в Гибкие аналоги TListBox и TListView   
    Почему вы решили, что стандартный TListView не подойдет? Прекрасно подойдет.
    Посмотрите демо, идущее с делфи, в каталоге C:\Users\Public\Documents\Embarcadero\Studio\версия\Samples\Object Pascal\Multi-Device Samples\User Interface\ListView\VariableHeightItems. Для вашей задачи - идеальный старт
  20. Like
    Ingalime отреагировална slav_z в Symbol 'Release' is deprecated   
    Release уже давно объявлен как deprecated.
    Release позволяет выполнить отложенное удаления объекта (удалить, но не прям сейчас). Если это вам действительно нужно (иногда позволяет избежать некоторых ошибок), то просто повторите его код. Но пока его окончательно не убрали, лучше пользоваться существующим методом. Ругается и ругается - бог с ним. Если надо просто удалить объект, то Free, если с обнулением ссылки то FreeAndNil или Free + присвоить nil в коде (как у вас).

  21. Thanks
    Ingalime отреагировална Tumaso в Посоветуйте компонет   
    Другой вариант - использование TListView
  22. Thanks
    Ingalime отреагировална Tumaso в Посоветуйте компонет   
    Я бы сделал шаблонный фрейм, в котором бы выводил текст с помощью TText (или TLabel или другой), если нужно выводить картинки - TImage и т.д.
    Далее для каждой карточки создаете свой экземпляр фрейма и в качестве параметров передаете значения отображаемых полей.
    Легко в реализации, гибко, работает на всех платформах, включая Linux через FmxLinux
     
  23. Thanks
    Ingalime отреагировална krapotkin в Постоянная подпись маркера   
    примерно так
    r := rectf( bmp.width *0.5, 0, bmp.width, bmp.height*0.5)  поиграть с коэффициентами
  24. Thanks
    Ingalime отреагировална krapotkin в Постоянная подпись маркера   
    я сделал больше чем пять на всякий случай
    а карту делать не стал - слишком много геморроя с ключами всякими
    думаю несложно добавить в код
    descriptor.Icon := bmp;
    bmp.7z
  25. Like
    Ingalime отреагировална krapotkin в Постоянная подпись маркера   
    ну и не вопрос
    есть модель данных. если она меняется, изменится и отображение.
    метод, создающий маркер, будет включать в себя и создание битмапа для него
    я не помню, можно ли заменять битмап на маркере, скорее всего - да, но если даже нет - удалили старый, создали новый, никто ничего и не заметит даже
×
×
  • Создать...