Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 334

/ вопрос открыт /

Приветствую!!!У меня появилось несколько вопросов:1.Как во время выполнения программы узнать все установленные серверы баз данных;2.Как по известному имнеи сервера узнать какие там находятся базы данных;3.Как определить что программа уже запушенна(кроме создания фалов,или записей в файлах)???? Огромное СПАСИБО!!!

KilkaMS Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: 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.
Галочка "подтверждения прочтения" - вселенское зло.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:43
Выполнено за 0.02 сек.