-
Постов
842 -
Зарегистрирован
-
Победитель дней
123
Весь контент Andrey Efimov
-
Я вижу только одно решение, создать свой собственный "TOpenDialog". Т.е. будет открываться либо вкладка со списком директорий и файлов, либо всплывающая форма с тем же списком. Сложного в реализации ни чего нет, т.к. в Delphi уже всё готово (System.IOUtils).
-
При запуске приложения через Delphi, старая версия удаляется и устанавливается новая. Чтобы избежать удаления необходимых файлов на время отладки, поместите их в другую папку, например, создайте папку для вашего приложения в корне карты памяти. Однако я не рекомендую использовать такую схему хранения данных в релиз версиях, т.к. если пользователь удалит ваше приложение, то эти файлы останутся на месте, т.е. будет мусор на карте памяти.
-
Ярослав, Объясняю: Например, на форме лежит Layout1(Align: alTop; Height: 160), на нем лежит Timage(Align: alCenter; Height: 150; Width: 310). Т.е. размеры Timage фиксированные. Картинки, которые будут подгружаться в этот Timage не имеют каких-то стандартов по размерам, т.е. размер может быть «Height: 150; Width: 310» или «Height: 100; Width: 400». Чтобы они нормально выглядели и не мелко и не размазано, мне необходимо изменять их размеры (автоматически или через код приложения) пропорционально, подгоняя картинку под размер Timage. Единственный вариант, который работает и проверен мной, описан выше. Это перед компиляцией приложения поместить любую картинку в «MultiResBitmap». Тогда любые картинки, подгружаемые в Timage (во время использования приложения), сами, автоматически, пропорционально изменяют свои размеры. Использовать свойство «WrapMode: iwStretch» не вариант, т.к. большие картинки становятся сплющенными и т.п. В общем, пока, буду использовать «левую» картинку, чтобы все остальные автоматически подстраивались.
-
Здравствуйте, Сергей! Я понимаю, что если изображение по размерам меньше TImage, то оно идёт по центру и не масштабируется до границ TImage. Но если изображение больше размеров TImage, то оно уменьшается до границ TImage с сохранением пропорций. Мне же нужно чтобы изображение всегда подгонялось под размеры TImage при этом сохраняя пропорции. Если вставлять картинку с оригинальными размерами (Например: Width: 310; Height: 150), то выглядит она мелко и не соответствует размеру TImage. Вот попытался сейчас изменить размеры так: Image1.Bitmap.Width := Trunc(Image1.Width * 1.34); Image1.Bitmap.Height := Trunc(Image1.Height * 1.34); Image1.Bitmap.LoadFromStream(InStream); Но не сработало... Может быть, у вас есть ссылки на материал, почитать? Как вообще правильно такое реализовать (вы подскажите, в какую сторону копать, а я уже попробую сам разобраться)?
-
Позволю себе обновить данную тему. 05.03.14 Стали известны планы по развитию продуктов компании Embarcadero на 2014 год. Один из пунктов «Advertising and Payments components for Android and iOS», т.е. в RAD Studio появится возможность работы с рекламой и платежами. Оригинал: RAD Studio, Delphi and C++Builder Roadmap - March 2014
-
Баг замечен на Android. Предположим у нас есть приложение, в котором по нажатию на кнопку подгружается картинка в «TImage» (Width: 310; Height: 150). Картинки могут быть как меньшего размера (например, Width: 215; Height: 150), так и большего (Width: 440; Height: 150). Высота указана одинаковой для примера, чтобы было проще понять, как выглядит баг. Я сделал три картинки и поместил их в ресурсы приложения. Для обозначения границ «TImage», поместил «TImage» в «TRectangle». Подгружаю из ресурсов: var InStream: TResourceStream; i: integer; procedure TForm1.Button1Click(Sender: TObject); begin if i=3 then i := 1 else i := i+1; // Load image InStream := TResourceStream.Create(HInstance, 'Test_' + IntToStr(i), RT_RCDATA); try Image1.Bitmap.LoadFromStream(InStream); finally InStream.Free; end; end; Если мы ни чего не добавляли вручную в «MultiResBitmap», то все подгружаемые в «TImage» картинки не подстраиваются под размеры «TImage», т.е. остаются в оригинальных размерах. А теперь мы добавим любую картинку в «MultiResBitmap» с настройкам по умолчанию: Например, картинку Width: 380; Height: 120. И в таком виде компилируем приложение, вот что мы получим: Как видите, теперь все картинки растягиваются по бОльшему размеру одной из сторон самой картинки, т.е. подгоняются автоматически под размеры TImage(Width: 310; Height: 150) сохраняя при этом пропорции сторон. Вопрос: Как исправить ситуацию своими силами, т.е. сделать как при добавлении любой картинки в «MultiResBitmap», но без ручного добавления картинки? Чтобы все подгружаемые картинки сохраняли пропорции и при этом растягивались также по размерам «TImage». p.s. По поводу прозрачности тема на форуме тоже есть. Тестовое приложение прикладываю.TImageBitmap.zip
-
Обязательно, пока могу только посоветовать посмотреть в сторону "Создание службы(Service)". Пример тут: http://blog.blong.com/2013/11/delphi-and-android-services.html Продолжение: http://blog.blong.com/2013/11/delphi-and-android-services-part-2.html
-
Всегда ищите ответ на ваш вопрос в поиске. Тема: Как массово задать размер шрифта у всех контролов? Как изменить размер шрифта: CornerButton1.Font.Size := 4; CornerButton1.StyledSettings := CornerButton1.StyledSettings - [TStyledSetting.ssSize];
- 3 ответа
-
- Size
- TextSettings
-
(и ещё 1 )
C тегом:
-
Если приложение одно, то можно запускать его как сервис и уже делать всё, что захочется, в любое время. Вообще тема интересная, надо будет рассмотреть её подробнее.
-
Не вижу смысла делать два приложения. Вот, например, моя версия приложения для чтения RSS одного известного в сообществе сайта - http://delphifmandroid.blogspot.com/2014/01/rss-delphifeedsru-just-for-fun.html. Естественно написано для примера.
-
Для запуска других приложений можно воспользоваться Intent’ами (намерения) - developer.android.com/reference/android/content/Intent.html По второму пункту ни чего пока не могу сказать, т.к. сам ещё не сталкивался с планировщиком.
-
Единственный нормальный и рекомендуемый (как минимум для Android) вариант - это готовить картинки сразу с прозрачным фоном, в том же фотошопе. Первый вариант не работает, даже если мы знаем точный код цвета. Только что пробовал в вашем проекте.
-
«$(ModuleName)» - это название приложения, которое можно поменять в Project Manager’е. Android: За имя ярлыка приложения отвечает строчка «Label», удалите из неё «$(ModuleName)» и впишите своё название. iOS: У меня нет девайсов от компании Apple, поэтому следующая информация на уровне догадок. Я предполагаю, что за отображаемое имя приложения отвечает строчка «CFBundleDisplayName», попробуйте изменить её. Если не поможет, то проверьте остальные строчки, где упоминается «$(ModuleName)».
-
По поводу размера: Указанный размер (14Мб) явно не стандартен (5Мб ), обычно приложение с контроллами весит не больше 5-7 Мб (зависит от количества контроллов и кода). В вашем случае, похоже, что в ресурсах вы используете большие картинки/видео или большую базу. Вроде как релиз версия приложения должна быть меньше по размеру. Рядом есть тема "Можно ли уменьшить размер приложения для андроида?" Совет по поводу скорости: Все ресурсоёмкие операции старайтесь вынести в отдельный поток.
-
Вот спасибо. Знал как получить координаты нажатия, но не мог понять как найти картинку в ListBoxItem'е. Оказывается нужно было через стиль искать... p.s. У меня lvl-up по изучению firemonkey
- 3 ответа
-
- ItemData
- AbsoluteToLocal
-
(и ещё 1 )
C тегом:
-
TListBoxItem Как определить положение картинки в TListBoxItem?
Andrey Efimov опубликовал вопрос в Стилизация
Ярослав, прочитал ваш совет http://fire-monkey.ru/topic/95-kak-pravilno-zamenit-image-na-webbrowser/?p=297 Интересен вот этот пункт: А точнее, как определить положение картинки в ListBoxItem, если картинка у нас находится тут "TListBoxItem.ItemData.Bitmap"?- 3 ответа
-
- ItemData
- AbsoluteToLocal
-
(и ещё 1 )
C тегом:
-
Точно конечно не могу сказать, но если мы не можем обратиться к запакованному файлу (в ресурсы приложение) просто указав путь до файла, то напрашивается вывод, что все запакованные таким образом файлы (картинки, звуки) не распаковываются (автоматически). Судя по справке TMediaPlayer, я не вижу варианта проигрывания музыки прямо из ресурсов, т.е. перед проигрыванием придётся извлечь запись и вставить путь в TMediaPlayer.FileName.
- 3 ответа
-
- Deployment Manager
- TResourceStream
- (и ещё 1 )