Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по компонентам для Delphi, C++ Builder 2

Модерирует : ShIvADeSt

ShIvADeSt (20-06-2007 07:33): http://forum.ru-board.com/topic.cgi?forum=33&topic=8529  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106

   

Samotek

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Привет всем!
Подскажите, пожалуйста, какую нибудь замену TMainMenu, TPopupMenu и TMenuItem c исходниками для добавления своих фич.

Всего записей: 2448 | Зарегистр. 18-05-2005 | Отправлено: 16:57 21-09-2006
Sexton

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Samotek, TdxBar (DevExpress).

Всего записей: 142 | Зарегистр. 31-05-2004 | Отправлено: 17:29 21-09-2006
Arvur



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Samotek
Toolbar2000
DevExpress имхо излишне монстрообразен.

Всего записей: 2111 | Зарегистр. 18-01-2002 | Отправлено: 18:03 21-09-2006
xy



ХУдератор
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
RomanTim
Цитата:
вызывать Application.ProcessMessages - без этого прогресс бар отрисовываться все равно не будет

 
вы уж меня извините, но Бар отрисовывается и так отлично :)
 
 
а за идею с
Цитата:
Application.ProcessMessages
вообще вам с Arvur спасибо
 
я так понимаю Application.ProcessMessages перечитывает системные сообщение, т.е. это надо хуки на них ставить (на клавиатурные) :-?
всё таки если можно примерчик с перехватом Эскейпа, ибо давно когда-то с сообщениями работал и что-то у меня плохие воспоминания :)

----------
Счастливые мысли приводят к счастливой клеточной биохимии

Всего записей: 10530 | Зарегистр. 28-05-2003 | Отправлено: 18:43 21-09-2006
RomanTim

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
xy

Цитата:
вы уж меня извините, но Бар отрисовывается и так отлично  

Странно... теоретически форма вообще отрисовываться не должна - для этого ведь надо обработать WM_PAINT, но раз работает - то и ладно
 

Цитата:
я так понимаю Application.ProcessMessages перечитывает системные сообщение, т.е. это надо хуки на них ставить (на клавиатурные) :-?
всё таки если можно примерчик с перехватом Эскейпа, ибо давно когда-то с сообщениями работал и что-то у меня плохие воспоминания

Имено так - разгребает все, что успело к моменту вызова набежать в очередь. А хуки - это уже через чур - хватит обчного OnKeyPressed или OnKeyDown у формы c включенным KeyPreviw

Всего записей: 375 | Зарегистр. 11-09-2003 | Отправлено: 20:39 21-09-2006
xy



ХУдератор
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
RomanTim

Цитата:
Имено так - разгребает все, что успело к моменту вызова набежать в очередь. А хуки - это уже через чур - хватит обчного OnKeyPressed или OnKeyDown у формы c включенным KeyPreviw

Понятно, спасибо :)
 

Цитата:
Странно... теоретически форма вообще отрисовываться не должна - для этого ведь надо обработать WM_PAINT, но раз работает - то и ладно

Видимо Repaint именно для того и нужен, чтоб это обходить

----------
Счастливые мысли приводят к счастливой клеточной биохимии

Всего записей: 10530 | Зарегистр. 28-05-2003 | Отправлено: 20:44 21-09-2006
RomanTim

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
xy

Цитата:
Видимо Repaint именно для того и нужен, чтоб это обходить

Repaint действительно принудительно переисовывает окно - видимо напрямую вызывает процедуру отрисовки.
А с прогресбаром вообще интересно - получается у него репайнт автоматом срабатывает при изменении значения. по крайней мере если написать такое
Код:
  for i := 1 to 100000 do  
    for j := 1 to 100000 do
      ProgressBar1.Position := (j div i) mod 100;

то форма не прорисовывается, а тулбар преспокойненько бегает туда-сюда
Очень удобно получается - надо бы запомнить

Всего записей: 375 | Зарегистр. 11-09-2003 | Отправлено: 23:44 21-09-2006 | Исправлено: RomanTim, 23:45 21-09-2006
xy



ХУдератор
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
RomanTim
Однако стоит заметить, что если не перерисовать бар после Show, то его никто не увидит ;)

----------
Счастливые мысли приводят к счастливой клеточной биохимии

Всего записей: 10530 | Зарегистр. 28-05-2003 | Отправлено: 23:47 21-09-2006
vipettut



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Samotek
 
ToolBar2000 by Jourdan Russel
+TBX  
+SpTbxlib
 
будет все красиво и с юникодом!

Всего записей: 679 | Зарегистр. 17-03-2006 | Отправлено: 00:35 22-09-2006
RomanTim

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
xy

Цитата:
Однако стоит заметить, что если не перерисовать бар после Show, то его никто не увидит

В том то и дело, что никакого переисовывания я руками не вызываю. Этот двойной цикл выполняется довольно долго, если в это время над окном с прогресом провести окном другого приложения, то вместо формы на экране будут остатки изображения другого окна, а на фоне этого мусора будет бегающая полоска - хватает просто изменения Position.
 
Собственно говоря, в МСДН так и написано: PBM_SETPOS Message - Sets the current position for a progress bar and redraws the bar to reflect the new position. В общем можно в очередной раз сказать себе - учи матчасть

Всего записей: 375 | Зарегистр. 11-09-2003 | Отправлено: 07:54 22-09-2006
xy



ХУдератор
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
RomanTim
в двойном безсмысленном цыкле да, но в моем случае с датасетом - промежуток времени между Show и первым изменением позиции не моментален, поэтому репэинт там весьма уместен как мне кажется ;)
 
а кстати для открисовки окна и избежания зависания.. что можно вызывать в цикле и насколько это будет влиять на производительность :-?
может вызывать отрисовку (Application.ProcessMessages ?) каждую 1000 итераций.. как-то так :-?

----------
Счастливые мысли приводят к счастливой клеточной биохимии

Всего записей: 10530 | Зарегистр. 28-05-2003 | Отправлено: 10:21 22-09-2006
Samotek

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sexton
Arvur
vipettut
Спасибо, ребята, будем пробовать.
С уважением, Samotek.  

Всего записей: 2448 | Зарегистр. 18-05-2005 | Отправлено: 10:37 22-09-2006
xy



ХУдератор
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите, пожалуйста, нет ли где у/для FIB+ функции, для нормальной локальной сортировки украинской локали
 
Ибо стандартный прием несовсем отрабатывает, остается неотсортированной буква I, хотя проблему Є оно решает :-/

----------
Счастливые мысли приводят к счастливой клеточной биохимии

Всего записей: 10530 | Зарегистр. 28-05-2003 | Отправлено: 12:25 22-09-2006
RomanTim

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
xy

Цитата:
в двойном безсмысленном цыкле да, но в моем случае с датасетом - промежуток времени между Show и первым изменением позиции не моментален, поэтому репэинт там весьма уместен как мне кажется

Такие вещи несколько удобнее делать не в OnShow - в OnShow можно сделать
PostMessage(Handle, WM_USER, 0, 0);
 
а в процедуре обработки этого сообщения начинать свой запрос
procedure WMUser(var Msg: Tmessage); message WM_USER;
тогда форма отрисуется и уже потом твой долгий код выполняться будет
 

Цитата:
а кстати для открисовки окна и избежания зависания.. что можно вызывать в цикле и насколько это будет влиять на производительность :-?
может вызывать отрисовку (Application.ProcessMessages ?) каждую 1000 итераций.. как-то так :-?

Application.ProcessMessages и надо вызывать, а через сколько итераций - это лучше опытным путем подобрать.

Всего записей: 375 | Зарегистр. 11-09-2003 | Отправлено: 13:12 22-09-2006 | Исправлено: RomanTim, 13:13 22-09-2006
vsh747

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
а кстати для открисовки окна и избежания зависания.. что можно вызывать в цикле и насколько это будет влиять на производительность :-?  
А чего так не хочется использовать отдельный thread? Если уж так сложно в коде то возьми на помощь TjclThread (или как-то так) из JVCL, так много чего для design-time сделано.

Всего записей: 426 | Зарегистр. 29-01-2004 | Отправлено: 15:16 22-09-2006
Sergey913

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите бесплатный компонент для работы с Mysql 5 из Delphi?
Искал по форуму, нашел только DirectMySQLObjects и ZEOS Database Objects, оба не работают с такими версиями. Еще находил mydac, но он платный и всего 60 дней работает, больше платные не пробовал.
 
Вобщем либо версия неподходит, либо платный. Есть что-то бесплатное?

Всего записей: 60 | Зарегистр. 22-09-2006 | Отправлено: 15:23 22-09-2006
xy



ХУдератор
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vsh747
Цитата:
А чего так не хочется использовать отдельный thread?

та просто потому, что мне это не надо :)

----------
Счастливые мысли приводят к счастливой клеточной биохимии

Всего записей: 10530 | Зарегистр. 28-05-2003 | Отправлено: 16:25 22-09-2006
Sexton

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sergey913
Цитата:
Подскажите бесплатный компонент для работы с Mysql 5 из Delphi?

Ну так TMySQL5, соответственно (http://tmysql5.blogspot.com/).

Всего записей: 142 | Зарегистр. 31-05-2004 | Отправлено: 20:34 22-09-2006
Sexton

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
xy
Цитата:
Sexton  та не, с FetchNext всё просто  если нам не жалко сервер (а чего его жалеть :-?) он как правило при наличии Primary Key хорошо с count справляется, я делаю следующее:

Учитывая, что выборки будут крупные, стоит ли выполнять их на сервере по 2 раза (Count+собственно выборка), да еще и при многопользовательской работе?
В любом случае, как правильно сказано, фетч надо оформлять в отдельный поток. А Фибы, я думаю, позволят из другого потока получать количество уже отфетченных записей (psAskRecordCount надо будет, конечно, отключить).

Всего записей: 142 | Зарегистр. 31-05-2004 | Отправлено: 16:27 23-09-2006
pzaytsev

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Кто может подсказать инструмент аналогичный BlazeTop SQL Monitor для работы с Firebird 2. На двойке при массивных запросах BT SQL Monitor умирает.
Devrace (которые выпускают FIBPlus, Athlant, а также BlazeTop) выпустили вместо BlazeTop новый продукт - SQLHammer - но он поддерживает только Firebird 1,5.  
Какие у кого варианты?
 
IBExpert не предлагать - там только внутренний SQL Monitor.

Всего записей: 402 | Зарегистр. 22-08-2005 | Отправлено: 11:45 25-09-2006
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по компонентам для Delphi, C++ Builder 2
ShIvADeSt (20-06-2007 07:33): http://forum.ru-board.com/topic.cgi?forum=33&topic=8529


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru