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

striker

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

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

  • Посещение

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

  1. Всем привет! Глупый вопрос. Есть в БД таблица, допустим clients, в ней поля: ID, FIO. Я заполняю Comboboх строчками из поле FIO. Как мне быстро узнавать ID в БД у выбранной FIO? Сейчас фильтрую Query по значению, которое находится в выбранной строчке Combobox, но это не дело же...
  2. Даже в Вашем примере при первом срабатывании таймера если нажать на кнопку в маленьком окне, разворачивается второе главное окно. При последующих срабатываниях уже всё хорошо, главная форма не разворачивается.
  3. slav_z, спасибо, но не получилось. Всё так же, либо я как-то не так применяю. Создал процедуру, объявил её. Она вызывается в OnClose? Или как? Не подскажете какой именно? TnTRayIcon? У меня сразу раскрывается главное окно, принудительно я его не разворачиваю. И да, кстати... как бы это странно не звучало, но приложение используется только под виндой.
  4. Всем привет! Delphi XE6 FMX Есть приложение, главная форма на весь экран. Пользователь сворачивает его. Появляется всплывающее сообщение по таймеру - маленькая форма (Form1.Show). Проблема: При свернутом приложении когда появляется сообщение, закрываешь эту маленькую форму и разворачивается главное окно программы, а нужно просто закрыть уведомление и дальше работать с другими программами. Как можно решить? Спасибо!
  5. MySQL, FireDac, XE6, FMX, Windows Есть Query, Grid, по двойному щелчку на гриде открывается форма редактирования записи. Update делается по ID из Query. Так вот, на одном компе иногда что-то происходит и обновляется не та запись, а соседняя... Форма модальная. Интересно, в какой момент "соскакивает" курсор на записи? Или что-то ещё. Лучше конечно считывать ID в переменную при открытии формы и потом обращаться к ней, а я при Update обращаюсь к Query...
  6. Не понял что такое просто список ключей... Точнее в интерфейсе как это будет.
  7. striker

    Выбор записей checkbox'ом

    Всем привет! Задача: в Grid записи из БД, FDQuery. Нужно пользователю чекбоксами выделить нужные записи в гриде, чтобы программа потом по ним пробежалась и выполнила определенные действия. Никак не могу добиться. Неужели лепить временную таблицу с доп.полем (выделено/нет) чтобы чекколумн привязать? Подскажите, как можно реализовать это?
  8. if (zqOneDay5.FieldByName('TwoHoursKind').Value=2) and (Column = TGrid(Sender).Columns[1]) then begin TextRect := Bounds; TextRect.Left := TextRect.Left+2; TextRect.Right:= TextRect.Right-1; TextRect.Top := TextRect.Top-(TextRect.Bottom-TextRect.Top)+1; TextRect.Bottom :=TextRect.Bottom-2; TextRect.Inflate(-HorzTextMargin, -VertTextMargin); Canvas.Stroke.Thickness:=2; Canvas.Stroke.Color:=TAlphaColorRec.Blue; Canvas.DrawRect(TextRect, 0, 0, AllCorners, 1); Canvas.Stroke.Thickness:=1; TGrid(Sender).DefaultDrawColumnCell(Canvas, Column, Bounds, Row, Value, State); end; Вот, что получилось самое лучшее. Как убрать белую линию-разделитель ячеек по горизонтали?
  9. Пробовал через OnDrawColumnCell. Пока не получается.
  10. Товарищи, дайте наводку как хотя бы обвести рамкой сгруппированные подряд 2 ячейки (как на скрине). Спасибо!
  11. Всем привет! Нужен совет. Есть Grid, в нем расписание дня. В БД каждая строка это отдельная запись. Нужно как-то визуально сделать подобие объединения ячеек в Excel. Т.е. нужно занять расписание на 2 часа. При этом функционал по событиям для строки "второго часа" должен быть недоступен. Может хотя бы границу стирать, т.е. оставлять значение в верхней ячейки, а нижнюю просто не отображать. Как это лучше сделать? FMX, Windows, Delphi XE6, MySQL
  12. Нашел... У Query в событии AfterScroll у меня обновлялись связанные таблицы... Это и вешало всё. Перенес на Grid.OnSelectCell Как проходил мимо этого - непонятно. Время кстати такое было: В Delphi 7 алгоритм заполнения через DataSource другой? Делал там аналогично - такого не наблюдается. enatechno, krapotkin, спасибо большое за участие!
  13. Да, на хостинге лежит
  14. enatechno, спасибо! Действительно в Вашем примере и у меня моментально загружается... Проблема не в Grid и не в запросе, а получается в их соединении. Попробую ещё раз с нуля создать другой запрос и другой Grid. Непонятно...
  15. kraporkin, спасибо! Проблема не решилась. Изначально я убрал LiveBindings , т.к. думал тормозит заливка грида из-за него. А заливка даже ручная, какую я написал всё-равно тормозит и заливает в грид секунд 15-20... MainForm.StringGrid1.BeginUpdate; try MainForm.qClients.First; for i:=0 to MainForm.qClients.RecordCount-1 do begin MainForm.StringGrid1.RowCount:=MainForm.StringGrid1.RowCount+1; MainForm.StringGrid1.Cells[0, i] :=MainForm.qClients.FieldByName('FAM').AsString; MainForm.StringGrid1.Cells[1, i] :=MainForm.qClients.FieldByName('IM').AsString; MainForm.StringGrid1.Cells[2, i] :=MainForm.qClients.FieldByName('ID').AsString; MainForm.zqClients.Next; end; finally MainForm.StringGrid1.EndUpdate; end;
  16. Это не так удобно. Конечно можно написать свой обработчик/компонент чтобы к любому гриду так цепляться, но я пока ещё не достиг такого уровня )) Тем более если были стандартные решения (тот же DataSource) Мне нужно: ходить по гриду, вызывать на редактирование запись по двойному щелчку, показывать связанные с основной таблицы в окне с главным гридом. LiveBindings действительно загрузку в Grid вешает. Заливается Grid руками намного быстрее. Приму ещё советы по упрощению этих проблем ))
  17. krapotkin, спасибо! А при ручном заполнении AfterScroll по Query при перемещении по записям Grid как сделать? Т.е. раньше я ходил по Grid и выполнялся Query.AfterScroll
  18. Grid2.BeginUpdate; try for i:=0 to qClients.RecordCount-1 do begin XXX:=qClients.Fields[0].AsString; qClients.Next; end; finally Grid2.EndUpdate; end; Что должно быть вместо XXX?
  19. Посмотрел, на Берлин пока переходить не вариант... куча несостыковок. Весь мозг сломал как в этой версии XE6 обойтись без LiveBindings... Как руками заполнить Grid? Есть Query и Grid. Пробовал по-разному - то одного не знает, то другого
  20. enatechno, спасибо! Через LiveBindings. Если переходить на Berlin - Grid'ы надо как-то будет переделывать нынешние?
  21. Нагуглил тут про FMX.Types.GlobalUseDirect2D := False; Не помогло. Что ещё отключить можно? Собственно приложение задумывалось быть кросслпатформенным. Но сейчас используется только под Windows. Так что все "навороты" можно поотключать, если в этом дело.
  22. Добрый день! Работаю с MySQL Подключаюсь через FireDac. FDQuery+FDConnecton+Bind+Grid Запрос выполняется моментально, но как только подключаю Grid - начинает висеть. Grid заполняется очень долго - секунд 12-15. Причем результат запроса - всего 230 строк, хоть и join присутствует. Куда копать? Может дело быть именно в FMX?
  23. Всем привет! Я новичок в FMX. Сталкиваюсь с проблемами различий с VCL. Некоторые проблемы: 1) Текст в edit мышью невозможно выделить, выделение скачет. Думаю связано с заточкой под тач, как починить и возможно ли - нигде не нашёл. 2) Покрасить грид (строчку) в зависимости от значения можно? В VCL это делается OnDrawColumnCell Спасибо!
×
×
  • Создать...