walexw

Пользователи
  • Публикаций

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

  • Посещение

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

  1. walexw

    Записать картинку с камеры в BLOB

    В форуме есть косвенно похожая тема, но у меня немного другое. Впервые столкнулся с вопросом записи фото с камеры в базу. Мне нужно в приложении (для андроида) иметь возможность по кнопке (или еще как) вызвать камеру, сделать снимок, уменьшить его до нужного размера (например до 0.5 Мб) и вставить его в BLOB-поле БД (SQLite) Пишу на RAD XE 10 Если у кого есть решение (хотя-бы близкое), поделитесь plz. или дайте ссылку где посмотреть. Спасибо.
  2. Способ решить эту проблему я ищу почти год, и хоть на форуме несколько раз упоминались похожие темы, решил создать еще одну, т.к. нет никакого решения (все просмотрел). На форме 2 или больше TEdit, переход с первого на второй по Enter (Next). Все что набрано в первом TEdit, при нажатии любой буквы второго TEdit переносится во второй плюс эта буква (см. скриншот) Все это происходит при включенном на телефоне "подсказчике" слов, но он удобен и огромное количество людей им пользуются. Приложений у меня было несколько. И на C++ и на Delphi. Использовал RAD XE 10 Четыре планшета и три смартфона с Андроидами 4, 5, 6 для тестов. Клавиатуры и родные и Гугл. Все они как близнецы повторяют этот трюк и как избавится от него, никак не могу найти решение. Единственное, что помогает - отключить подсказки в самом телефоне, но это на своем. А те кто скачивают программу из интернета, им как быть? Благодарен за любые советы (подсказки). Сам я ищу возможность обнулить буфер клавиатуры при выходе с одного Эдита и входе в следующий.
  3. При установке приложения на старенький планшет получаю - Failure [INSTALL_FAILED_OLDER_SDK] Понятно, на планшете версия ниже. чем у моего приложения. Как правильнее всего исправить ситуацию? Спасибо.
  4. walexw

    Application for Windows CE

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

    К знатокам SQL

    Вопрос к знатокам SQL: как делается такой трюк? Есть процедура в БД с двумя входящими параметрами. Параметры D1 и D2 - это диапазон дат, за который надо выбрать записи из таблицы. Если оба введены, то вопросов нет, в WHERE пишу FieldDate >= D1 AND FieldDate <= D2 Но D1 и D2 могут быть пустыми (оба или по одному), т.н. открытый диапазон. Как должен быть написан запрос в процедуре, что-бы учитывать это в WHERE для всех случаев? Спасибо. (вариант от текущей даты вычитать (добавлять) 100 лет вместо Null - не подходит)
  6. walexw

    К знатокам SQL

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

    Печать с планшета

    Тема, конечно старая. Прежде, чем писать просмотрел в поисковике ссылки, все дискуссии на эту тему старые, пару лет назад. Проблема простая, мне необходимо по моей БД (SQLite на планшете) выдавать простенькие табличные отчеты. Ну и конечно дать возможность их распечатывать. (Клиенты - обычные люди, не имеющие производственных сетевых ресурсов). Сейчас пробую "руками" загонять данные в html-страницы в виде таблиц, дальше (пока только в планах) печатать их через браузер. На дворе 2016-й год, может уже есть более цивилизованные решения... а я не знаю... Кто что посоветует? Спасибо.
  8. walexw

    Компонент TLang

    rad studio 10 seattle Кидаю на форму TLang. Добавляю второй язык. Все надписи отсканировались, но нет никакой возможности ввести их переводы. Что бы я не делал, едиты для ввода значения на английском языке не появляются. Судя по нашему форуму, такая бага замечена еще в предыдущих версиях. Как быть?
  9. walexw

    два select'а в одной процедуре

    Вопрос наполовину по 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. (Да еще, БД не моя, править запрос, разбивать на два или писать новый у меня нет прав.) Спасибо.
  10. walexw

    два select'а в одной процедуре

    Всем большое спасибо за помощь! Сам разобрался. Помогло применение двух ДатаСетов Обратиться ко второму селекту смог через ADODataSet2.Recordset := ADODataSet1.Recordset.NextRecordset(RecCount);
  11. Вопрос к знатокам GooglePlay Я первый раз разместил приложение в GooglePlay. Оно состоит из пустой базы данных и собственно самого приложения. Не сразу, но все получилось. Сейчас я доработал программу, добавил еще один отчет. Надо выпускать вторую версию. Вопрос, как мне правильно сделать? Те кто скачал первую версию, должны только код обновить до второй и не тронуть БД которую набрали на первой версии. А те кто новые, и увидят программу сразу со второй версии должны получить ее и пустую БД. Как такой трюк делается? Подскажите кто делал. Спасибо.
  12. У меня второй год пошел этому косяку и нет никаких вариантов решения, кроме как принудительно убирать клаву при потере фокуса у эдит, а вход в следующий эдит сам ее открывает. За два года не встретилось ни одного устройства, где бы не проявился этот косяк. Удивительно, что на форуме почти никто про это не пишет.
  13. walexw

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

    Всем спасибо! Буду пробовать.
  14. walexw

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

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

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

    Пытаюсь разобрать чужой код (проект здоровый, процедур много) По ходу заполняется 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;
  16. walexw

    Многоязыковое приложение

    Хочу сделать приложение многоязычным: русский, английский. французский. Заметил, что многие приложения из PlayMarket сами понимают какой язык на устройстве. Как я могу опросить устройство (смартфон, планшет) перед запуском приложения, какой язык выбран в системе. Есть ли такая возможность в RAD studio? Спасибо!
  17. walexw

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

    Проект на Delphi, Seattle Добавляю в таблицу новую запись, в моем варианте она становится первой в запросе. Обновляю listView который ее отображает. Мне надо, чтобы после этого программно отработала процедура клика по этой новой записи. Пишу: listView.Selected.Index := 0; Далее саму процедуру, но не понимаю, что подставить в скобки: listViewItemClickEx(const Sender: TObject; ItemIndex: Integer; const [Ref] LocalClickPos: TPointF; const ItemObject: TListItemDrawable); Подскажите plz.
  18. rad studio 10 seattle, приложение под андроид. Можно ли из своего приложения узнать, есть ли на устройстве другое приложение по имени, например 'MX Player'? Если ДА, то как? Спасибо!
  19. walexw

    Верхний регистр для кирилицы

    БД SQLite Для поиска записей по текстовым полям, для игнорирования регистра использую примерно такую конструкцию: SELECT UPPER(city) FROM table1 WHERE id=1 OR id=100 (это запрос для примера, в реальном запросе UPPER стоит в WHERE) в 1-й записи Paris, отрабатывает PARIS в 100-й записи Париж, отрабатывает Париж (ни в верхний, ни в нижний регистр не переводится) Как сделать, чтобы и англоязычное и русскоязычное заполнение стринговых полей обрабатывалось одинаково правильно? Спасибо!
  20. walexw

    Верхний регистр для кирилицы

    В консоли та же песня. Английские буквы слушаются, русские без изменений.
  21. Поначалу я сам догадался, что где-то надо для Андроида стиль задать. Ошибочно решил, что если включена компиляция под андроид, то и стиль его. Запутался короче. sunike, Vitaldj, спасибо за подсказку, теперь разобрался!
  22. Можно ли у компонента TRadioButton текст разместить слева? Если ДА, то как? Спасибо!
  23. Все сделал как научили. Зашел в Edit Custom Style, там все просто, перенес текст влево. В проекте появился новый стиль, мне все понравилось, а главное просто на удивление. Но это оказалась половина истории. В мастер форме и винде действительно текст слева, а закачиваю приложение в смартфон - все по старому, кнопка слева, текст справа. Я сегодня уже как только не пробовал, на андроиде не слушается. В чем грабли?
  24. 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'] Как заставить Дельфи окрасить Детейл? Спаибо!