Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.02.2012, 12:43   #1
delphicoding
Заблокирован
 
Регистрация: 04.07.2011
Сообщений: 261
Вопрос Несколько вопросов средней сложности

Здравствуйте!
Набралось несколько вопросов средней сложности, надеюсь сможете подсказать.
Модератору - создаю одну тему, а не несколько, тк вопросов много - не хочу засорять кучей тем ваш форум.
1. Как можно сделать для полей ввода режим типа Enabled=False (полная блокировка поля), но чтобы текст был легко читаемым как обычный чёрный (не осветлялся)? Можно ли это настроить один раз для всего проекта?
2. Нужно в cxGrid при вводе прямо в таблицу сделать отображение поля для выбора файла, есть там Properties ShellComboBox, но он не очень удобен, можно как-то сделать через открытие нового окна "Диалог выбора файла"?
3. Как автоматически почистить весь проект по каждому .pas от неиспользуемых USES ?
4. Есть некий СводныйКаталог с фильтром, к нему привязан DataSet. Пользователь выбирает значения в фильтре, эти параметры передаются в хранимую процедуру в БД, которая из нескольких таблиц БД собирает одну таблицу для отображения в СводномКаталоге. Всё работает. Вопрос - как при изменении записи в таблицах связанных с этим СводнымКаталогом обновлять только одну изменённую запись??? Иными словами DataSet-SQL-Select ссылается не на одну таблицу, а на ХП которая на основе параметров запроса (select * from StoredProcedure (?Param1,?Param2,?Param3..)) выбирает из множества таблиц - как в таком случае написать Refresh?? Запрос вида (select * from StoredProcedure (?Param1,?Param2,?Param3..) where Table1_ID=X) - не даёт результата, запись в СводномКаталоге не обновляется. Получается только через FullRefresh, но это опять передавать все данные, что делать имхо неправильно. Как же делать?
5 Почему-то не всегда срабатывает наследование процедур от родительской формы в дочернюю - приходится писать пустую процедуру вида:
Код:
procedure TfForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  inherited;
//
end;
С чем может быть связано и как обойтись без этого?
delphicoding вне форума Ответить с цитированием
Старый 03.02.2012, 12:48   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
1. Как можно сделать для полей ввода режим типа Enabled=False (полная блокировка поля), но чтобы текст был легко читаемым как обычный чёрный (не осветлялся)? Можно ли это настроить один раз для всего проекта?
ReadOnly свойство же есть.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 03.02.2012, 13:02   #3
delphicoding
Заблокирован
 
Регистрация: 04.07.2011
Сообщений: 261
По умолчанию

Цитата:
1. ReadOnly свойство же есть.
Свойство лишь не позволяет менять значение, но не блокирует компонент, например у LookupComboBox ставится курсор мышкой, по Tab, и даже выпадает список - всё это не нужно, должно быть заблокировано.
delphicoding вне форума Ответить с цитированием
Старый 03.02.2012, 13:11   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Не знаю чего за LookupComboBox, у комбобокса вообще нет ридонли.
Цитата:
по Tab
TabStop
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 03.02.2012, 13:14   #5
delphicoding
Заблокирован
 
Регистрация: 04.07.2011
Сообщений: 261
По умолчанию

Не, это не то. Стилями никак нельзя перенастроить стиль отображения для Enabled:=False?
delphicoding вне форума Ответить с цитированием
Старый 03.02.2012, 13:15   #6
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

1. ReadOnly = True
2. Да. Отрисовывать кнопку в ячейке, самостоятельно.
3. Можно. В cnPack есть такой инструмент.
4. Иметь 2-ой невидимый список получаемых данных, и сравнить его с тем, что уже имеется, сравнить построчно. Измененное заменить, а новое в конец пихнуть.

5. Дочерняя в смысле MDI? Для простых окон, назначать событие Form1 для Form2 как минимум плохо.
Событие OnClose вызваетсся всякий раз при Close; Вызов стандартного метода там как минимум не нужен(inherited), если у ва не наследуется свойкласс формы от стандартного TForm, если второе то вызов inherited должен быть в конце метода.
Человек_Борща вне форума Ответить с цитированием
Старый 03.02.2012, 13:25   #7
delphicoding
Заблокирован
 
Регистрация: 04.07.2011
Сообщений: 261
По умолчанию

1. Написано выше - не катит.
2. Слишком сложно, уже найден лучший вариант.
3. ОК, спасибо.
4. Это имхо извращение.
5. Дочерняя в смысле inherited - создание наследуемых форм в Delphi. Форма наследуется это видно, но некоторые события не срабатывают - приходиться писать такие вот пустые процедуры со словом "inherited". Странный глюк.
delphicoding вне форума Ответить с цитированием
Старый 03.02.2012, 13:29   #8
xrenomx
Пользователь
 
Аватар для xrenomx
 
Регистрация: 05.02.2011
Сообщений: 63
По умолчанию

Прошу прощения невнимательно прочел))

Delete

На счет первого...сам с эти возился,но меня устроил ридонли,хотя на счет стилей раньше не задавался вопросом,вроде должен быть такой вариант.

Последний раз редактировалось xrenomx; 03.02.2012 в 13:35.
xrenomx вне форума Ответить с цитированием
Старый 03.02.2012, 13:43   #9
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Цитата:
5. Дочерняя в смысле inherited - создание наследуемых форм в Delphi. Форма наследуется это видно, но некоторые события не срабатывают - приходиться писать такие вот пустые процедуры со словом "inherited". Странный глюк.
не глюк. Так должно быть. Если соытие не назначено, но форма должна реагировать так же, как и её предок, то событие должно быть вызвано для вызова в нём inherited.

2. можно изложить для общественности?
4. Даже не попробовали?
Человек_Борща вне форума Ответить с цитированием
Старый 03.02.2012, 15:39   #10
delphicoding
Заблокирован
 
Регистрация: 04.07.2011
Сообщений: 261
По умолчанию

Человек_Борща
2. Properties.ButtonEdit
4. И не стану. Это трата массы процессорного времени и перегон кучи данных.
delphicoding вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
несколько вопросов spydark91 Общие вопросы Delphi 2 18.07.2011 13:48
Несколько вопросов phphel Общие вопросы Delphi 19 30.01.2011 21:24
несколько вопросов fitc Общие вопросы Delphi 28 14.07.2009 21:20
Несколько вопросов pix_l Общие вопросы Delphi 1 29.03.2009 22:26
Несколько Вопросов Дорст Общие вопросы Delphi 3 12.11.2007 09:18