![](https://fire-monkey.ru/uploads/set_resources_12/84c1e40ea0e759e3f1505eb1788ddf3c_pattern.png)
Kitty
-
Постов
792 -
Зарегистрирован
-
Посещение
-
Победитель дней
16
Активность репутации
-
Kitty отреагировална RoschinSpb в Как правильно использовать MultiresBitmap в TImageList?
image1.Bitmap.Assign(imagelist1.Bitmap(TSizeF.Create(258, 344),0));
Imagelist1 ни чего не знает о масштабе. Просто согласно указанного размера выбирается наиболее подходящая картинка и растягивается таким образом, чтобы вписаться в размеры. Т.е. в данном случае будет выбираться картинка с размерами наиболее близкими к 258, 344. Тут надо самостоятельно определять масштаб и умножать на него размеры.
Scale := Canvas.Scale; Image1.Bitmap.Assign(imagelist1.Bitmap(TSizeF.Create(258 * Scale, 344 * Scale),0)); Если хотите лишить себя удовольствия разбираться с масштабами, то воспользуйтесь компонентом TGlyph, который сам рисует учитывая свои размеры и масштаб.
См. также маленький пример.TestScaledImageList.zip
-
Kitty отреагировална RoschinSpb в Как правильно использовать MultiresBitmap в TImageList?
image1.MultiResBitmap.Count = 2 Да, в памяти обе картинки. Чтобы добавить ложку меда, они хранятся в png-формате до первого обращение непосредственно к TBitmap. По этой причине если к примеру нужно узнать ширину картинки, то лучше обращаться к элементу коллекции
W := Image1.MultiResBitmap[I].Width; // остается в запакованном виде чем к битмапу
W := Image1.MultiResBitmap[I].Bitmap.Width; // распаковываем картинку, хотя она не нужна. А вообще говоря по этой причине лучше не использовать TImage для хранения изображений в fmx-файлах.
Как я писал в статье что если мы захотим в Run-Time динамически формировать большое количество контролов с картинками (например, пункты TListBox), то мы будем иметь множество копий одних и тех же графических данных. При использовании TImageList каждый пункт будет содержать только номер изображаемой картинки.
Нет, 1.3 не бывает. У моего Nexus 7: Scale = 1.33125 Картинки в основном сжимаются. Только если картинка чуть-чуть (1/5) меньше чем надо, то она растягивается.
Т.е. если есть картинки в масштабе 1 и 2 и требуемый масштаб 1.2, то будет использована картинка в масштабе 1. Если требуемый масштаб 1.21 то будет использована картинка в масштабе 2.
-
Kitty получил реакцию от Gingercat в Впечатления от Update1 в C++ Builder XE8
Так исправить С++ мне кажется можно простым путем. Надо чтобы Embarcadero написало реально ОДНО приложение на С++ Builder и чтобы строк в нем было не менее 500. Почему 500, потому, что например С++ Builder XE7 просто начинал вываливаться после такого кол-ва строк.
Нету, как я понимаю, сейчас в природе приложения для Андроида написанного на С++ Builder. Вот отсюда и проблемы. Если бы Embarcadero написало реально ОДНО приложение, увидев проблемы которые есть на поверхности, то это было реанимировало С++ среду.
-
Kitty отреагировална Brovin Yaroslav в TServerSocket TClientSocket в FireMonkey
Ребята, форум существует для ответов на любые вопросы. Если вы считаете, что автор вопроса поленился и не захотел попробовать найти информацию, НЕ пишите и не отвечайте ему, если вам не хочется. Чем разводить бессмысленные словесные перепалки. Эмоции здесь совершенно ни к чем.
Спасибо за понимание
-
Kitty получил реакцию от Gingercat в Впечатления от Update1 в C++ Builder XE8
Update 1 ничем не помог пациенту под названием С++ Builder.
Проект полностью рабочий в С++ Builder XE7 полностью становиться не рабочим в XE8.
1. Пропали надписи на кнопках. Однако в инспекторе объектов у этих двух кнопках надписи есть. На дополнительной форме тоже пропали все надписи на кнопках. Баг.
2. Запускаем проект. Пропало содержимое ListView1! Поворачиваю устройство на 90 градусов и данные в ListView1 появляются. В С++ Builder XE7 проблем нет. Баг ХЕ8.
3. Идем дальше. Перезапускаем проект. После запуска начинаю поворачивать устройство назад вперед на 90 градусов. После каждого поворота форма постепенно вытягивается и в конечном итоге вылазит за экран. В С++ Builder XE7 форма просто при поворотах логично упирается в края экрана, а не медленно нарастает. Баг ХЕ8. Не работают привязки.
4. Перезапускаем проект. Поворачиваем устройство чтобы появились данные в ListView1 (баг из пункта 2). Нажимаем на ListView1. Появляется форма. Пропал тулбар с кнопками на этой форме. Чтобы его увидеть, надо снова крутануть устройство. Баг.
5. Идем в IDE. Щелкаем в инспекторе объектов двойным щелчком на названии события формы FormShow. Студия начинает кричать, что событие не определено, хотя в коде событие есть и нормально работает в предыдущей версии RAD XE7. IDE не видит своего события! Студия не видит половину своих событий в инспекторе объектов. Работать становиться просто не возможно. Баг IDE.
Пока кто нибудь из разработчик embarcadero не напишет самостоятельно проект хоты бы на строк 500 в С++ Builder XE8, то столкнувшись со всеми проблемами, возможно удаться embarcadero реанимировать С++ Builder.
Сейчас С++ Builder XE8 Up1 не является средой для разработки под Андроид.
-
Kitty получил реакцию от Rusland в Впечатления от Update1 в C++ Builder XE8
Обидно другое. Я ничего не имею против новых багов в новой версии. Не понятно, почему все что работало на предыдйщей версии просто умирает в новой версии.
Тогда начинаешь надеяться на апдейты как на манну небесную, а на выходе кукиш с маслом...
-
Kitty отреагировална Alex7wrt в Определение количества ядер процессора
Нашел ответ - TThread.ProcessorCount.
-
Kitty отреагировална Brovin Yaroslav в Добавить вид в Multi-Device Designer
Добрый день,
Посмотрите эту статью: FireUI Multi-Device Designer and working with Views
-
-
Kitty отреагировална Gingercat в Впечатления от Update1 в C++ Builder XE8
По счастью или нет, также пользуюсь плюсами. Полностью подтверждаю - это что-то, с чем-то. Свои баги перечислять не буду - подолбавшись плюнул, но вот беда с привязкой, а также с FormShow - идентична. А еще в 8-ке ругнулось на отсутствие Androidapi.JNI.GraphicsContentViewText честно говоря, и разбираться не стал.
-
Kitty отреагировална master webs в [TListBox] Как отобразить итемы в виде панелей?
Добрый день со стилями все очень просто кликаете по нужному компоненту правой там есть два пунк которые вам нужны
edit custom stail (свой уникальный стиль)
edit default stail (дефолтный стиль для всех копий компонентов по умолчанию)
при клике перейдете в редактор а там все просто
-
Kitty отреагировална Brovin Yaroslav в [TListBox] Как отобразить итемы в виде панелей?
Добрый день,
Делаете стиль для итема, в виде панельки Устаналиваете в лист боксе размер итема: ItemHeight, ItemWidth. Для всех итемов устанавливаете ваш стиль Все готово. P.S. TGridLayout не лучший выбор при большом количестве итемов. Так как листбокс реально грузит стили только для видимой части итемов. И при прокрутке только меняет стили местами. А TGridLayout загрузит все элементы. В итоге проигрышь по памяти и по скорости.
-
Kitty отреагировална Brovin Yaroslav в TEdit.SelSelText (вставка текста)
У TEdit, есть специальный метод по замене выделенного текста новой строкой:
procedure Replace(const AStartPos: Integer; const ALength: Integer; const AStr: string); Поэтому в вашем случае замена будет выглядить так:
Edit.Replace(Edit.SelStart, Edit.SelLength, NewString); -
Kitty отреагировална Brovin Yaroslav в Обновление Update1 Delphi XE8
Вы не совсем правы, Subscription или Support& Maintenance появился еще во времена Borland, но в тот момент его приобретение было не всегда оправдано. Сейчас ситуация несколько изменилась. Приобретение Subscription дает возможность не только получать обновления на текущую версию, но и владельцам получать бесплатно новые версии, которые как вы правильно заметили выходят два раза в год. Годовой контракт на Subscription для Delphi Professional стоит $324, а апгрейд на новую версию Delphi Professional стоит $592 (два релиза – это $592*2). Более подробно про Subscription можно прочитать тут http://www.embarcadero.com/ru/products/rad-studio/update-subscription Если у вас есть вопросы по ценам и лицензиям, вы всегда можете обратиться в московское представительство Embarcadero email Russia.Info@embarcadero.com тел. +7 (495) 708 4393. Наш форум все-таки больше имеет техническую направленность и я не совсем компетентен в вопросах ценообразования и лицензий -
Kitty отреагировална xenon54 в Слишком частый OOM в редакторе StyleBook
Здравствуйте. Постоянно вылетает out of memory в редакторе стилей при нажатии на кнопку "Apply and Close". Открываю студию заново, захожу в редактор, делаю что-то, сохраняю, все норм. Захожу еще раз в редактор, что-то делаю и OOM. Раньше это возникало хотя бы после 3-5 заходов в редактор, а сейчас уже после каждого, думается мне, что через пару дней я вообще там ничего не смогу делать. С чем это может быть связано? Если день насыщен работой со стилями, то студию загружаю по 50 раз на дню, устал
-
Kitty отреагировална Brovin Yaroslav в Слишком частый OOM в редакторе StyleBook
Проблему воспроизвел, багу завел. Спасибо Xenon54
-
Kitty отреагировална master webs в Событие InputBox при клике ListBoxItem
разобрался может кому будет нужно procedure TForm1.shopcartItemClick(const Sender: TCustomListBox; const Item: TListBoxItem); var edit: TListBoxItem; begin if shopcart.Selected <> nil then begin edit:=shopcart.Selected; InputBox('Изменить количество', '', edit.StylesData['textstyle'].ToString, procedure(const AResult: TModalResult; const AValue: string) begin edit.StylesData['textstyle']:= AValue; end); end; -
Kitty отреагировална kami в TServerSocket TClientSocket в FireMonkey
Сам не люблю индейцев, но у TidTCPServerSocket до подключений можно достучаться так:
procedure THeaderFooterForm.btn2Click(Sender: TObject); var ConnList: TList<TidContext>; i: Integer; begin ConnList:=IdTCPServer1.Contexts.LockList; try for i := 0 to ConnList.Count-1 do ConnList[i].Connection.IOHandler.Write(bla-bla-bla); finally IdTCPServer1.Contexts.UnlockList; end; ... -
-
Kitty отреагировална Brovin Yaroslav в Как скрыть MultiView на определенном табе или форме?
Всем доброго дня,
Проблему пока решили только для iOS. Для этого нужно выставить ControlType=Platform для TMutliView и всех вложенных в него контролов.
-
Kitty отреагировална Brovin Yaroslav в Разработка настольной версии клиента для форума по FireMonkey с использованием FireMonkey
Добавил сортировку топиков в форуме и фильтрацию вопросов (решен, не решен).
Так же добавил полосу с подчиненными разделами:
-
Kitty получил реакцию от Andrey Efimov в Release Notes for XE8 Update 1
Release Notes for XE8 Update 1
http://docwiki.embarcadero.com/RADStudio/XE8/en/Release_Notes_for_XE8_Update_1
fix list:
http://edn.embarcadero.com/article/44470
-
Kitty отреагировална Равиль Зарипов (ZuBy) в PrimeMusic - Приложение для скачивания и прослушивания музыки с сайта www.primemusic.ru
Обновленная версия
поддержка Android 5.x обновленный дизайн
Скачать с офф. сайта
-
Kitty получил реакцию от Brovin Yaroslav в Release Notes for XE8 Update 1
Release Notes for XE8 Update 1
http://docwiki.embarcadero.com/RADStudio/XE8/en/Release_Notes_for_XE8_Update_1
fix list:
http://edn.embarcadero.com/article/44470
-
Kitty получил реакцию от AngryOwl в Release Notes for XE8 Update 1
Release Notes for XE8 Update 1
http://docwiki.embarcadero.com/RADStudio/XE8/en/Release_Notes_for_XE8_Update_1
fix list:
http://edn.embarcadero.com/article/44470