-
Постов
293 -
Зарегистрирован
-
Посещение
-
Победитель дней
21
Сообщения, опубликованные brunnengi
-
-
Вообще я тоже с этим столкнулся, правда во время анимации. И из-за "длинного хвоста" анимация срабатывала не всегда. Не сразу понял почему.
Анимация делалась для Андроид приложения. Нажимая на Recntangle он увеличивался в высоту с плавной анимацией, а при повторном нажатии возвращался в исходное состояние.
Так вот в коде на нажатие шло сравнение в духе
if Heigh = 80 then AnimationFloat('Heigh', 150); if Heigh = 150 then AnimationFloat('Heigh', 80);
Ну и как следствие оказалось что не всегда 80, это именно 80, бывает и 80,000139 и т.к. разные вариации были.
Пришлось код усложнить малость.
Так что о таких вещах надо помнить.
-
А как вывести картинку сразу в TImage? А то ошибки сыпет.
Т.е. чтобы приведенный код заработал я добавил в Uses пару модулей Winapi.Windows, Vcl.Graphics.
И как следствие при попытке присвоить результат функции MakeWindowScreenShot к TImage я получаю:
E2010 Incompatible types: 'FMX.Graphics.TBitmap' and 'Vcl.Graphics.TBitmap'
Ну или если пытаюсь сделать так: Form1.Image1.Bitmap.Assign(VCLBitmap);
То получаю: Cannot assign a TBitmap to a TBitmapOfItem.
-
Опираясь на тот факт что встроенный splashscreen всё таки даёт правильный результат, я делаю вывод что косяки сажаем мы.
Я конечно не отрицаю что вряд ли должна быть связь между splashscreen'ом и итоговым отображением формы, и что это требует лечения, но всё же мысль о том что дефолтный вариант пашет, говорит о нашем не правильном подходе.
Замечу также, в тот день когда я полез на радостях изучать сплэш скрины в XE7 вот этой ссылки http://docwiki.embarcadero.com/RADStudio/XE7/en/Using_9-patch_Images_in_Android (поправьте плз ссылку) там не было.
Ну а теперь по делу. Ниже ссылка на проект где всё пашет как надо и сплэш и отображение формы:
http://ovrload.ru/f/31207_xe7splashscreentest1.zip - это полная вместе с папкой Android, на всякий случай, если нижняя ссылка не попрет
http://ovrload.ru/f/31208_xe7splashscreentest1_cut.zip - без папки Android
Проект создан заново. Из твоего скопировал только raw картинки белые и tabcontrol.
Не могу сказать что четко осознаю что именно помогло, однако что я сделал:
- Создал с помощью утилиты 9.png файлы
- Не стал создавать в папке файл splash_image_def.xml
- Открыл в IDE раздел Deployment и снял галочку с splash_image_def.xml
- Переименовал все Remote Name у splash картинок в splash_image_def.9.png
Ну вроде всё.
-
Скинь плз чистый проект. Я имею ввиду что у меня проблем таких не возникало.
Но хочу именно твой пример, потому что ты сам знаешь что баги иногда тока под определенным "углом" вылезают.
А про Layout сказал, так как я замечаю что иногда без него, то VertScrollBox моргает, то элементы "просвечивают" где не надо.
Поэтому предложил ради теста.
-
Эмм, а разве я сделал что то не так?
Т.е. я читал конечно ту ссылку, еще тогда когда озадачивался этой проблемой, иначе я бы и не знал о ninepng.
Если я делал что то не так, то поясни плз.
-
Скинь плз проект, я проверю. У меня тоже 4.4 версия.
А пока не скинул попробуй сначала положить TLayout на главную форму, а в неё уже упихать всё остальное.
-
А помощь какого рода требуется? Т.е. что именно хочешь или что именно не получается, или вообще "как"?
-
Здравствуй.
Увы, но сделать так, как ты хочешь, нельзя.
-
Не знаю то или не то что ты хочешь, но вот:
Пример:
Строка JSON: {"type1":199, "type2":"val2","ar":["arval1","arval2"]}
первый это число, второе строка, третье массив
Код на кнопку:
procedure TForm1.Button1Click(Sender: TObject); var s : string; js : TJSONObject; begin s := '{"type1":199, "type2":"val2","ar":["arval1","arval2"]}'; JS := TJSONObject.ParseJSONValue(s) as TJSONObject; memo1.Lines.Add(JS.Pairs[0].JsonValue.ClassName); memo1.Lines.Add(JS.Pairs[1].JsonValue.ClassName); memo1.Lines.Add(JS.Pairs[2].JsonValue.ClassName); end;
Запускаем и в memo1 попадают вот такие ответы:
TJSONNumberTJSONStringTJSONArrayДумаю дальше ты знаешь что делать, если конечно я правильно тебя понял и правильно тебе насоветовал тут. -
Здравствуйте.
Ищу того кто сможет создать рабочий пример на Firemonkey по созданию PrintScreen (скриншотов):
- Всего рабочего стола
- Части (регион) рабочего стола
- Чужого окна (включая и игры в оконном режиме)
- Части (регион) чужого окна.
Платформа Windows.
Важна также скорость получения скринов - т.е. вариант с перебором попиксельно, к примеру, всех цветов экрана с занесением их в TImage не требуется.
-
Народ, реально надо. Кто нить подсобите.
-
Вопрос из раздела Консультации, хотя лично мне не особо то и важно.
Твой вопрос сродни философскому и однозначно ответить нельзя, особенно если звучит он как "что лучше", ибо доподлинно известно что борьба "хорошего с лучшим" это лишь дело личностных предпочтений.
По существу - на размер и скорость итоговой базы вряд ли повлияет выбранный из двух методик что либо. И если с размером базы и скоростью мы разобрались, то остается решить вопрос, а что удобнее? Удобней в таблицах. Но при условии что поля в разноязычных таблицах одинаковы.
В этом случае тебе придется лишь указывать таблицы согласно выбранному языку, что можно в принципе повесить на отдельную функцию и спокойно разрабатывать себе приложение.
Ибо если ты будет хранить в столбцах то и обращаться придется каждый раз по разному выискивая то или иное слово, т.е. муторно это, а смысла нет.
Так что организовывай на уровне таблиц.
-
Хм. Походу не в тот раздел ты отписался, надо было в консультации.
В целом тут скорее всего надо решить доступности файлов по локальной сети для начала.
Порывшись в сети вижу что без стороннего приложения это не решаемо, хотя могу и ошибаться.
Мне кажется что ваш путь лежит через AppTethering. И написании промежуточного ПО для синхронизации которые будет стоять на ПК.
А пересылка осуществляться обычным методом, т.е. приложение на ПК спрашивает сколько вообще записей в базе у андроид приложения, а потом начинает выгребает по частям, точнее андроид приложение берет часть строк из базы и передает их текстом в приложение на десктоп.
В теории, конечно, может быть AppTethering позволит вам и сразу базу перекинуть с андроид на комп и там уже синхронизировать всё и быстро.
Но наверняка не знаю.
Если найдешь то решение которые хочешь ты в чистом виде, то выложи пожалуйста потом сюда. Я думаю многим рано или поздно в их бизнес моделях пригодится эта информация.
-
Здравствуйте.
Приведите пожалуйста пример работы с DBF базой в XE7 через FireDAC.
А то тыкаюсь и не получается. Если можно в run-time режиме.
-
Спасибо. Помогло.
-
Нет, такой вариант не прокатывает
Допустим в TVertScrollBox лежат десять TButton'ов. Все они занимают место и выравнены под Top.
Прокручиваем список в самый низ. И если нажать на саму нижнюю кнопку (mouseDown) и не отпуская её поводить вверх<--->вниз, то скроллинг будет двигаться. А надо что бы пока mouseDown скроллинг не действовал.
Ну это пример все могут повторить. Но у меня проблема такая возникла из-за использования компонента подписи. Подпись находиться в самом низу. И при попытки накалякать что нибудь скроллинг дергается то вверх, то вниз, и роспись становиться рваной.
-
Здравствуйте.
После прокручивания в самый низ компонента TVertScrollBox требуется запретить прокручивание компонента, ну и потом снова разрешить. Как сделать?
-
- ...
- ...
- Чтобы хранить большее изображение нужно использовать TBitmapSurface.
- Самый лучший вариант это хранение карты по частям и до загрузка требуемых частей по мере прокручивания карты и изменении масштаба. При таком подходе можно будет части хранить в TBitmap и использовать отрисовку штатным способом TCanvas.DrawBitmap. Если части больше не отображаются, то их можно будет выгружать, чтобы не занимать лишнюю память.
Извиняюсь за отсутствие, просто начал собирать карту в один кусок, оказалось то это весьма трудоемкий процесс, пришлось искать средства автоматизации процесса. Так что только сегодня получил примерное представление об объеме карты.
Одна карта слитая в один jpg файл, с 20 кратным увеличением вести 70МБ, причем там не все ее части ещё в нормальном качестве, большая часть еще смазана.
Значит итоговая будет весит куда больше.
Теперь по алгоритму вопросы.
Эту карту одним файлом надо загнать в TBitmapSurface? Потом подгружать из него в TBitmap?
И как организовать прокрутку с одновременном подгрузкой?
И что делать если мне надо что бы масштаб стал другим, .т.е увидеть зону не с 20 кратным приближением а с 14 кратным допустим?
Мне надо еще и такую карту залить? Или если уже храниться карта в хорошем разрешении этого можно избежать?
P.S.
У меня на телефоне показало 4096. Это 4096 его именно? Высота картинки в pixels?
-
-
Здравствуйте.
Как получить координаты GPS без использования компонента TLocationSensors?
-
Окей. Спасибо. Я понял.
-
Здравствуйте.
Пойдут ли приложения написанные под Андроид на XE6/XE7 на Samsung Note 8.0?
-
Здравствуйте.
Требуется создание компонента который выступал бы в роли поля для подписи.
На этом видео http://youtu.be/TnlgvN0RBiM?t=30s
видно что подпись идет "рваная". Основное требование плавность и естественность "рисунка/подписи".
Т.е. должно выглядеть полностью презентабельно.
У компонента должна быть возможность смены цвета линии и её толщины.
Компонента должен поддерживать возможность применения к нему эффектов, например таких как отбрасывание тени, свечение (имеется ввиду не среди его свойств, а таким же способом как и все компоненты в делфи, что бы можно было перенеси в него с палитры эффекты).
Встроенная процедура очистки поля.
Встроенная функция определения заполненности данных. (например если общий объем зарисованной площади меньше 10% то считать это как False)
Возможность сохранять подпись в файл, с указанным разрешением (например 1280*720 или 1920*1080 и т.д.)
Возможность отобразить подпись в TImage;
Совместимость с Android и Windows;
-
Снять видео очень тяжело. Приходится снимать на другой телефон, а у него камера хуже. В итоге, пока без видео.
Но в попытках отловить суть проблемы, вроде могу сказать как воспроизвести.
Во первых это у меня на Samsung Note3 4.4. KitKat происходит. На Gsmart Roma2 4.2.2 все нормально вроде.
Кидаем на форму ActionList, Button, LocationSensor. У ActionLit создаем TakePhotoFromCameraAction. И TakePhotoFromCameraAction замыкаем на кнопке. LocationSensor ставим в Active=True.
Запускаем приложение. Нажимаем на кнопку что бы сделать фото. И появляется стандартный системный фотик. И пробуем сделать фото в портретном режиме и альбомном. Пи повороте телефона камера залипнет в какой либо ориентации, у меня чаще всего в альбомной залипает.
Фото делается, но оно переворачивается и режется по краям.
А вот если у LocationSensor сделать Active=false, т.е. что бы не было активации с самого начала работы программы, то все нормально.
Смарт не рутованный.
Если с первого раза фотик не залип, то перезагрузите смарт и попробуйте запустить программу.
Что я подразумеваю под "залип" - вот когда мы собираемся сделать фото, то мы видим на экране значки (камера, натсройки и т.д. у кого как), а когда мы переворачиваем смартфон например из портретного в альбомный, то значки это тоже переворачиваются. Так вот когда оно залипает то значки не изменяются. Фотик пребывает в состоянии как будто он все время в альбомном режиме. Даже если после этого выйти из нашего приложения и запустить стандартный фотик, то ситуация не измениться, пока не сделаешь ребут.
Почему отладчик показывает значение вещественной переменной типа Single, не 0.3, а 0.3000000001192029?
в Вопросы по языку Object Pascal и RTL
Опубликовано
Спасибо, но как я уже писал, что код я уже сделал путем его усложнения. И конечно же почти таким же методом.
Вообще на Andoid (именно для него я делал эту анимацию и на Win не проверял), возникала проблема другого рода, иногда (редко), анимация приводила не к точным значениям (150 и 80), будь то просто AnimationFloat или AnimationFloatWait.
И по итогу значение не было 150, и даже не было 150.000000147 или типа того, бывало и вот так - 149,999989.....
Для решения пришлось использовать только AnimationFloatWait, и сразу следом за ним делать Height := 150.00;
Итогом всего этого стало самовольное решение уйти от такого подхода в программе в целом, ибо если уже все не так изящно, как хотелось бы, то значит надо пересилить себя и искать иной поход. Ну и кстати по другому оказалось куда удобнее и быстрее.