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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Использование DevExpress (часть 3)

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

ShIvADeSt (31-12-2009 04:49): Продолжаем тут http://forum.ru-board.com/topic.cgi?forum=33&topic=10884  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121

   

golkanavt



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

Обмен опытом, обсуждение нюансов и решение проблем возникающих при использовании библиотеки компонент Developer Express




 
Сами прирученные компоненты частенько приходят на водопой сюда
 
DLL со скинами из библиотеки dxSkins, автор Ziltoid Подробнее... линк обновлен
Продолжение, Первая часть, вторая часть

Всего записей: 1069 | Зарегистр. 08-04-2002 | Отправлено: 10:31 07-02-2009 | Исправлено: vladman, 14:36 24-10-2009
Chukotka

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

Цитата:
Попробуйте так:
<YourTabContainerDockSite>.ActiveChild := <YourDockPanel>

Эффект аналогичный установке DockingController.ActiveDockControl: DockPanel активизируется, но фокус на первый по TabOrder-элемент внутри панели не устанавливается. Похоже, что это именно логика работы DockLibrary

Всего записей: 428 | Зарегистр. 01-11-2006 | Отправлено: 10:10 10-04-2009
ZBEP



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vladman, спс, уже разобрался.
Кинул все компоненты формы на  и все стало как надо)).
Скрин щас дать не могу (не дома), попробую словами описать:
Есть форма с Ribbon (всеравно от BEV или стандартный) и на этой форме расположены GroupBox'ы (больше чем вмещает сама форма) и приходится ставить Form1 AutoScroll = True.
И при прокрутки прокручиваются не только GroupBox'ы, но и Ribbon (со всеми сис.кнопками. Т.е. Закрыть, развернуть, свернуть).
Я в делфи недавно т.ч. не много знаю, решение нашел в ScrollBox (поместил все нужные компоненты на неё) и отключил у формы Autoscroll

Всего записей: 186 | Зарегистр. 09-04-2009 | Отправлено: 10:53 10-04-2009
vladman

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

Цитата:
Эффект аналогичный установке

Давайте пример приложения. Разберемся.
 
ZBEP

Цитата:
решение нашел в ScrollBox  

Именно так и нужно было делать.

Всего записей: 708 | Зарегистр. 13-11-2002 | Отправлено: 11:31 10-04-2009
ZBEP



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
И еще один вопросик, у меня Unit10.pas занимает 13378 КБ (13.0 МБ)
И при работе в коде 10 формы после 5-10 изменений делфи начинает виснуть на 5-20 сек. (приходится вырезать весь текс кроме нужной процедуры и т.д, вставлять в блокнот, писать процедуру и затем обратно вставлять в делфи вырезанный текст из блокнота).
Можете подсказать как можно решить эту проблему?
П.с.
И компелируется после изменения Unit10.pas тож долговато( Но эт из-за большего условия корее всего

Всего записей: 186 | Зарегистр. 09-04-2009 | Отправлено: 11:54 10-04-2009 | Исправлено: ZBEP, 12:03 10-04-2009
Chukotka

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

Цитата:
Давайте пример приложения. Разберемся.  

да, собственно, тот же эффект наблюдается и для стандартного примера DockingMegaDemo от DevX: достаточно "отцепить" TabContainer с ClassView\SolutionExplorer - и при активизции закладок из главного меню перестает устанавливаться фокус на внутренние элементы.

Всего записей: 428 | Зарегистр. 01-11-2006 | Отправлено: 12:12 10-04-2009
greenpc

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

Цитата:
Можете подсказать как можно решить эту проблему?  

Разделить на несколько юнитов  
и компелится быстрее будет

Всего записей: 401 | Зарегистр. 18-04-2003 | Отправлено: 12:25 10-04-2009
ZBEP



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
greenpc неподскажешь как сделать "ссылки" на эти юниты в коде 10 формы?
Или ссыль где об этом написанно.
П.с.
Сори за офф

Всего записей: 186 | Зарегистр. 09-04-2009 | Отправлено: 12:42 10-04-2009
f3ka

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ZBEP
разве uses тобой никогда не использовался?

Всего записей: 497 | Зарегистр. 02-03-2007 | Отправлено: 13:57 10-04-2009
vladman

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

Цитата:
собственно, тот же эффект наблюдается и для стандартного примера DockingMegaDemo от DevX

Не совсем так. Фокус остается на "внутреннем" элементе если до переключения он находился тоже на "внутреннем" элементе. Если фокус находился до переключения, скажем на элементе управления DockPanel, Header, например, то наблюдается описанное Вами поведение. Согласен, это не совсем верно. Посему можно написать маленький метод.  

Код:
 
procedure TDockingMegaDemoMainForm.ActivateDockPanelChildControl(ADockPanel: TdxDockPanel);
var
  i: Integer;
begin
  for i := 0 to ComponentCount - 1 do
    if Components[i].GetParentComponent = ADockPanel then
      begin
        TWinControl(Components[i]).SetFocus;
        Break;
      end;
end;
 

 
И во всех обработчиках активации той или иной DockPanel прописать вызов ActivateDockPanelChildControl(<YourActivatedDockPanel>);
 
Например для TDockingMegaDemoMainForm.dxBarButtonSolutionExplorerClick это может выглядеть так:

Код:
 
...
  if (dpSolutionExplorer = nil) then exit;
  if not dpSolutionExplorer.Visible then
    dpSolutionExplorer.Visible := True;
  dxDockingController.ActiveDockControl := dpSolutionExplorer;
  ActivateDockPanelChildControl(dpSolutionExplorer);  //-> Added
...
 

Всего записей: 708 | Зарегистр. 13-11-2002 | Отправлено: 14:06 10-04-2009
greenpc

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

Цитата:
Или ссыль где об этом написанно.

я даже растерялся это же основы
_http://www.delphikingdom.com/asp/viewitem.asp?catalogid=1179
_http://delphibasics.ru/Uses.php

Цитата:
в коде 10 формы
значит что были формы 1-9?
между ними возможно Вы как-то работаете

Всего записей: 401 | Зарегистр. 18-04-2003 | Отправлено: 14:23 10-04-2009 | Исправлено: greenpc, 14:26 10-04-2009
vladman

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

Цитата:
И еще один вопросик, у меня Unit10.pas занимает 13378 КБ (13.0 МБ)  

Ну Вы даете. У DevExpress ВСЕ *.pas файлы ВСЕХ библиотек (906 штук) занимают 42,5 МБ. Самый большой по размеру dxBar.pas 1,63 МБ (1 718 627 байт) 53841 строка.
Просто интересно, неужели Вы смогли написать в 13/1,6 = 8,125 раз, т.е. 8,125*53841=437458 (ориентировочно конечно) строк кода??? Что Вы смогли "засунуть" в этот "бедный" Unit10.pas?
Действительно интересно. Специально нашел "Война и Мир" Толстого. Размер 4-х томов в текстовом виде - 3,04 МБ (3 197 190 байт) 47342 строки

Всего записей: 708 | Зарегистр. 13-11-2002 | Отправлено: 14:28 10-04-2009
ZBEP



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
f3ka. млин я тупанул, не о том подумал.
Всем спс.
vladman
Да, но там он не сложный, немного запутанный, и т.к. я еще очень мало знаю делфи то и немного большой.
90% кода - условие (делаю авто расстановку расписания всего колледжа по семестрам, включая часы работы препадов, самих препадов, дни, скок пар в неделю, пар в семестр, в день, четная нечетная неделя, кабинеты, совмесные пары, и т.д. с возможностью полной автоматики и ручного изменения).
П.с.
59988 строк
на строчке 400-500 знаков (эт там где условие, но часть условия(для удобства) переходит на 2 строчку (если все вместить, то будет примерно 35000 строк))

Всего записей: 186 | Зарегистр. 09-04-2009 | Отправлено: 15:22 10-04-2009 | Исправлено: ZBEP, 16:46 10-04-2009
Felias Fogg

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vladman
Showhint = true формы действительно показывает Хинты. Спасибо.
У меня 38 билд

Всего записей: 28 | Зарегистр. 11-11-2008 | Отправлено: 15:29 10-04-2009
vladman

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ZBEP
Вам нужно смотреть в сторону рефакторинга, 100%. Так как 52000 строк условий - это уж слишком. Кто в этом коде кроме Вас, да и Вы тоже через пол года, сможет разобраться.
Felias Fogg

Цитата:
У меня 38 билд

Тогда остается загадкой какой баг имелся ввиду в _http://www.devexpress.com/issue=B133178 и что исправилось в 42 билде касательно этого. Ну да ладно.

Всего записей: 708 | Зарегистр. 13-11-2002 | Отправлено: 16:02 10-04-2009
ZBEP



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vladman, можешь поподробнее об рефакторинге.
П.с.
Не, на самом деле код оч легкий, и скорее всего его можно написать более компактно, прост я пока не знаю как(

Всего записей: 186 | Зарегистр. 09-04-2009 | Отправлено: 16:51 10-04-2009
vladman

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

Цитата:
можешь поподробнее об рефакторинге

http://ru.wikipedia.org/wiki/%D0%A0%D0%B5%D1%84%D0%B0%D0%BA%D1%82%D0%BE%D1%80%D0%B8%D0%BD%D0%B3

Всего записей: 708 | Зарегистр. 13-11-2002 | Отправлено: 17:11 10-04-2009
Aleksandr_N

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

Цитата:
Если я правильно понял Ваши пожелания и исходя из маски "!2-24-0000;1;_", то попробуйте так - '2-24-\d\d\d\d'  

Это я понимаю, но цифры 2-24 всёравно видно. Нужно чтобы не было видно цифр и при этом не нужно вводить цифру 2 для проявления оставшейся части маски.

Всего записей: 1665 | Зарегистр. 25-02-2008 | Отправлено: 17:27 10-04-2009
vladman

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Aleksandr_N
Т.е. Вы хотите чтобы пользователь при желании ввести скажем значение 2-24-9876 вводил только 9876 и при этом не видел 2-24 во время ввода? Но в значении, при просмотре, отображалось 2-24-9876?

Всего записей: 708 | Зарегистр. 13-11-2002 | Отправлено: 17:48 10-04-2009
Aleksandr_N

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vladman
ДА!!! При этом я не против, если ТОЛЬКО в режиме редактирования ячейки были видны 2-24, но пользователь вводил ТОЛЬКО 9876!!! В пустой ячейке должно быть ПУСТО (скрытая маска).
 
Добавлено:
vladman
Точно так, как это было в dxGrid.

Всего записей: 1665 | Зарегистр. 25-02-2008 | Отправлено: 18:18 10-04-2009
ZBEP



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вообщем в 100 раз сзвеняюсь за то что не по теме, но надеюсь вы мне сможите помоч.
постараюсь нормально сформулировать что хочу сделать.
Есть часть условия:
if (Edit40.Text<>t1) and (Edit38.Text<>t1) and (Edit36.Text<>t1) and (Edit34.Text<>t1) and (Edit32.Text<>t1) and (Edit30.Text<>t1) and (Edit28.Text<>t1) and (Edit26.Text<>t1) and (Edit24.Text<>t1) and (Edit22.Text<>t1) and (Edit20.Text<>t1) and (Edit18.Text<>t1) and (Edit16.Text<>t1) and (Edit14.Text<>t1) and (Edit12.Text<>t1) and (Edit10.Text<>t1) and (Edit8.Text<>t1) and (Edit6.Text<>t1) and (Edit4.Text<>t1) and (edit2.Text<>t1)
____________________________________
Оно повторяется если быть точным 4200 раз.
Изменяются только "номера\имена" эдитов (только четные от 2 до 240) и "t1" (t2, t3, t4, .. ,t35).
Хотелось бы задать переменную (Например "Z") и присвоить ей это условие, но так чтобы переменные "t1, t2, t3, .. ,t35)" и "имена\номера" эдитов задавались в каждой процедуре (всего 6 процедур), где находится оставшееся часть условия.

Всего записей: 186 | Зарегистр. 09-04-2009 | Отправлено: 19:35 10-04-2009 | Исправлено: ZBEP, 20:00 10-04-2009
   

Страницы: 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 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Использование DevExpress (часть 3)
ShIvADeSt (31-12-2009 04:49): Продолжаем тут http://forum.ru-board.com/topic.cgi?forum=33&topic=10884


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru