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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
vladman

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

Цитата:
с мемо-полем изменяемого размера

Можно попробовать с TdxBarControlContainerItem, но не совсем понятно кто/что будет этот размер изменять? DesignTime/runTime? Да и, в принципе, непонятна необходимость Memo в DropDown меню. Пользователь будет в это Memo что-то вносить или копировать из него? либо в Memo будет статичный текст?

Всего записей: 708 | Зарегистр. 13-11-2002 | Отправлено: 21:43 11-05-2009 | Исправлено: vladman, 21:44 11-05-2009
Meister Floh



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vladman
Грубо говоря в мемо будет вносится структура БД типа:

Код:
 
CREATE TABLE SysData (
  DBVerDate DATE,
  DBVersion VARCHAR(20),
  DBStruct FORMATTEDMEMO,  
  UNIQUE INDEX DBVerDate (DBVerDate)
);
INSERT INTO SysData values ('2009-05-06', '1.0.0.1', MimeToBin('QwBSAEUAQQBUAEUAIABUAEEAQgBMAEUAIABUAGUAYwBoAFQAcgBlAGUAIAAoAA0ACgAgACAASQBEAFQAZQBjA
AoAIAAgAFQAZQBjAGgATgBhAG0AZQAgAFYAQQBSAEMASABBAFIAKAA1ADAAKQAsACAADQAKACAAIABQAFIASQBNAEEAUgBZ
ACAASwBFAFkAIABJAEQAVABlAGMAaAAgACgASQBEAFQAZQBjAGgAKQAsACAADQAKACAAIABJAE4ARABFAFgAIABJAEQAVABl
и т. д.='));
 

Которое будет переодически меняться.. Причем я внес переносов, а в MEMO их само собой быть не должно (т.е. WordWrap)
Не плохо бы было все это сохранять в какой-нить файл *.ini - поэтому не совсем хотелось бы было делать какую-нить форму через dialog luncher - потому как обработчик на сохранение писать не хочу, а по правильному все красиво сохранит только cxPropetiesStore вот по сему про Memo и спрашиваю...

Всего записей: 393 | Зарегистр. 04-08-2003 | Отправлено: 21:47 11-05-2009 | Исправлено: Meister Floh, 21:59 11-05-2009
vladman

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

Цитата:
Грубо говоря в мемо будет вносится структура БД типа:  

И что пользователь с этим должен уметь сделать?

Всего записей: 708 | Зарегистр. 13-11-2002 | Отправлено: 22:03 11-05-2009
Meister Floh



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vladman
Это не пользователь, а администратор... Ну такой не совсем администратор, который, может и ручками БД сотворить, а такой.. несколько недоделаный..
 
Для пользователя несколько другая часть приложения, которая, почти готова.. Кроме того, даже пользователь может внести в memo, то, что ему прислали на мыло..

Всего записей: 393 | Зарегистр. 04-08-2003 | Отправлено: 22:12 11-05-2009 | Исправлено: Meister Floh, 22:15 11-05-2009
vladman

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Meister Floh
OK ну он все же пользователь Вашего продукта (софта) Так вот, вопрос был в том, что он (пользователь, полуадминистратор, не важно) должен уметь (читай способен) сделать (View, Edit, Copy, Paste, Select...) с содержимым этого Memo в DropDownMenu Вашей кнопки?

Всего записей: 708 | Зарегистр. 13-11-2002 | Отправлено: 22:20 11-05-2009 | Исправлено: vladman, 22:21 11-05-2009
Meister Floh



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

Всего записей: 393 | Зарегистр. 04-08-2003 | Отправлено: 22:25 11-05-2009
vladman

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

Цитата:
компонент, с вываливающейся мемо-панелью


Цитата:
Грубо говоря удалить содержимое и вставить новое..  

Ну теперь более понятно назначение сего Memo.
Реализация есть, и, причем, стандартная, т.е. компонент, собственно, и написан уже, только собрать нужно немного
Используем cxEditItem PopupEdit, и в качестве свойства PopupControl этого PopupEdit указываем ваш настроенный на нужное количество "(по выбору) скрол-баров".

Всего записей: 708 | Зарегистр. 13-11-2002 | Отправлено: 23:00 11-05-2009
infomSB



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
VitOs2
По мне так вам достаточно использовать PageControl с каким нибудь скином, ведь по сути урезаете 99% функциональности Риббона, а используете только Закладки и Большую красивую иконку.

Всего записей: 75 | Зарегистр. 17-03-2006 | Отправлено: 09:29 12-05-2009
Meister Floh



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vladman
Во!!! Оно спасибо!!!! А то вчера уже просто аж нервы сдавать начали...

Всего записей: 393 | Зарегистр. 04-08-2003 | Отправлено: 09:56 12-05-2009
afiget



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Meister Floh
Честно говоря, даже предположить не мог, что ты не посмотрел в сторону PopupEdit. Хорошо, у vladman терпения хватило все повыспросить

Всего записей: 545 | Зарегистр. 31-12-2005 | Отправлено: 11:36 12-05-2009
Dimrix



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Подскажите, а как заполнить cxDBComboBox что бы он заполнялся данными (а не первым значение) и их можно было выбирать. Делаю я следуюющее. Ложу кверю. Делаю выборку всех данных без исключений. Ложу датасоурце и привязываю к квере. Выкладываю сабж (или cxDBLookupComboBox), указываю на датасорце. Толи делаю кверю актив, толи открываю при открытии окна - результат один - появляется только 1 первая запись из таблицы.

Всего записей: 61 | Зарегистр. 04-04-2004 | Отправлено: 11:56 12-05-2009
Meister Floh



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
afiget
Когда день над чем нить пробьешься, то как говорил Шарапов "..глаз замыливается, и даже чего не было замечаешь" Теперь вот еще проблему надыбал, правда не такую глобальную.. Как бы это его автоматом (через cxPropertieStore) сохранить TStrings из Memo...

Всего записей: 393 | Зарегистр. 04-08-2003 | Отправлено: 11:57 12-05-2009
vladman

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

Цитата:
Как бы это его автоматом (через cxPropertieStore) сохранить TStrings из Memo

А автомат кто/что спускать будет ? И что имелось ввиду через cxPropertieStore? А сохранять в файл? Путь/Имя файла где брать автомату? В общем вопросов масса
 
Добавлено:
Dimrix
Для Вашей задачи cxDBComboBox не подойдет. Вам нужен, как и написали cxDBLookupComboBox, только не "или", а "именно". И DataSource нужно привязывать не к свойству DataSource, а к свойству ListSource. Еще необходимо установить значение свойств KeyField и ListField.

Всего записей: 708 | Зарегистр. 13-11-2002 | Отправлено: 12:23 12-05-2009
Meister Floh



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vladman - cохранить TStrings из MEMO при помощи cxPropertieStore в ini файл. Автоматом значит cxPropertieStore->Active = true;

Всего записей: 393 | Зарегистр. 04-08-2003 | Отправлено: 12:30 12-05-2009 | Исправлено: Meister Floh, 12:55 12-05-2009
vladman

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Meister Floh
Ok, теперь ясно. Дело в том, что cxPropertieStore на данный момент не может сохранять TStrings. Девэкспресы с 01.08.2006 обещают это поправить. Ну раз еще не поправили, можно немного обработать эту ситуацию.
Идея очень простая - перед сохранением в файл/реестр компонентом cxPropertieStore, сохранить содержимое свойства типа TStrings в свойсво типа String и указать это свойство в cxPropertieStore как сохраняемое.
Я использую для таких случаев свойство Hint, но можно и любое другое текстовое поле, например HelpKeyword, все зависит от того какое из них не используется в данном проекте.
Итак, в обработчике onClose формы выполняем
  <YourcxMemo>.Hint := <YourcxMemo>.Lines.DelimitedText;  
а в обработчике onCreate формы выполняем
  <YourcxMemo>.Lines.DelimitedText := <YourcxMemo>.Hint;  
  <YourcxMemo>.Hint := ''; // ну, или ваш хинт если он используется
Вот, собственно и все.

Всего записей: 708 | Зарегистр. 13-11-2002 | Отправлено: 13:05 12-05-2009
afiget



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vladman
А в этом случае переносы строк нормально сохраняются или все же бьются?

Всего записей: 545 | Зарегистр. 31-12-2005 | Отправлено: 13:30 12-05-2009
vladman

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

Цитата:
А в этом случае переносы строк нормально сохраняются или все же бьются?

имелось ввиду #13#10?
Да, нормально. После восстановления все один в один.
 
Добавлено:
Кстати так же сохраняю и MRU Lists

Всего записей: 708 | Зарегистр. 13-11-2002 | Отправлено: 13:45 12-05-2009
afiget



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vladman
Понятно, спасибо за инфу.
А фильтры в гриде сам сохраняешь по предлагаемому разработчиками сценарию или что-то свое?
 
ЗЫ
Кстати, SQL-запросы пробовал так сохранять. Проблем не возникало? А то у меня старый проект есть на поддержке, разработчики писали всю логику на клиенте и обновлять не очень удобно. Давно собирался изменить такое положение дел, вот и вспомнил.

Всего записей: 545 | Зарегистр. 31-12-2005 | Отправлено: 14:27 12-05-2009 | Исправлено: afiget, 14:33 12-05-2009
vladman

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

Цитата:
А фильтры в гриде сам сохраняешь по предлагаемому разработчиками сценарию

Да, StoreToRegistry, StoreToIniFile с установленными TcxGridStorageOption = (gsoUseFilter, gsoUseSummary);

Цитата:
Кстати, SQL-запросы пробовал так сохранять. Проблем не возникало?

Нет, не пробовал, не было надобности. Думаю что проблем не должно быть.

Всего записей: 708 | Зарегистр. 13-11-2002 | Отправлено: 14:48 12-05-2009
Meister Floh



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
afiget
vladman
Спасибо, такая примерно мысль и была..  Только я пытался, разместить что-то, что будет в паблишед, и будет обладать неким свойством UnicodeString (или String, AnsiString, WideString и т.п.) Потому как сохранять SQL, а в нем не критичны перевод строки возврат каретки, но раз и они сохраняются - все гут...

Всего записей: 393 | Зарегистр. 04-08-2003 | Отправлено: 20:35 12-05-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