-
Постов
31 -
Зарегистрирован
-
Посещение
-
Победитель дней
2
Сообщения, опубликованные Kikoma
-
-
-
Задай свой размер, како хочешь. Или тебе принципиально картинку-рамку iPhone6 видеть?
-
Спасибо. Все прекрасно заработало, но только с обязательной перезаполнением ListBox
вот итоговый код:
if (count = 0) and (TabControl1.ActiveTab = TabCart) then TThread.Queue(TThread.CurrentThread, procedure begin // Запускаем анимацию TListBoxItem(Item).AnimateFloat('Height', 0, 0.5); TListBoxItem(Item).AnimateFloatWait('Opacity', 0, 0.5); Item.Release; TabCartClick(Sender); // запуск перерисовки ListBox // Timer1.Enabled := True; // запуск TabCartClick(Sender); через 0,3 сек end);
В моем случае перезаполнение TListBox обязательно, т.к. в SpinBox.Tag хранятся индексы Итемов.
-
-
Вот мои исходники (только на Delphi XE6 upd2)
-
в первом случае набираю на клавиатуре mydonetoolbutton, а во втором выбираю из списка.
-
Проблема решена с использованием UTF8EncodeToShortString
Вот код:
RESTRequest1.Params.AddItem( UTF8EncodeToShortString(edParam.Text), UTF8EncodeToShortString(edValue.Text), TRESTRequestParameterKind.pkGETorPOST,[poDoNotEncode] );
Всем спасибо.
-
Как получилось у меня:
1.То что вы открыли в Блокноте я полностью скопировал этот
object TLayout
StyleName = 'donetoolbutton'...
end
Сохранил его в отдельный файл, при этом поменял StyleName = 'mydonetoolbutton'
2. На форму бросил StyleBook1, щелкнул на нем два раза попал в редактор. По кнопке Load... выбрал выше созданный файл и его немного подредактировал: добавил Rectangle (Fill.Kind := None; Stroke (рамка) уже есть)
Немного повозился с размерами и выравниванием. После кнопка Apply and Close
3. Бросаю две SpeedButton, у одного набираю в StyleLookUp = mydonetoolbutton, у другого из списка выбираю StyleLookUp = donetoolbutton.
Результат достигнут. На непоколебимость данного варианта не претендую, хотелось бы узнать мнение гуру.
-
Странно, но AnsiToUtf8, UTF8Encode, UTF8Decode, UTF8ToString - не влияют на результат в различном использовании и перед отправкой и после получения. Все их удалил.
Изменил строку формирование параметра:
RESTRequest1.Params.AddItem(edParam.Text, edValue.Text,TRESTRequestParameterKind.pkGETorPOST,[poDoNotEncode]);
Добавил в код сервера кириллицу. Результат получился следующий
<?php header("Content-Type: text/html; charset=utf-8"); echo "Проверка русского языка\n"; echo "Your GET request:\n"; var_dump($_GET); ?>
в результате вместо русских букв знаки вопроса:
Проверка русского языка
Your GET request: <br/>
array(1) {
["qqDF"]=>
string(19) "balalaika-?????????"
}Делаю вывод, что принимает и отображает приложение в utf-8 нормально. А вот проблема возникает при отправки запроса
-
Здравствуйте, помогите настроить кодировки.
Ниже дано тестовое приложение, которое отправляет с помощью RESTClient запрос и получает в виде текста то что отправил.
Все работает замечательно, кроме русских букв.
В приложении задаю параметр и значение. при задании русских букв выводится коды
например вместо "Балалайка" выводится "A1C0CBC0CBC0C9CAC0"
Help отсутствует, устал быть слепым экспериментирующим котенком
можно результат работы сервера увидеть здесь: http://abws.ru/testrest/?qqq=balalaika-Балалайка
Исходники приложения (Delphi XE6 update 2) здесь.
код сервера:
<?php header("Content-Type: text/html; charset=utf-8"); echo "Your GET request: <br/>\n"; var_dump($_GET); ?>
-
...
а в Вашем TListBox, в котором Вы меняете Item'ы, свойство ItemHeight случаем <> 0 ?
....Спасибо, все заработало. И как сам до этого не додумался???
-
Я вызываю процедуру заполнения ListBox? т.к. там идет проверка или заполняем TListBoxItem-ами, или выводим один один Итем - Корзина пуста. Если не вызывать процедуру заполнения, то придется выполнять проверку - а все ли итемы показываются и выводим итем "Корзина пуста". - Как то сложно и неправильно.
В Queen все равно выходит ошибка.
Выполняется анимация на закрытие Итема, и когда уже не находимся в процедуре под Итемом, выполняется Таймер и заново заполняется TListBox.
Все отлично работает через таймер. Плохо что ли?
-
Спасибо, AlexG
Opacity - работает.
Height - не работает. Не уверен, но думаю из-за стилизации (попозже попробую на не стилизованном TlistBoxItem, результат опишу)
При удалении вызывается ошибка. Подробности Как правильно программно удалить TListBoxItem из стилевого объекта?
-
... if count = 0 then begin TThread.Queue(TThread.CurrentThread, procedure begin Item.Visible := False; Timer1.Enabled := True; // через 0,5 секунды перезагружаю TListBox end); // TabCartClick(Sender); end; end;
Все работает отлично. Большое спасибо.
Продолжение вопроса о красивом закрытии элемента (добавлении анимации) здесь
-
К программно созданному кастомизированному TListBoxItem при удалении (здесь обсуждается как удаляем) хочу добавить Анимацию:
Сначала Opacity с 1 до 0, потом Height с текущего значения до 0.
Через дизайн форму и инспектор объектов проблем нет, а программно? Ведь эти TListBoxItem-ы тоже программно создаются.
-
Ух ты! Спасибо!
-
Следующая ситуация:
Есть база данных с полями: id, product_name, price, cart (корзина) - Думаю пояснять излишне.
по условию cart>0 формируется запрос и заполняется TListBox кастомизированным Item-ом который содержит SpinBox. при изменении SpinBox вызывается процедура, которая вносит изменение в БД (cart) и высчитывает сумму в этом Item.
Все работает, все хорошо, но...
Задумал я что при SpinBox = 0, у меня этот TListBoxItem исчезал, для этого на изменение SpinBox если он равен 0, я запускаю процедуру формирования (Заполнения) этого TListBox заново.
Вываливается ошибка Access ..to address XXX, при чем при пошаговой трассировки исключение вызывает FMX.Edit строка 3811 CustomEditBox.Change; в procedure TValueRangeCustomEditBox.DoAfterChange; (DELPHI XE6)
т.е. моя процедура полностью отрабатывается (Заполняется новый список Item-ов) и возникает эта ошибка.
При чем на 32-bit Windows все работает нормально, только на андроиде возникает это исключение, при чем приложение продолжает нормально функционировать.
Если я правильно понимаю, то эта процедура DoAfterChange пытается что то сделать с объектом, которого уже нет.
Это баг или я неправильно алгоритм построил?
-
Стоит задача программно добавить изображение в MultiResBitmap. Как это можно сделать?
-
Мда....
1. Без сервера никак. Любое приложение с сервером общается, даже с другим телефоном через статичный в интернете сервер.
2. Свой протокол
3. DataSnap тебе в помощь, как вариант
4. Почитай про BaaS, тоже вариант
5. Также почитай про REST, JSON. можно и xml
6. Пример взаимодействия мобильного приложения на базе ВК по протоколу mtproto (Разработан братом Дурова-основателя ВК). Так для общего представления можно почитать.
Ну вот то что надо знать, для поиска пути решения твоего вопроса.
-
Здравствуйте, многоуважемые!
Выполнил настройку получения удаленных сообщений по Mobile_Tutorials_en.pdf через сервис Kinvey. Все работает отлично. Но когда выключено приложение, и приходит remote push сообщение то все проходит в тишине, хотя сообщение появляется. Как звук то включить? В TNotificationCenter это можно сделать, а в remote push?
-
- StyleBook - Я бы создал дополнительное приложение для добавления картинок в StyleBook программно, и потом сохранил в файл (метод StyleBook.WriteResourses). Сам не пользовался, но копал бы в этом направлении
- Хранить в ресурсах - Если воспользоваться вариантом Сысоева Максима из этой темы, то опять таки быстрее было бы написать программку для создания файла ресурса resource.rc из картинок в определенной папке. Да и в будущем такая программка обязательно понадобится.
- Задеплоить - Добавить большое кол-во файлов и назначить им путь - не проблема, В дальнейшем работать с этим списком файлов не удобно. Я бы предложил разработчикам еще и фильтр туда вставить, было бы удобнее. Ну а пока только сортировкой по колонке пользуюсь, и то она после каждого действия слетает. (Кстати куда про найденные баги писать то можно? А то я их на листочек себе записываю)
- zip архив - аналог предыдущему пункту "задеплоить". APK - сам по себе zip архив, так что в итоге удобство сведется к не работать с большим списком в деплой менеджере, но дополнительной операции распаковки на устройстве (ведь при установке пользователь терпимо ждет и не спорит с иногда "долгим" процессом установки, а вот в процессе работы с приложением... ему это уже не нравится
Чтобы принять окончательное решение, надо учесть будут ли добавляться картинки программно или только с обновлением apk? Как будут использоваться картинки в приложении и как лучше организовать к ним доступ для наилучшего быстродействия? Ну а самое главное программа создается для пользователя, поэтому чтобы пользователь был доволен (в контексте данной темы самый главный показатель для пользователя быстродействие работы программы)
-
Тоже коснулся этого вопроса.
У меня картинок 164 штуки (может стать больше. размер примерно 128х128) и я вижу четыре варианта хранения:
- StyleBook (минусы: неудобно добавлять по одной штуке, каждой картинке нужно присвоить имя)
- Хранить в ресурсах (плюсы: можно добавить сразу все картинки. Минусы: нужно задать каждой картинке имя)
- Задеплоить (главный минус: прописывать настройки (путь и т.п.) для каждого файла)
- Хранить все картинке в zip-архиве (плюсы: один файл, извлечь архив можно в любой момент) Это пока экспериментальный вариант, к нему я склоняюсь больше всего.
1. А если программно в StyleBook из папки, а потом сохранить стиль?
2. А если станет больше картинок в ресурс можно их программно добавить? как?
3. Я для себя имя файла хроню в БД а картинки деплою assets\internal\img\ - (Надеюсь в будущем можно будет потом программно сюда добавить/закачать, а в БД запись добавлю)
(Кстати задеплоить файлы массово можно и пути им тоже массово назначить, выделяешь и там кнопочки вверху )
4. А смысл? Если хранить картинки jpeg то объем архива не изменится. а ресурсы на распаковку архива дополнительно будут тратиться. Если только имеешь ввиду, что задеплоить архив, а уже на месте его распаковать? - смысл? см. п.3
-
Продолжая развивать идею, взятой из темы Есть ли в fmx класс TImageList, возник вопрос, а можно в StyleBook програмно добавлять объекты? В моем случае Интересует добавления изображений (максимум 250х250) для последующего отображения в кастомизированом TListBoxItem.
Правильно ли я считаю, что т.к. загрузка изображения довольно трудоемкая операция, то желательно загрузить все изображения в память (Их всего 60 штук ~1,5Мб), для чего и лучше всего использовать StyleBook.
Или лучше подгружать картинки из файла в отдельном потоке (или без потока - сейчас попробую, отпишусь)?
Попробовал на лету подгружать картинку из файла - тормозов на Galaxy Note 2 не наблюдаются.
-
Примерно таким образом воспользовался тут, но это не рационально и слишком трудоемко.
Сервис платных ответов
в Предложения об организации форума
Опубликовано
Система новая, источников на родном русском немного, да и на буржуйском тоже дефицит. Этот ресурс очень помогает в изучении и освоении FM. Хоть я сам лично и за монетизацию сайтов (в общем случае), но думаю данный сайт из другого поля, и задачи, стоящие перед ним, совсем другие. А вот пожертвование можно внедрить . Любой труд должен быть оплачен (и мотивирован)
А вот качественный курс по ФМ я бы прошел, даже за деньги, т.к. уверен, что сэкономил бы по времени на порядок больше. Но с другой стороны система так бурно развивается-обновляется, что многие вещи быстро теряют актуальность - так что качественный курс по ФМ сделать довольно сложно.