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

Алексей Алексеев

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

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

  • Посещение

Сообщения, опубликованные Алексей Алексеев

  1. Помогите новичку! 

    Rad Studio 10.2

    Задача определить какая кнопка мыши нажата.

    Совсем не понимаю, почему не работает:

    procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Single);
    begin
    if Button = mbLeft then
      Showmessage('Left!');

    Подсвечивает mbLeft:[dcc32 Error] Unit1.pas(1529): E2003 Undeclared identifier: 'mbLeft'

  2. 3 минуты назад, Pulsarius сказал:

    И правильно, не используйте этот LiveBinding. Мне кажется использование LiveBinding это плохое решение. Я как-то решил попробовать это "чудо" средство и наткнулся на многие грабли. Например, у меня приложение категорически отказывалось запускаться при закрытом DataSet. LiveBinding выкидывал exception с такого рода сообщением. Зачем? Ведь мне и нужно открывать DataSet при необходимости, мне сначала эти данные не нужны. Просто не нужно ничего связывать в таком случает а не кидаться exception'ами. При закрытии DataSet тоже какие-то ошибки кидал. В общем все проблемы решились просто убрав этот LiveBinding и написанием своей функции отображения данных по старинке.

     

    Вот это совсем нехорошо. Так нельзя делать. А если вы удалите какие-то записи и id станут не по порядку? Будете каждый раз редактировать id в БД? Можно для этого использовать свойство Tag, которое есть у всех компонентов вот как раз для подобных целей.

    Ну, не совсем точно написал. У меня есть ещё колонка i, которая при удалении заново перебирается и ей присваиваются значения по порядку. Именно по этой колонке открываю для редактирования запись в мемо по клику по лист бокс. А вот в лист бокс загружаю по id. Согласен, мудрено, вот и ищу пути для более простого кода. Вначале я все синхронизировал по i, но когда появилась потребность в обратном порядке, тогда возникли проблемы с i. Пришлось ещё задействовать id

    Кстати, про LiveBinding. Я просто совсем немного в нем полазил и отказался по несколько не связанной с его глючностью причиной, которая вроде несколько напоминает то, что написали вы. Когда работаю с БД, я проверяю что в ней с помощью браузера БД. Так вот, когда я установил связь между Listvox и fdquery, то уже не мог открыть базу браузером. Что было для меня очень критично. :)

  3. 1 час назад, mazayhin сказал:

    Ну я так то тоже юрист со звездами ;) а не профи, тоже учился, учусь, и пока будет время, буду учиться дальше.

    Создайте свое представление данных,  да, не знаю, тот же словарь или FDMemTable, в него пишите при добавлении, с него же и отображайте, и вместе с ним в базу кидайте. Как то так.

    Данные грузите не через DataBinding?

     

    Да спасибо, даже компонентов таких не знал. Надо, попробовать.

    "Данные грузите не через DataBinding?"  если вы про LiveBinding, то нет. Хотя пробовал. С первого взгляда всё просто, сразу отображает в листбоксе то, что надо. Но есть трудности, надо разбираться...

    PS "Ну я так то тоже юрист со звездами ;) а не профи, тоже учился, учусь, и пока будет время, буду учиться дальше."  - сам инженер, на работе вот познакомился с Delphi 7, и вот сам для себя продолжаю узнавать:D

  4. 12 минут назад, mazayhin сказал:

    Не знаю, как ведет себя листбокс (у моих только менюшка на 5 пунктов на нем), в чем капризничает, но может стоит данные в свою структуру загнать? А там сам себе хозяин - хочу туда, хочу сюда?

    mazayhin, не совсем понял, что значит загнать в свою структуру? Плиз, по-подробнее, если можно.  Учусь тока

  5. 43 минуты назад, FREEFAR сказал:

    ты можешь добавлять в любое место.

    InsertObject(Index: integer, AObject: TFMXObject);

    Да, но индекс то у верхнего разве не будет 0? А мне надо, чтобы он был последним. Я вроде как где-то вычитал, что после вставки Item на место другого item, он берет его индекс.... Или я ошибаюсь?

  6. В 13.03.2018 в 15:23, mazayhin сказал:

    В FDQuery в SELECT`е поставьте в запросе

    
    ORDER BY [you_Field] DESC

    DESC Отсортирует в порядке убывания, ASC - наоборот

    Спасибо, получилось!  Однако, пришлось дорабатывать мой код, так как связь листбоксом и БД идёт в обе стороны: по нажатию на итем открывается в мемо соответствующая строка, есть мультивыделение тд и тп. И если мы фильтруем FDQuery  в обратном порядке, то и Itemindex уже не прировнять к id.  Приходиться вычислять. Конечно, это несложно, но как бы было здорово, будь у Listbox'а опция добавления Itema большего индекса не вниз, а в самый верх .:)

    Спасибо всем за ответы!

  7.  

    35 минут назад, FREEFAR сказал:

    Отсортирую данные dataset'a перед заполнением в listbox

    То есть, если я правильно понимаю, сортировать таблицу БД, заполняя её уже в обратном порядке? Можно немного по-подробнее, плиииз:). Использую компоненты FDQuery, FDConnection

  8. Помогите новичку советом!

    Делаю проект блокнота. Использую SQLite. На главной странице есть ListBox на который выводятся первые строки каждой записи (собственно заголовки записей):

    Screenshot_2018-03-13-14-02-23-192_com.embarcadero.Note10.thumb.jpg.e8785a20b8926dfbb2c974ba3febbd78.jpg

     

    При нажатии на Item открывается окно с Memo. Далее запись редактируется, сохраняется и тд...

    С БД ListBox синхронизируется через колонку id, который равен ItemIndex.  

    ВОПРОС:

    Подскажите, как можно сделать, чтобы записи в ListBox отображались в обратном порядке: последние были вверху, первые внизу, как в почтовых сервисах например?

     

     

  9. Надеюсь меня не признают нарушителем, так как не понимаю ошибка ли это Studio или это баг системы смартфона.

    Суть проблемы: На RAD Studio 10.2 и на XE8 не корректно работает Memo. Смартфон Android 7.0 Xiomi Mi Max.  На Windows всё в порядке.

    Вот пример:

    Допустим есть четыре строки:

    Screenshot_2018-02-27-12-55-57-959_com.embarcadero.Note.png

    Ставлю курсор в тексте и начинаю удалять стрелочкой

    Screenshot_2018-02-27-12-58-18-116_com.embarcadero.Note.png

    Появляется пятая строка... Далее, если продолжаю жать стрелку удаления:

    Screenshot_2018-02-27-12-58-26-129_com.embarcadero.Note.png

    Screenshot_2018-02-27-12-58-39-464_com.embarcadero.Note.png

    Кто сталкивался? Помогите советом.

    Спасибо!

  10. Всем привет! 

    Вообще не работают эффекты на RAD 10.2 на Android (Mi Max Android 7.0, MIUI 9.2.1.0). Как будто их просто нет. На Windows x64 все в порядке.  

    На RAD XE8 на Android все эффекты работают. 

    Кто сталкивался? В чем может быть дело? 

    Заранее спасибо!

  11. Здравствуйте! Помогите начинающему, всё перелазил, всё что мог и всё безрезультатно.

    Такая проблема: 

    Стоит задача убрать перенос строки в Memo:

    Из 

    "1строка"

    "2строка" 

    сделать:

    "1строка 2строка" .

    Казалось бы все просто:

    memo1.Text:=memo1.Text.Replace(#13#10,' ');

    И на Windows всё работает, но на Android отказывается!

    Просто не реагирует, ошибок не выдает. Проверял на XE8 и на 10.2.

    Может дело в смартфоне Xiomi miMax? Так как вообще memo на нём глючит...

×
×
  • Создать...