Вопрос № 78197: Здравствуйте! У меня на форме много DBGrid-ов как определить, какой из них активен, то есть, на какой таблице курсор. Я сделал но используя переменные и кучу процедур которые реагируют на клик по таблице это, по-моему, не корректно и запутано подскаж...Вопрос № 78273: Уважаемые Товарисчи Эксперты!
Возникла необходимость работать в программе с INI файлом(для записи и редактирования параметров и т.д., последующей загрузки). Каким способом с ним можно работать? Знаю это позволяет TRegIniFile, вот только кто-бы по...
Вопрос № 78.197
Здравствуйте! У меня на форме много DBGrid-ов как определить, какой из них активен, то есть, на какой таблице курсор. Я сделал но используя переменные и кучу процедур которые реагируют на клик по таблице это, по-моему, не корректно и запутано подскажите, пожалуйста как сделать это правильно.
Заранее благодарен!
Отправлен: 14.03.2007, 08:09
Вопрос задал: Rashit (статус: Посетитель)
Всего ответов: 3 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Ерёмин Андрей
Здравствуйте, Rashit!
Можно сделать следующим образом. Такая запись как Self.ActiveControl.Name; выдаст имя компонента, активного в данный момент, т.е. имеющего фокус. Имя - "Button1", "Edit1" и т.п. Ну а дальше просто выполняйте нужные операции с этой строкой. Очевидное преимущество - это будет именно строка String, т.е. обрабатывать её можно как угодно. Желаю удачи!
--------- Нет правила без исключений. Правило без исключений - исключение из правил.
Вот пример который не менее эффективно выдает нужный результат:
var i:integer;
........
for i:=1 to 4 do {перебираем от 1 до последнего номера DBGrid}
if TDBGrid(FindComponent(format('DBGrid%d',[i]))).Focused {если фокус на нужном DBGrid}
then ShowMessage(format('DBGrid%d',[i])); {просто выводим его имя}
........
Good Luck!!!
--------- Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаются события на Земле. Генератор случайных чисел - и только.
Ответ отправил: Gh0stik (статус: Профессионал) Украина, Славянск Организация: Славянский государственный педагогический университет (Кафедра алгебры) ICQ: 289363162 ---- Ответ отправлен: 14.03.2007, 10:46
Отвечает: Yumata
Здравствуйте, Rashit!
А зачем Вам ЗНАТЬ, какой грид активен? Важнее знать, на каком гриде "кликнули". А для этого в обработчике события можно использовать объект Sender!
if Sender is TDBGrid then
if TDBGrid(Sender).DataSource=MyDataSource...
--------- Кто хочет - найдет способ!
Ответ отправил: Yumata (статус: 1-ый класс)
Ответ отправлен: 14.03.2007, 14:21
Вопрос № 78.273
Уважаемые Товарисчи Эксперты!
Возникла необходимость работать в программе с INI файлом(для записи и редактирования параметров и т.д., последующей загрузки). Каким способом с ним можно работать? Знаю это позволяет TRegIniFile, вот только кто-бы подсказал сам пример, или кто знает ссылку на таковой в Интеренете.
Заранее благодарен, Ustas.
Отправлен: 14.03.2007, 16:59
Вопрос задал: Ustas (статус: Посетитель)
Всего ответов: 3 Мини-форум вопроса >>> (сообщений: 4)
Отвечает: W@NDeReR
Здравствуйте, Ustas!
----------------
Сохранение
var
save: TIniFile;
save:= TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'имя файла.ini');
save.WriteInteger('Grypa', '11', перменная для сохранения);
save.free
end;
---------------
Загрузка
var
load: TIniFile;
begin
load:=TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'имя файла.ini');
загружаемая переменная:=load.ReadInteger('Grypa','11',0);
load.free
end;
Ответ отправил: W@NDeReR (статус: 2-ой класс)
Ответ отправлен: 14.03.2007, 17:35 Оценка за ответ: 5 Комментарий оценки: Чтож, благодарю, вы описали пример, это кок-раз то что и было надо, все понятно.
Отвечает: Архангельский Андрей Германович
Здравствуйте, Ustas!
Ссылка здесь
http://www.az-design.ru/Support/SoftWare/Delphi/D3/SB04.shtml
--------- Если дело заслуживает быть сделаным, то оно заслуживает, чтобы его сделали ХОРОШО
Ответ отправил: Архангельский Андрей Германович (статус: Специалист)
Ответ отправлен: 14.03.2007, 17:38 Оценка за ответ: 5 Комментарий оценки: Большое спасибо, все ответы не остануться без внимания, большое спасибо за статью в интеренете, спасибо за то что не поленились найти и написать ответ.
Отвечает: Ерёмин Андрей
Здравствуйте, Ustas!
В дополнение к предыдущим ответам. Вот статья по работе с ini-файлами и реестром: Работа с реестром и INI-файлами в Delphi --------- Нет правила без исключений. Правило без исключений - исключение из правил.
Ответ отправил: Ерёмин Андрей (статус: Профессор) Россия, Тула WWW:Программирование на Delphi. Помощь, советы, обмен опытом. ICQ: 286867644 ---- Ответ отправлен: 14.03.2007, 18:44 Оценка за ответ: 5 Комментарий оценки: Большое спасибо, тоже наглядный пример, очень помог. Благодарю за то что тоже не поленились найти ссылку и ответить