Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Delphi


Информационный Канал Subscribe.Ru


RusFAQ.ru: Программирование на C++ Builder / Delphi

Выпуск № 191
от 19.07.2003, 14:20

Администратор:
Имя: Калашников О.А.
URL: Информационный ресурс
ICQ: 68951340
Россия, Москва
О рассылке:
Задано вопросов: 789
Отправлено ответов: 1443
Активность: 182.8 %
[Задать вопрос >>][Регистрация эксперта >>]
[Поиск в базе][Обсудить на форуме]


 Список экспертов, ответы которых опубликованы в данном выпуске

Bob Johnson
Статус: Профессиональный
Общий рейтинг: 152.24
URL: Программирование
[Подробней >>]
baldr
Статус: Профессиональный
Общий рейтинг: 112.12
URL: Сайт об ОС DOS. Всем, кто любит эту ОС!
[Подробней >>]
ART_43
Статус: Доверительный
Общий рейтинг: 123
[Подробней >>]
 
URiS
Статус: Опытный
Общий рейтинг: 152.44
URL: Бесплатный любительский софт, игры
[Подробней >>]


 Краткий перечень вопросов

Вопрос № 783. Уважаемые эксперты! Еще раз к вопросу о том, можно ли сделать дочернюю форму модальной. Поясняю, для... (ответов: 1)
Вопрос № 784. Здравствуйте, глубокоуважаемые эксперты. 1) А реально ли вообще сделать следующее: при вызове нужной... (ответов: 4)
Вопрос № 785. Я этот вопрос давно задавал... может у кого появились соображения:) Как в игре под DelphiX (в принци... (ответов: 2)

Вопросов: 3, ответов: 7


 Вопрос № 783

Уважаемые эксперты! Еще раз к вопросу о том, можно ли сделать дочернюю форму модальной. Поясняю, для чего это было нужно. Есть две дочерние формы, одна для ввода данных о лице, другая о документе. Есть возможность установить связь документа с лицом (связь типа "владелец документа"), но для этого надо вызвать первую форму, чтобы пользователь нашел в базе лицо и выбрал его. Естественно, для того, чтобы подождать выбора лица, форма должна быть модальной. Но модальной ее сделать не выходит, т.к. она дочерняя. К тому же я не хочу ссылаться на дочерние формы друг из друга, а только чтобы главная их "знала". Сейчас я сделала это следующим способом. При выборе лица из формы лица перед ее закрытием посылаю юзерское сообщение (SendMessage) главной форме, та перекидывает данные о лице в свою промежуточную переменную - член класса формы. Потом главная форма посылает сообщение форме документа, та берет данные из главной формы и использует по назначению... Вопрос вот в чем: может, я правой рукой левое ухо чешу? :-)))) Можно ли было сделать это красивее?



Вопрос отправлен: 15.07.2003, 08:07
Отправитель: L_Dorrit

[Следующий вопрос >>] [Список вопросов]

Отвечает Bob Johnson

Здравствуйте, L_Dorrit!
> может, я правой рукой левое ухо чешу?
Знаешь, а это вполне удобно ... И наоборот тоже ничего получается...


Мне кажется, что раз у тебя стоит такая задача, то форма выбора лица из БД не должна быть MDIChild - сделай ее простой формой и выводи модально (при этом еще будет приятней, если ты уберешь ее из списка auto-create и будешь создавать руками). При этом, в твоей процедуре ты сначала создаешь и модально показываешь форму выбора лица, после чего создаешь нового MDIChild для соответствующего документа (можно в заголовок написать: документ ... владельца ... или что-то related).
> Сейчас я сделала это ... посылаю юзерское сообщение (SendMessage)
неплохо :)

* EMan1.4: ---===*** Have your friend the way you would like him ... never mind, do anything that comes natural ***===---


Ответ отправлен: 15.07.2003, 19:53
Отправитель: Bob Johnson


 Вопрос № 784

Здравствуйте, глубокоуважаемые эксперты.
1) А реально ли вообще сделать следующее:
при вызове нужной формы закрывать TTable
и открывать TQuery, для написания чистого
SQL-кода ???
2) На форме находитья 6 редакторов TEdit.
При нажатии на кнопку "Блокировать" они
должны стать неактивными. Я пишу так:
(Sender as TEdit).Enabled:=False;
но выдается ишибка "Invalid class typecast".
Что я делаю неправильно ???
3) Ну и совсем ламерский вопрос: что такое ODBС ???
Все что я смог найти по этому поводу, так это то
что какие-то драйвера и это как-то связано с базами
данных.




Вопрос отправлен: 15.07.2003, 15:11
Отправитель: SATAN aka NAPALM

[Следующий вопрос >>] [Список вопросов]

Отвечает Bob Johnson

Здравствуйте, SATAN aka NAPALM!
1. А почему нет?
2. В обработчике нажатия кнопки "Бл" sender представляет собой не TEdit, а TButton (угадай какую!). Тебе нужно писать, например, так:
Edit1.Enabled := false;
Edit2.Enabled := false;
...
Edit6.Enabled := false;
3. Open DataBase Connectivity: открытый интерфейс доступа к базам данных, встроенный в Windows и Windows NT, определяет набор функций, которые можно использовать для доступа к любой реляционной СУБД (ABBYY Lingvo).

* EMan1.4: ---===*** Have your friend the way you would like him ... never mind, do anything that comes natural ***===---


Ответ отправлен: 15.07.2003, 19:53
Отправитель: Bob Johnson


Отвечает baldr

Доброе время суток, SATAN aka NAPALM!
1. Реально.
2. Скорее всего, Sender будет сама форма - чтобы выключить сами контролы, так и пиши - Edit1.Enabled:=False; Edit2:= ...
3. Это действительно набор драйверов для работы с БД. Универсальные драйвера. Идут с виндой. По умолчанию ставятся не все. BDE работает через ODBC, а вот про остальные не уверен.

Ответ отправлен: 15.07.2003, 16:03
Отправитель: baldr


Отвечает ART_43

Здравствуйте, SATAN aka NAPALM!
1)Реально
2)Значит Sender не является TEdit, возможно ты это используешь в OnClick у Button, тогда Sender будет TButton, или у тебя не TEdit а TDBEdit и вообще лучше поставить проверку "if Sender is TEdit then ..."
3)Набор драйверов доступа к базам данных, которые(драйвера) работают по единому интерфейсу и с их помощью пожно подключиться и к простому DBase III и к MS SQL Server, причем работа и стем и с другим, не будет пренципиально отражаться

Ответ отправлен: 15.07.2003, 17:42
Отправитель: ART_43


Отвечает URiS

Добрый день, SATAN aka NAPALM!
2) Да, но Sender в этот момент - есть кнопка!
Придётся так
Edit1.Enabled:=false;
Edit2Enabled:=false;
...

*EMan1.4 © Bob Johnson | Expert: URiS (newff.narod.ru)


Ответ отправлен: 17.07.2003, 14:05
Отправитель: URiS


 Вопрос № 785

Я этот вопрос давно задавал... может у кого появились соображения:)
Как в игре под DelphiX (в принципе это без разницы) создать такие часики, чтобы на мощном и тормозном компе было допустим не более 60 FPS... сколько я не бился с помощью встроеного таймера коряво получается... на можном компе вырываются эти FPS вперед... пробывал с помощью (см. прил.) то же стабильно >100 FPS... подскажите кто знает...


Приложение:


Вопрос отправлен: 15.07.2003, 20:33
Отправитель: Ландграф Павел

[Следующий вопрос >>] [Список вопросов]

Отвечает Bob Johnson

Доброе время суток, Ландграф Павел!
Ну во-первых чем тебя не устраивает больше 60 fps? Ты главное смотри за временем каждого кадра, а сколько их будет - не важно.
Если же все-таки хочешь, то делай так. Если тебе надо 60 fps, значит между кадрами должно быть около 16,67 мс. Теперь ты делаешь так - запоминаешь текущее время (например, QueryPerformanceCounter), выводишь очередной кадр на экран, далее делаешь такой цикл:

repeat
QueryPC (&t);
if (t - begt >= threshold) then
break;
Sleep (0);
until false;

Это даст задержку в 1/60 секунды до начала вывода следующего кадра. Но имей ввиду, что процессор при этом будет полностью загружен (чтобы не был - поставь sleep (1), но тогда точность сильно упадет).

* EMan1.4: ---===*** Have your friend the way you would like him ... never mind, do anything that comes natural ***===---


Ответ отправлен: 17.07.2003, 01:33
Отправитель: Bob Johnson


Отвечает URiS

Приветствую Вас, Ландграф Павел!
А разве нельзя поставить Interval таймера равный 1000/60=16?!

*EMan1.4 © Bob Johnson | Expert: URiS (newff.narod.ru)


Ответ отправлен: 17.07.2003, 14:05
Отправитель: URiS



Форма отправки вопроса

Внимание!
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

(C) 2002-2003 Команда RusFAQ.ru.

 Персональные данные

Ваше имя:

Ваш e-mail:

Опубликовать мой e-mail в рассылке


 Вопрос и дополнение

Ваш вопрос:


Приложение (если необходимо):


Получить ответов:


 Выбор рассылки

Программисту
Assembler (35)
C / C++ (22)
Perl (5)
Builder / Delphi (19)
Pascal (24)
Basic / VBA (9)
Java / JavaScript (11)
PHP (9)
Криптография (7)
WinAPI (9)
Пользователю
Windows 95/98/Me (38)
Windows NT/2000/XP (32)
"Железо" (27)
Поиск информации (20)
Администратору
Windows NT/2000/XP (16)
Linux / Unix (7)
Юристу
Гражданское право (10)
Семейное право (5)
Трудовое право (9)
КоАП (5)

Отправить вопрос всем экспертам выбранной рассылки.




Задать вопрос | Регистрация эксперта | Поиск в базе | Чат | Форумы | Новости
Проект экспертов RusFAQ.ru | Фотоальбом | Virus.RusFAQ.ru | Администрирование
Профессиональная WEB-Студия B.I.T.


Яндекс цитирования
© 2001-2003 Россия, Москва. Авторское право: Калашников О.А.

http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное