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

walexw

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

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

  • Посещение

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

  1. walexw

    Application for Windows CE

    Добрый день! Кто-нибудь делал на RAD-studio (хоть какой нибудь), реально работающее приложение под Windows CE. Мне нужно сделать прогу для сканера, на сканере Windows CE, интересует можно ли это замастрячить на рейде и потом задеплоидь на устройство, ну и то-бы все это работало. Если у кого есть такой опыт - поделитесь. Спасибо.
  2. walexw

    К знатокам SQL

    Всем спасибо! То что надо.
  3. walexw

    К знатокам SQL

    Вопрос к знатокам SQL: как делается такой трюк? Есть процедура в БД с двумя входящими параметрами. Параметры D1 и D2 - это диапазон дат, за который надо выбрать записи из таблицы. Если оба введены, то вопросов нет, в WHERE пишу FieldDate >= D1 AND FieldDate <= D2 Но D1 и D2 могут быть пустыми (оба или по одному), т.н. открытый диапазон. Как должен быть написан запрос в процедуре, что-бы учитывать это в WHERE для всех случаев? Спасибо. (вариант от текущей даты вычитать (добавлять) 100 лет вместо Null - не подходит)
  4. Всем большое спасибо за помощь! Сам разобрался. Помогло применение двух ДатаСетов Обратиться ко второму селекту смог через ADODataSet2.Recordset := ADODataSet1.Recordset.NextRecordset(RecCount);
  5. Вопрос наполовину по SQL наполовину по Delphi: Есть БД в ней процедура такого вида: SELECT DISTINCT FAM FROM TURNIR WHERE FAM=@par; SELECT DATE, PLAY, SCORE FROM TURNIR WHERE FAM=@par; В отчете (FastReport) первый запрос используется как "шапка" второй - это собственно сам набор данных, игры и счет выбранного человека. Мне необходимо на форме (проект виндовый) увидеть в гриде второй SELECT Если грид через DataSource подключаю к процедуре, то приходит первый. Не могу понять как обратиться к второму. При входе в FastReport там предлагается на выбор ADOQuery1 и соответственно ADOQuery2. И нет проблем. Кто знает как это повторить на форме, подскажите plz. (Да еще, БД не моя, править запрос, разбивать на два или писать новый у меня нет прав.) Спасибо.
  6. У меня второй год пошел этому косяку и нет никаких вариантов решения, кроме как принудительно убирать клаву при потере фокуса у эдит, а вход в следующий эдит сам ее открывает. За два года не встретилось ни одного устройства, где бы не проявился этот косяк. Удивительно, что на форуме почти никто про это не пишет.
  7. Всем спасибо! Буду пробовать.
  8. Пытаюсь разобрать чужой код (проект здоровый, процедур много) По ходу заполняется TreeView, откуда не понятно, надо найти. В процедуре регистрации панели (RegisterSetupPanel) последняя строчка AddTreeTag там заполняется одна строка TreeView (значением TagPath: String), а всего строк 10, значит 10 раз отрабатывает. Внутри RegisterSetupPanel я "стою" в дебаггере, отследить получается только первую строчку, но кто "толкнул" неизвестно. Ссылки на запуск RegisterSetupPanel внутри проекта нет, вот мне и надо найти кто его "толкает". procedure TfrmSetup.RegisterSetupPanel(TagPath: String; aObject: TControl); var Frm: TCustomForm; i: integer; begin Frm := GetParentForm(TControl(aObject)); if (Frm.Width+panLeft.Width)<Screen.Width then if(Frm.Width+panLeft.Width) > Width then Width:= Frm.Width+panLeft.Width; SetActionEnabled(TPanel(aObject), false); for i := 0 to Frm.ComponentCount - 1 do if Frm.Components is TActionList then begin frmSetup.InsertComponent(Frm.Components); Frm.RemoveComponent(Frm.Components); Break; end; aObject.Parent := panMain; aObject.Visible := false; AddTreeTag(nil, TagPath).Data := aObject; end;
  9. walexw

    Кто вызвал процедуру

    Вопрос к знатокам Delphi Можно ли, находясь в процедуре, узнать какая другая процедура ее вызвала. Если ДА, то как? Спасибо.
  10. walexw

    listView программный клик

    Проект на Delphi, Seattle Добавляю в таблицу новую запись, в моем варианте она становится первой в запросе. Обновляю listView который ее отображает. Мне надо, чтобы после этого программно отработала процедура клика по этой новой записи. Пишу: listView.Selected.Index := 0; Далее саму процедуру, но не понимаю, что подставить в скобки: listViewItemClickEx(const Sender: TObject; ItemIndex: Integer; const [Ref] LocalClickPos: TPointF; const ItemObject: TListItemDrawable); Подскажите plz.
  11. Способ решить эту проблему я ищу почти год, и хоть на форуме несколько раз упоминались похожие темы, решил создать еще одну, т.к. нет никакого решения (все просмотрел). На форме 2 или больше TEdit, переход с первого на второй по Enter (Next). Все что набрано в первом TEdit, при нажатии любой буквы второго TEdit переносится во второй плюс эта буква (см. скриншот) Все это происходит при включенном на телефоне "подсказчике" слов, но он удобен и огромное количество людей им пользуются. Приложений у меня было несколько. И на C++ и на Delphi. Использовал RAD XE 10 Четыре планшета и три смартфона с Андроидами 4, 5, 6 для тестов. Клавиатуры и родные и Гугл. Все они как близнецы повторяют этот трюк и как избавится от него, никак не могу найти решение. Единственное, что помогает - отключить подсказки в самом телефоне, но это на своем. А те кто скачивают программу из интернета, им как быть? Благодарен за любые советы (подсказки). Сам я ищу возможность обнулить буфер клавиатуры при выходе с одного Эдита и входе в следующий.
  12. rad studio 10 seattle, приложение под андроид. Можно ли из своего приложения узнать, есть ли на устройстве другое приложение по имени, например 'MX Player'? Если ДА, то как? Спасибо!
  13. В консоли та же песня. Английские буквы слушаются, русские без изменений.
  14. БД SQLite Для поиска записей по текстовым полям, для игнорирования регистра использую примерно такую конструкцию: SELECT UPPER(city) FROM table1 WHERE id=1 OR id=100 (это запрос для примера, в реальном запросе UPPER стоит в WHERE) в 1-й записи Paris, отрабатывает PARIS в 100-й записи Париж, отрабатывает Париж (ни в верхний, ни в нижний регистр не переводится) Как сделать, чтобы и англоязычное и русскоязычное заполнение стринговых полей обрабатывалось одинаково правильно? Спасибо!
  15. Поначалу я сам догадался, что где-то надо для Андроида стиль задать. Ошибочно решил, что если включена компиляция под андроид, то и стиль его. Запутался короче. sunike, Vitaldj, спасибо за подсказку, теперь разобрался!
  16. Все сделал как научили. Зашел в Edit Custom Style, там все просто, перенес текст влево. В проекте появился новый стиль, мне все понравилось, а главное просто на удивление. Но это оказалась половина истории. В мастер форме и винде действительно текст слева, а закачиваю приложение в смартфон - все по старому, кнопка слева, текст справа. Я сегодня уже как только не пробовал, на андроиде не слушается. В чем грабли?
  17. Можно ли у компонента TRadioButton текст разместить слева? Если ДА, то как? Спасибо!
  18. Эта строчка просто "убила" раскраску по умолчанию (зеленую) сделав Детейл черным, хотя в коде написано TAlphaColorRec.Red;
  19. walexw

    как раскрасить Detail

    Раньше писал на С++, сейчас пробую на Дельфи. Не получается простая вещь. Надо выделить Detail по признаку lViewTour.BeginUpdate; lViewTour.Items.Clear; while not FDQuery.Eof do begin lvItem := lViewTour.Items.Add; lvItem.Text := FDQuery.FieldByName('name').AsString; lvItem.Detail := FDQuery.FieldByName('city').AsString; lvItem.Data['status'] := 'normal'; if (FDQuery.FieldByName('status').AsInteger = 3) then begin lvItem.Data['status'] := 'red'; end FDQuery.Next; end; FDQuery.Close; lViewTour.EndUpdate; lViewTour.Resize; Дальше написал procedure Tfrm.lViewTourUpdatingObjects(const Sender: TObject; const AItem: TListViewItem; var AHandled: Boolean); var TextObject: TListItemText; begin TextObject := AItem.Objects.FindDrawable('status') As TListItemText; if (TextObject = nil) then begin TextObject := TListItemText.Create(AItem); TextObject.Name := 'status'; end; TextObject.Visible := false; if (TextObject.Text = 'red') then begin AItem.Objects.DetailObject.TextColor := TAlphaColorRec.Red; AItem.Objects.TextObject.TextColor := TAlphaColorRec.Red; end end; По факту, у нужных записей текст перекрашивается в красный, а Детейл остается черным. Мне же нужно именно Детейл перекрасить. В чем ошибка? На С++ я применял TListViewItem::TListViewItemObjects * _objects = (const_cast<TListViewItem*>(AItem))->Objects; И обходился без lvItem.Data['status'] Как заставить Дельфи окрасить Детейл? Спаибо!
  20. walexw

    цвет объекта TMemo

    Ярослав, спасибо! Вставил Мемо в Ректангель, получилось то что надо!.
  21. walexw

    цвет объекта TMemo

    Можно ли изменить цвет холста TMemo не прибегая к стилям? Как вариант попробовал цветной прямоугольник под TMemo подложить и выставил прозрачность. Для примера вроде получилось, но как только выставил TMemo - Align отличный от None, TMemo тут же опять становится белым игнорируя прозрачность. В чем смысл таких заморочек и что посоветуете по моему вопросу? Спасибо!
  22. Разместил приложение в GooglePlay (делал первый раз, поэтому столько вопросов) В разделе устройства, подтвердил все предложенные модели, их оказалось больше тысячи. Естественно, после установки, сам же попробовал установить программу на свои устройства. На смартфон программа встала сходу. Но... Есть у меня 10-ти дюймовый планшет Perfeo (китай), на него программа отказывается устанавливаться. Говорит: это не мобильное устройство. Симки в планшете нет, но два гнезда предусмотрены. Установка хочет работать только с мобильным устройством, что я сделал не так? Как подправить ситуацию? Если планшет соединить проводом к компу, программа через RAD studio ставится без проблем. Подскажите.
  23. Вопрос к знатокам GooglePlay Я первый раз разместил приложение в GooglePlay. Оно состоит из пустой базы данных и собственно самого приложения. Не сразу, но все получилось. Сейчас я доработал программу, добавил еще один отчет. Надо выпускать вторую версию. Вопрос, как мне правильно сделать? Те кто скачал первую версию, должны только код обновить до второй и не тронуть БД которую набрали на первой версии. А те кто новые, и увидят программу сразу со второй версии должны получить ее и пустую БД. Как такой трюк делается? Подскажите кто делал. Спасибо.
  24. ZuBy, спасибо, все так и сделал, получилось то что надо!
×
×
  • Создать...