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

krapotkin

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

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

  • Посещение

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

    209

Весь контент krapotkin

  1. вполне можно без компонентов пользоваться просто WinApi portNum='\\.\COM28'; CommHandle:= CreateFile(portNum,GENERIC_READ or GENERIC_WRITE, 0, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL or FILE_FLAG_OVERLAPPED,0); ссылка
  2. улучшения: 1.заменил Item.OnClick на List.OnItemClick, стало все с первого раза выбираться 2.подсказка к выбранному тексту перевыводится 3. добавлено сокращение ул. б-р, пр. и т.д. 4. в разряд feature - (ZuBy, п.4) - если стереть введенный текст, остается размытый след от предыдущего текста O_O. "это не я" ))) Я пытался сделать скриншот, форма перерисовывается и на фотке уже без косяков ))) улик нет... Это касается только стиля Transparent. После замены его на другой проблемы нет. обновление P.S. вопрос - как заливать сюда файлы ? мой яндекс диск - не лучшее место для долговременного хранения...
  3. первое приближение чуть улучшенного TAutocompleteEdit пример, думаю крайне полезный и может расширить оригинальную статью можно взять тут (не получается выкладывать на форум) буду признателен, если найдете ошибки если нетрудно, ответьте plz на вопросик, почему на Android клик по выбранному ListBoxItem срабатывает только со второго раза?
  4. в андроиде - только в теории, на практике пользоваться этим невозможно... достать каталог всех нас. пунктов (по кр. мере РФ) - я сейчас делаю, беру данные во внешнем сервисе...
  5. сорри, не совсем точно выразился, не ко всем серверам FireDac цепляется без dll например для MySQL, Firebird и т.п. они точно нужны
  6. не понравился ComboEdit, думал,что это нормальный аналог Windows ComboBox, но нет... под андроид это просто popup, еще и с кнопками поэтому использовал для выбора города TComboBox для "тру" Combo сейчас доделываю вариант из этой темы думаю в базовой платформе не хватает этого очень нужного компонента с динамической подгрузкой items
  7. Ну и до конца чтобы разрешиться... Нет ли смысла рабочий код вынести из DoChangeTracking в MMDataChanged ? Допустим, я запущу отдельный поток лазить в интернет. При возврате он должен вызвать сообщение, что модель изменилась. И механизм сработает опять. Как это сделать правильно?
  8. Удалил библиотечные DCU, скопировал себе в папку проекта FMX.Platform.Android.pas, внес исправления, включил в проект Теперь работает. Спасибо! )) Но как это отличает цифры от букв ???
  9. krapotkin

    TEdit с автозавершением

    Вдохновленный статьей Ярослава Бровина про автозавершение, решил воспользоваться ей и сделать для своей программы автозавершение с хождением в интернет. Delphi XE8.1. Андроид.4.4.2 на телефоне Мне требуются варианты адресов город/улица/дом по введенному тексту, поэтому создан AddrAutocomplete-style. Введенная строка передается некоему сервису, он возвращает список релевантных вариантов. Так что я выбросил из исходного текста все сравнения со списком вариантов и т.п. Также выброшена реакция на сообщение изменения данных модели, т.к. мы и так перехватываем DoChangeTracking, что и приводит к изменению модели. Масло масляное имхо. Здесь для примера обращения к сервису удалены, оставлен только готовый список FSuggestions И тут я столкнулся с проблемой. Наберите в edit Ба - выпадет список 'Бабушкина','Бабушкина 1','Бабушкина 2','Бабушкина 3','Бабушкина 32','Бабушкина 5' теперь пробел, и оппа - я не могу вводить цифры с клавиатуры! Причем не генерируется даже событие OnKeyDown! Недавно сталкивался с неверным поведением нестандартной клавиатуры, поэтому сменил Swipe на стандартную. Не помогло. На планшете (Анд.4.1.1) тот же эффект. Если компилировать под Win32 - все нормально. Всю голову сломал. Помогите plz код apk
  10. запустил на Ritmix RMD-1040 2*1600 1Gb (985*690) ни малейшего торможения
  11. Есть пример от Sarina Dupont там ставится маркер по клику на MapView картинка на маркер берется из TImage MarkerDescr.Icon := Image1.Bitmap; я хотел заменить источник картинок с Timage на TImageList и пошли всякие непонятные пока моменты - по аналогии со старым ImageList брал Imagelist.GetBitmap(sz,0) - нет видимого результата стал параллельно копировать это же в Timage - в нем есть (с описанными эффектами), но присвоить на маркер - Segmentation Fault вариант ImageList1.Source[0].MultiResBitmap.Items[0].Bitmap; вроде подходит... P.S. Может, тогда объясните заодно. Если самому создать битмап, закрасить его, например, красным, то в Image он копируется хорошо, в marker.Icon - не работает в лучшем случае, мусор показывает.
  12. дополнение красная рамка по-прежнему не понята мной но размер картинки на выходе зависит от SZ т.е. подогнать ее к нужному размеру я подогнал, но хотелось бы и смысл шаманства узнать я думал,что Fit за меня должен все это сделать...
  13. krapotkin

    Png в TImage из TImageList

    В примере по TImageList фигурирует TGlyph, который к нему подключен напрямик. А как старым способом достать оттуда нужный битмап, точнее png? заинтересовало, почему в красной рамке 16 x 16; пробовал менять на 64 x 64 код sz.cx:=64; sz.cx:=64; img1.Bitmap:=il2.Bitmap(sz,0); 16x16 imageWrapMode = Fit 64x64 imageWrapMode = Fit 16x16 imageWrapMode = Center 64x64 imageWrapMode = Center что-то ни один вариант не нравится еще картинка явно вылазит из самого TImage O_O как же правильно?
  14. вот еще пара ссылок http://www.fmxexpress.com/create-delphi-interface-from-android-jar-file/ http://delphifmandroid.blogspot.ru/p/jni-code-snippet.html
  15. спасибо. надо попробовать вот и причина не хранить в TList )))) храним их в TObjectList<TMapCoordinate> тогда все удалится нормально )))
  16. нужно отметить, что показанное разрешение - виртуальное экран там 5.5" 1280*720
  17. вот видео вот текст var Form1: TForm1; implementation {$R *.fmx} const SPEED = 10; MARGIN = 20; procedure TForm1.FormResize(Sender: TObject); begin lbl1.Text := Format('%d x %d',[width, height]); end; procedure TForm1.FormShow(Sender: TObject); begin txt1.Position.Point := PointF(margin,MARGIN); txt2.Position.Point := pointf(width - margin - txt2.Width, MARGIN); txt3.Position.Point := pointf(width - margin - txt3.Width, height - margin - txt3.Height); txt4.Position.Point := pointf(margin, height - margin - txt4.Height); txt1.Tag := 1; txt2.Tag := 2; txt3.Tag := 3; txt4.Tag := 4; end; procedure TForm1.MoveText(t: TText); begin case t.Tag of 1:begin t.Position.X := t.Position.X + SPEED; if t.Width + t.Position.X + MARGIN >= Width then t.Tag := 2; end; 2:begin t.Position.Y := t.Position.Y + SPEED; if t.Height + t.Position.Y + MARGIN >= Height then t.Tag := 3; end; 3:begin t.Position.X := t.Position.X - SPEED; if t.Position.X - MARGIN <= 0 then t.Tag := 4; end; 4:begin t.Position.Y := t.Position.Y - SPEED; if t.Position.Y - MARGIN <= 0 then t.Tag := 1; end; end; // t.Text := t.Name + ' ' + Format('%d x %d',[round(t.Position.x), Round(t.Position.y)]); end; procedure TForm1.tmr1Timer(Sender: TObject); begin MoveText(txt1); MoveText(txt2); MoveText(txt3); MoveText(txt4); end; end.
  18. там есть проблема схожая с проблемой ARC если один объект хранит ссылку на другой объект, то варианта два - либо он им владеет, и нужно встроенный объект передавать вместе с родителем, либо это просто ссылка на объект из к-нибудь например справочника. тут только разработчик может правильно построить модель сериализации/десериализации объектов особенно если объектов несколько и ссылки желательно на другом конце как-то восстановить. а еще лучше постараться не доводить тонкого клиента до такой нужды )))
  19. я могу попробовать реализовать идею "разделенного" tabcontrol и контейнера контейнер сделать по образцу Image Gallery единственное, не удастся сделать сам TabControl как в андроиде, где полоска, подчеркивающая таб так же плавно перемещается под табами
  20. эмм вопрос из разных имхо несвязанных областей если в качестве свойства объект, то он тоже сериализуется сериализация - это просто запись свойств объекта в строку, чтобы по этой строке можно было построить точно такой же объект а создание объекта в момент обращения к нему - это техника, позволяющая отложить некоторые работы на момент, когда они действительно нужны если строить объект на принимающей стороне, то техника отложенного создания не может быть применена, т.к. строка единая и хранить ее, а потом вычленять из нее свойства одного внутреннего объекта - это лишний геморрой
  21. пример рабочего сервера, я конечно не смогу скинуть, но pawel glowacki отличную серию сделал в свое время http://www.embarcadero.com/rad-in-action/delphi-labs
  22. с одной стороны, ответ - да Datasnap позволяет передавать объекты работает механизм маршаллинга - объект сериализуется, превращается в JSON строку, на одном конце, и обратно создается на другом. но, если структура объекта хоть чуть-чуть сложна, например, объект содержит TObjectList из других объектов, на автомате это уже не работает, хотя должно бы. (на XE7 было так, 8-не проверял) поэтому я в свое время принял решение делать то же самое самостоятельно мой объект сам умеет себя сериализовать/десериализовать, а к передаче предъявляется строка. либо, для тяжелых объектов - Stream
×
×
  • Создать...