krapotkin
Пользователи-
Постов
2 213 -
Зарегистрирован
-
Посещение
-
Победитель дней
210
Весь контент krapotkin
-
по поводу RecordCount уже миллион раз говорилось, что это количество сфетченных записей а не количество записей в датасете и никогда для перебора не используется цикл for dataset.open; while not dataset.eof do begin ... dataset.next; end; dataset.close; ручное сравнение записей с массивом данных тоже странный алгоритм для работы с SQL сервером все должно сводиться к подготовке данных для сервера и дальнейшей уже серверной работы, а не загрузки всей базы в память 512 Мб
-
отложилась пока в связи с переустановкой MAC OS XCode и всего стека ...
-
я еще раз в этой теме приложу тестовый проект полностью рабочий под берлин с ресайзом ListViewTestBerlin.7z
-
да и порядок вызова обработчиков тоже поменялся! и Item.Begin/EndUpdate и List.Begin/EndUpdate совершенно не влияют на их вызовы...
-
а на телефоне грид вообще не вариант в вот уже на планшете - можно и посмотреть и действительно desktop программы от переезда удерживает на 95% отсутствие внятного грида может, давайте отдельную тему заведем/перенесем/отредактируем отдельно по пожеланиям в гриды, раз уж разработчик среди нас может, и ListView тоже у нас, нет?
- 31 ответ
-
- StringGrid
- DragDrop
-
(и ещё 1 )
C тегом:
-
да. Было так же. Берлин заставил подолбаться...
-
Вот тут бы определиться - два клика через "большой" интервал очень отличаются от Double Click. В Windows это очевидно прямо в Explorer В классическом гриде ничего подобного не происходит, и при DblClick мы точно знаем, что Col, Row установлены уже на кликнутую ячейку. От нативности это имхо не зависит
- 31 ответ
-
- StringGrid
- DragDrop
-
(и ещё 1 )
C тегом:
-
могу выложить проект тестовый 2 дня на нем тренился ))) ListViewTestBerlin.7z
-
ну так, с ходу - DblClick селектом не заменить для десктопа дабл - все-таки предпочтительный способ совершения действий но намек понят и запомнен я правда понял намек еще в XE3 по-своему - нигде больше не использую гриды....
- 31 ответ
-
- StringGrid
- DragDrop
-
(и ещё 1 )
C тегом:
-
у меня наоборот, снялись некоторые баги. часть пришлось рефакторить, но стало лучше
- 31 ответ
-
- StringGrid
- DragDrop
-
(и ещё 1 )
C тегом:
-
открыл, кинул грид. 5 секунд вписал grid1.onDblClick и контрол+клик по нему. они public. еще 5 сек. написал grid1.onDblClick := MyOldDblClick; итого 15 сек на решение проблемы а куда делись исходники? триал?
- 31 ответ
-
- StringGrid
- DragDrop
-
(и ещё 1 )
C тегом:
-
могу порекомендовать только свой способ тотально всё что нужно создавать самому в OnUpdatingObjects procedure XXX.CreateItem(); begin fUpdating:=true; item := ListView.items.Add(); item.Data['key1']:=value1; item.Data['key2']:=value2; fUpdating:=false; item.Adapter.ResetView(item); // вот тут вызовется OnUpdatingObjects! end; procedure XXX.UpdatingObjects(); begin if FUpdating then exit; h:=5; // НАЗВАНИЕ aText:=SetupTextObject(sText, AItem.Data['key1'].AsString, freeWidth , -1, 10, h, TListItemAlign.Leading, TListItemAlign.Leading, TTextAlign.Leading, TTextAlign.Leading); aText.Font.Style := [TFontStyle.fsBold]; aText.Font.Size := 18; atext.Height := CalculateHeight(atext, lvWallets); h:=h+atext.Height; ... // линия посредине line := aitem.Objects.FindObjectT<TListItemLine>('key2'); if line=nil then line := TListItemLine.Create(AItem); line.name := sLine; line.width := lvWallets.width - lvWallets.itemspaces.left - lvWallets.itemspaces.right -10 -10; line.height := 1; line.color := Emerald; line.placeOffset.x := 10; line.placeOffset.y := h; line.lineWidth:=1; h:=h+5; .... AHandled:=true; end; код неточный, только для иллюстрации идеи в этом случае лучше всего режим Dynamic. Там не создаются лишние "предустановленные" элементы Text Detail и т.д.
-
на всех андроид устройствах нет смысла пользоваться прямым указанием папки доступные программе папки перечислены в class TPath из System.IOUtils.pas пример uses System.IOUtils; fname := TPath.combine(TPath.GetDocumentsPath, 'myfile.txt');
-
мы точно в одной и той же теме пишем? изначальный вопрос. "был проект, я его открыл в новой версии IDE. Обработчики не срабатывают" При чем тут предки и т.п.?
- 31 ответ
-
- StringGrid
- DragDrop
-
(и ещё 1 )
C тегом:
-
сделать маркер в виде подписи
-
это и так будет работать, без всяких класс-хаков только зачем?
- 31 ответ
-
- StringGrid
- DragDrop
-
(и ещё 1 )
C тегом:
-
создать в дизайнере, приделать код из старых обработчиков
- 31 ответ
-
- StringGrid
- DragDrop
-
(и ещё 1 )
C тегом:
-
так я же говорю, там в Custom режиме просто создаются ListItemText c именем T,D,B и т.д. в Dynamic смотрите на названия элементов, вы их сами создаете и они видны в окне Structure тем не менее, для Header и Footer создается элемент с именем Text и все работает так же как и раньше procedure TForm1.b1Click(Sender: TObject); begin lv1.Items[trunc(SpinBox1.Value)].Text := lv1.Items[trunc(SpinBox1.Value)].Text + '1'; end;
-
procedure TForm1.b1Click(Sender: TObject); begin lbl1.Text:=lv1.Items[trunc(SpinBox1.Value)].Text; end; function TForm1.CreateItem(purpose: TListItemPurpose; const s:string): TListViewItem; begin Result := lv1.Items.Add; result.Purpose := purpose; result.text := s; end; procedure TForm1.FormCreate(Sender: TObject); begin CreateItem(TListItemPurpose.Header, 'Header 1'); CreateItem(TListItemPurpose.None, 'Item 1'); CreateItem(TListItemPurpose.None, 'Item 2'); CreateItem(TListItemPurpose.None, 'Item 3'); CreateItem(TListItemPurpose.Footer, 'Footer 1'); CreateItem(TListItemPurpose.Header, 'Header 2'); CreateItem(TListItemPurpose.None, 'Item 4'); CreateItem(TListItemPurpose.None, 'Item 5'); CreateItem(TListItemPurpose.Footer, 'Footer 3'); SpinBox1.Max := lv1.ItemCount-1; end;
-
запустить отладчик и узнать почему падает. вроде очевидно Segmentation Fault на Android это наш родной Access Violation и чаще всего сам по себе не приходит...
-
способ по ссылке снимает любые ограничения, какую надо, такую и делаешь
-
разочаровался во встроенных объектах, теперь все объекты list item создаю сам. зато полный контроль, что когда создано... сделал себе дополнительные классы TListItemCircle, TListItemRect, TListItemLine и даже TListItemTri - треугольную меточку в угол итема. Вроде закрыл все свои потребности, в том числе в закрашивании итема. Есть проблемка. Чтобы все нормально работало в ListView.OnClickItemEx нужно задавать каждому элементу конкретные размеры. Если элементы пересекаются, клик детектируется на первом по времени создания. Но тогда, если подставлять цветной прямоугольник под весь итем, то все клики упадут на него! Надо думать...