Size: a a a

2020 May 31

AK

Alexey Kulakov in Delphi & Lazarus
нет, beginupdate/endupdate не спасает
источник

DB

Dmitry Belkevich in Delphi & Lazarus
наборы полезны далеко не только при работе с базой, но с любыми данными. всё пишется вообще в пару кликов и имеешь всю готовую мощь наборов
источник

DB

Dmitry Belkevich in Delphi & Lazarus
а так вот - возня только
источник

AS

Alexey Shumkin in Delphi & Lazarus
Dmitry Belkevich
наборы полезны далеко не только при работе с базой, но с любыми данными. всё пишется вообще в пару кликов и имеешь всю готовую мощь наборов
+++
источник

AS

Alexey Shumkin in Delphi & Lazarus
Dmitry Belkevich
а так вот - возня только
+++
источник

AK

Alexey Kulakov in Delphi & Lazarus
у меня из файла грузятся данные, они разбиваются на разные структуры. в данном случае используется одна такая структура. Да, для неё из базы (если она подключена) читаются данные-названия для кодовых исходников.  удаление идёт только в таблице, покуда я вручную не нажму кнопку "Update". тогда данные запишутся в структуру в памяти, и только при сохранении файла вручную они уже сохранятся на диске...
источник

DB

Dmitry Belkevich in Delphi & Lazarus
вот - выбросить все структуры и оставить набор
источник

AK

Alexey Kulakov in Delphi & Lazarus
мне не надо усложнений. А в данном случае пришлось остановиться на следующем решении:
procedure TfmRecipes.sgRecipesKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
var
 i,lcnt:integer;
 ar:array of integer;
begin
 if (Key=VK_DELETE) then
 begin
   // 1 - calc lines amount
   lcnt:=0;
   ar:=nil;
   for i:=sgRecipes.RowCount-1 downto 1 do
     if sgRecipes.IsCellSelected[colTitle,i] then
        inc(lcnt);
   SetLength(ar,lcnt);
   // 2 - create numbers list
   lcnt:=0;
   for i:=sgRecipes.RowCount-1 downto 1 do
   begin
     if sgRecipes.IsCellSelected[colTitle,i] then
     begin
       ar[lcnt]:=i;
       inc(lcnt);
     end;
   end;
   // 3 - delete rows
   for i:=0 to lcnt-1 do
     sgRecipes.DeleteRow(ar[i]);
   SetLength(ar,0);
 end;
end;
источник

DB

Dmitry Belkevich in Delphi & Lazarus
это не усложнение, а упрощение. но ты, конечно, можешь считать по-другому
источник

AK

Alexey Kulakov in Delphi & Lazarus
Dmitry Belkevich
вот - выбросить все структуры и оставить набор
у меня savegame файлы с кучей разных структур внутри. И не факт, что будет какая-то база подключена. ЗАЧЕМ мне усложнять всё?
источник

DB

Dmitry Belkevich in Delphi & Lazarus
ок. значит только там, где работа с гридом нужна. и перейти на дбгид
источник

AS

Alexey Shumkin in Delphi & Lazarus
Alexey Kulakov
мне не надо усложнений. А в данном случае пришлось остановиться на следующем решении:
procedure TfmRecipes.sgRecipesKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
var
 i,lcnt:integer;
 ar:array of integer;
begin
 if (Key=VK_DELETE) then
 begin
   // 1 - calc lines amount
   lcnt:=0;
   ar:=nil;
   for i:=sgRecipes.RowCount-1 downto 1 do
     if sgRecipes.IsCellSelected[colTitle,i] then
        inc(lcnt);
   SetLength(ar,lcnt);
   // 2 - create numbers list
   lcnt:=0;
   for i:=sgRecipes.RowCount-1 downto 1 do
   begin
     if sgRecipes.IsCellSelected[colTitle,i] then
     begin
       ar[lcnt]:=i;
       inc(lcnt);
     end;
   end;
   // 3 - delete rows
   for i:=0 to lcnt-1 do
     sgRecipes.DeleteRow(ar[i]);
   SetLength(ar,0);
 end;
end;
Вот это, по-твоему, "упрощение"?
источник

AK

Alexey Kulakov in Delphi & Lazarus
да не нужен мне дбгрид!
источник

DB

Dmitry Belkevich in Delphi & Lazarus
Alexey Shumkin
Вот это, по-твоему, "упрощение"?
+. на наборе это в пару строк делается
источник

AK

Alexey Kulakov in Delphi & Lazarus
Alexey Shumkin
Вот это, по-твоему, "упрощение"?
это костыль из-за того, что в гриде не реализовано нормальное удаление выделенных строк. но его код настолько примитивен, что не страшно
источник

DB

Dmitry Belkevich in Delphi & Lazarus
Alexey Kulakov
это костыль из-за того, что в гриде не реализовано нормальное удаление выделенных строк. но его код настолько примитивен, что не страшно
ну ок, 'упрощай' тогда :)
источник

AK

Alexey Kulakov in Delphi & Lazarus
Dmitry Belkevich
+. на наборе это в пару строк делается
1 - я не работаю с наборами.
2 - пока я разберусь стем, что это из себя представляет, я прокляну все паскаль-компиляторы (и советчиков) не раз
3 - потом мне придется разбираться с глюками уже в этих наборах
4 - они слишком жирные и тормозные
источник

DB

Dmitry Belkevich in Delphi & Lazarus
ой, всё :)
источник

AK

Alexey Kulakov in Delphi & Lazarus
мне приходится рассчитывать даже на тормозные компы с небольшим относительно объёмом памяти
источник

AK

Alexey Kulakov in Delphi & Lazarus
как ты себе представляешь твой набор?
источник