|
Вопрос # 334/ вопрос открыт / |
|
Приветствую!!!У меня появилось несколько вопросов:1.Как во время выполнения программы узнать все установленные серверы баз данных;2.Как по известному имнеи сервера узнать какие там находятся базы данных;3.Как определить что программа уже запушенна(кроме создания фалов,или записей в файлах)???? Огромное СПАСИБО!!!
 |
Вопрос задал: KilkaMS (статус: Посетитель)
Вопрос отправлен: 22 февраля 2007, 00:32
Состояние вопроса: открыт, ответов: 1.
|
Ответ #1. Отвечает эксперт: Вадим К
Просьба на дальше: никогда не намешивайте кучу вопросов в одном вопросе. А если мешаете, то они должны быть хотя бы связаны.
а теперь по существу
1)Никак. Если на компе есть кокой-то сервер, которого вы не знаете, то вы его не найдёте.
Что же делать? Каждый сервер имеет свои "отпечатки". К примеру MySQL висит на 3306 порту. Можно попробывать туда подсоединиться, но не факт, что он там будет. Вариант два - поискать в реестре (они обычно имеют стандартные ключи) поискать в списке сервисов (это и MySQL,MSSQL, FireBird)
Вариант два - используя средства делфи (технологии dbExpress, DBP) попытаться "нашару" подключиться. Если получилось - сервер есть.
2) тут чуточку проще. Если вы можете подключиться к серверу, то можно у него это запросить. Для каждого сервера свои команды. Например, MySQL для этого нужно подключиться к специальной таблице и оттудова можно "стянуть"
3)В своих программах я использовал следующие методы. С помощью FindWindow я ищу окно своей программы. Если нахожу, то принимаю соответствующие действия. Недостаток - ваше приложение должно иметь форму с именем, которое отсутствует в системе. Но можно не только по имени, но и по типу. приведу пример
if FindWindow('TMyCoolForm','MyCoolFormCaption')<>nil then Application.Terminate.
Первый параметр - это тип формы, второй - Caption. Если у вас заглавие формы меняется, то можно искать только по типу - тогда в качестве второго параметра пишем nil
 |
Ответ отправил: Вадим К (статус: Академик)
Время отправки: 22 февраля 2007, 01:03
Оценка за ответ: 5
|
Мини-форум вопроса
Всего сообщений: 1; последнее сообщение — 22 февраля 2007, 01:09; участников в обсуждении: 1.
|
Вадим К (статус: Академик), 22 февраля 2007, 01:09 [#1]:
малось описался в коде
if FindWindow('TMyCoolForm','MyCoolFormCaption')<>0 then Application.Terminate.
Галочка "подтверждения прочтения" - вселенское зло.
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|