-
Выложил свои компоненты для VCL - те, которые действительно нужны самому практически постоянно. На сайте kolmck, в разделе VCL. С исходниками, лицензия GNU GPL. Есть подробная документация на русском (на английском нету). Кому надо - берите.
-
а тоже самое для кол не планируеца?
-
Удалено модератором
-
Вообще, это все нужно именно для VCL, и сделано по принципам VCL, объем кода не важен, важна скорость, устойчивость, и постоянное применение. Кроме этого набора, для постоянной работы в Delphi мне вообще ничего не нужно (один раз gif был нужен, так он стандартный есть, и для D5 в RXlib).
NormalReport имеет зеркало KOLReport, ODBCQuery вообще дуальный - добавляется символ условной компиляции KOL, и компилируется для KOL (правда, эта версия под KOL не тестировалась).
DecimalCalculations - тоже дуальный. FastTable - адаптируется легко, пока необходимости не было.
FastListView слишком наворочен для KOL, в зависимости от надобностей можно обойтись KOLListView, KOLListData, и еще есть грид-компоненты. FastTreeView - желающие адаптировать приглашаются, код открыт.
TKnopka - в KOL есть все, что надо, собственно, сама идея совместимости с темами и произвольного содержимого на кнопке стиснута с KOL/MCK-кнопки, в KOL многое даже проще сделать. Цель создания TKnopka я указал, внешность меня мало волновала (это уже заодно), просто замучили пользователи, кликающие по всем кнопкам двойным кликом, или не дожидающиеся конца долгих операций с БД.
-
FastTreeView кокраз и интересовал,просто страно что его изначально не заколили, хотя терки про то что обычный TreeView говно ,были уже не раз
-
Мне он в KOL не был нужен, а вот на работе для VCL наоборот очень. Так что ничего странного.
-
Кстати, обновил. Мне вдруг захотелось, чтобы это еще и с темами дружило, так что переделал UniEdit (использует Knopka), и добавил фичу для быстрой замены существующих кнопок на TKnopka/TPnKnopka. Еще буду тестировать, но на первый-второй-третий взгляд вроде бы работает как требовалось. Кстати и в TFastListView с темами проблемы были: грид затирался движением мыши, пришлось побороть. Заодно обнаружил, что в Delphi5 в проекте темы лучше вообще не использовать, если TListView есть. А с моим TFastListView вроде бы проблем нет. Странно это, он ведь в конечном итоге от TListView происходит. Правда, сам свой хидер обслуживает, а у TListView проблема проявляется при наведении мыши на хидер, после чего из отладчика обратно вернуться уже не удаётся - все время снова туда же падает. В Delphi6 и дальше проблемы с TListView+манифест вроде бы нет. Но я люблю D5 - за дикую скорость работы, запуска, компиляции - по сравнению с поздними. Я бы и D4 пользовался, если бы не глючил сильно.
Да, по сравнению с первым выпуском были переделки еще в TNormalReport (выравнивание при WrapSyllabel/WrapLetters поправлял, еще по мелочам). Для TKnopka тоже кое-что поправлял, теперь он может заменять TSpeedButton и TBitBtn правтически полностью (GroupIndex+AllowAllUp мне не нужен, над ним не старался), из KOL спер реализацию LikeSpeedButton, свойство TKnopka.SpeedButton не дает кнопке попадать в фокус. Правда, здесь не совсем удалось решить проблему обхода следующих кнопок по Tab'у, в KOL свой алгоритм обхода, там проще.
-
Сегодня обновил. Пришлось отказаться от полностью внутреннего импорта кнопок через design-time визард. Неимоверные глюки полезли на ровном месте. Чего только не перепробовал, простое переименование компонента вызывало падение IDE. Пришлось просто править исходники и заставлять ждать, пока Delphi не "заметит", что они изменились на диске. Еще и с шансом, что так и не дождется, и тогда надо руками переключиться в другое окно, потом назад. Пришлось высвечивать инструкцию. Геморно и ждать 3 секунды, но зато без выпадений Delphi.
Так что, желающие спортировать FastTeeView под KOL будут? Сам я не найду времени.
-
Мне было бы очень интересно глянуть на Ваши компоненты, но я не понял по какому интернет адресу их искать. В качестве "сайт kolmck" пробовал http://www.kolmck.net/ и http://kolnmck.kolmck.net/но ни там, ни там упомянутых компонентов не нашёл. Направьте, пожалуйста.
-
-
Не могли бы Вы пояснить что делаю не так? Есть DBF, в ней где-то 500000 строк. Делаю к ней запрос, он выполняется где-то секунд 3-5, но это терпимо. А как перетащить значения всех полей в FastTable с наименьшей потерей времени? Код написанный ниже выполняется очень долго. Может есть более быстрый вариант? В директивах указан BDE_DB VirtualTotally:=True;
var
Q:TNewQuery;
T: TFastTable;
procedure TForm1.Button2Click(Sender: TObject);
var
Table:String;
begin
Table:='D:\dBase.DBF';
Q:=TNewQuery.Create(Form1);
T:= TFastTable.Create;
with Q do
begin
SQL.Clear;
SQL.Add('SELECT Name, Code');
SQL.Add('FROM \"'+Table+'\"');
SQL.Add('ORDER BY NAME');
Open;
end;
T.Clear;
if not Q.Eof then
begin
T.AssignFirst( 0, Q );
Q.Next;
while not Q.Eof do
begin
T.AssignFast(T.Count, Q);
Q.Next;
end;
end;
FastListview1.Items.Count:=Q.RecordCount;
end;
procedure TForm1.FastListview1DataCell(Sender: TFastListview; ItemIdx,
ColIdx: Integer; var Txt: String);
begin
case ColIdx of
0: ;
1: Txt:=T.Values[ItemIdx,'code'] ;
2: Txt:=T.Values[ItemIdx,'Name'];
end;
end;
-
Как ни глупо прозвучит, но AssignFast - это самый медленный способ. Зато он быстро записывается в коде :) Надо задействовать свойства SS, II, FF, с кэширующим доступом к колонкам по имени/индексу, или прямо брать ValByColIdx[ ], IntValByColIdx[ ], ... (но сначала добавить колонки, например, присвоить в требуемом порядке значения, как-то так: T[0, 'колонка0']:='';
T[0,'колонка1']:='';
...
-
> Зато он быстро записывается в коде :)
Да, код как-то быстро написался, а вот на быструю загрузку придется время потратить! В целом компоненты удобные. Не плохо было бы еще демки к ним.
|