Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 31.10.2016
Сообщений: 24

Открытие приложения по ip

20.06.2017, 22:05. Показов 1810. Ответов 18
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
ДН! Хотел сделать в приложении сверку ip адреса компьютера с ip адресами в таблице access, если ip не сходится (нет в базе) выдавать ошибку что компьютер не зарегистрирован в сети, если ip занесен в базу открывать приложение...
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.06.2017, 22:05
Ответы с готовыми решениями:

?Открытие приложения?
Как можно сделать так, чтобы при нажатии кнопки в форме открывался документ Word? Все время выдает ошибку, что такой файл не существует,...

Открытие приложения в вк
Доброго времени суток, Открывается мое приложение. В нем на форме 2 edit 1-й этт логин в вк 2-й пароль И кнопка "войти"...

Открытие приложения браузером
Всем привет! Вопрос возник. У меня есть программа , которая нормально компилируется и открывается. Вопрос: Как сделать компиляцию , так...

18
 Аватар для Пытливый
3763 / 2267 / 705
Регистрация: 29.05.2013
Сообщений: 9,622
21.06.2017, 00:29
1. А вы в курсе, что в локальной сети ip-компа может меняться хоть каждые пол-часа. Вот захотел админ настроить так dhcp.
2. Коли компьютер получил ip, то он уже зарегистрирован в сети и что вы в итоге проверяете совершенно непонятно.
0
0 / 0 / 0
Регистрация: 31.10.2016
Сообщений: 24
21.06.2017, 08:27  [ТС]
Допустим, настроен DHCP в локальной сети, все компьютеры получают адреса автоматический, а те компьютеры на котором будет стоять приложение, они будут иметь статические ip, в практике такое есть, и если какой нибудь левый комп с сети (настроив статический ip адрес тех компов где есть данное приложение) захочет зайти в приложение, ему выйдет ошибка!
Все компьютеры в сети всегда включены!
0
Модератор
 Аватар для D1973
9917 / 6454 / 2455
Регистрация: 21.01.2014
Сообщений: 27,389
Записей в блоге: 3
21.06.2017, 08:29
Цитата Сообщение от Пытливый Посмотреть сообщение
А вы в курсе, что в локальной сети ip-компа может меняться хоть каждые пол-часа.
IP рабочей станции может быть и статическим и такая проверка вполне имеет место быть, только с формулировкой: "компьютер имеет неразрешенный адрес для работы с программой". Но вот свой вопрос ТС-у следует конкретизировать:
temirkhan2011, итак:
1. Вы не знаете, как сделать запрос к БД для проверки имеющегося IP-адреса?
2. Вы не знаете, как получить IP-адрес рабочей станции, на которой запускается программа?
3. Вы ничего этого не знаете?
Прошу уточнить...
1
0 / 0 / 0
Регистрация: 31.10.2016
Сообщений: 24
21.06.2017, 08:31  [ТС]
Не знаю)
0
5967 / 4543 / 1094
Регистрация: 29.08.2013
Сообщений: 28,155
Записей в блоге: 3
21.06.2017, 08:56
вот у вас в БД таблице с разрешенными адресами

вот у вас ВасяПупкин запускает клиентское приложение
1. при старте происходит считывание ИП адреса
на это существуют 100500 способов как через реестр, так и WMI, так и простой парсинг ipconfig
есть одна проблема - что если видеокарт больше чем одна? ну нужно так было и у человека еще WiFi карта стоит с другим адресом

2. Допустим адрес получили. Показываем пользователю приглашение ввести логин\пароль и делаем запрос к БД, передавая IP адрес. Обычный SELECT.
Получаем ответ и обрабатываем его. Если адрес правильный, то заполняем список логинов в окне входа. Если неправильный - пишем сообщение.

вопросы - как получить адрес и как сделать запрос уже обсуждался на форуме
0
Модератор
 Аватар для D1973
9917 / 6454 / 2455
Регистрация: 21.01.2014
Сообщений: 27,389
Записей в блоге: 3
21.06.2017, 09:00
Цитата Сообщение от D1973 Посмотреть сообщение
Вы не знаете, как получить IP-адрес рабочей станции, на которой запускается программа?
Вариант 1.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
uses ..., WinSock;
var sIP: String;
...
function GetLocalIP: String;
const WSVer = $101;
var
  wsaData: TWSAData;
  P: PHostEnt;
  Buf: array [0..127] of Char;
begin
  Result := '';
  if WSAStartup(WSVer, wsaData) = 0 then begin
    if GetHostName(@Buf, 128) = 0 then begin
      P := GetHostByName(@Buf);
      if P <> nil then Result := iNet_ntoa(PInAddr(p^.h_addr_list^)^);
    end;
    WSACleanup;
  end;
end;
 
sIP := GetLocalIP;
Вариант 2.
Кинуть на форму компонент IdIPWatch с закладки IndyMisk
Delphi
1
2
IdIPWatch1.Active:=true;
sIP := IdIPWatch1.LocalIP;
Цитата Сообщение от D1973 Посмотреть сообщение
Вы не знаете, как сделать запрос к БД для проверки имеющегося IP-адреса?
Delphi
1
2
3
4
ADOQuery1.Close;
ADOCuery1.Text := 'SELECT * FROM Your_Table WHERE fIP = ' + QuotedStr(sIP);
ADOQuery1.Open;
if ADOQuery1.IsEmpty then ShowMessage('Вам сюда нельзя!');
0
0 / 0 / 0
Регистрация: 31.10.2016
Сообщений: 24
21.06.2017, 13:34  [ТС]
Цитата Сообщение от D1973 Посмотреть сообщение
Вариант 2.
Кинуть на форму компонент IdIPWatch с закладки IndyMisk
Что-то не получается сделать вот исходник
Вложения
Тип файла: rar ip.rar (480.8 Кб, 6 просмотров)
0
Модератор
 Аватар для D1973
9917 / 6454 / 2455
Регистрация: 21.01.2014
Сообщений: 27,389
Записей в блоге: 3
21.06.2017, 15:34
Цитата Сообщение от temirkhan2011 Посмотреть сообщение
не получается сделать вот исходник
1. Вот ткните пальцем в то место, где я говорил, что надо использовать метод OnStatus компонента IdIPWatch???
2. Чему равно значение переменной sIP в методе OnCreate формы? Да ничему! Где используете эту переменную, там и надо получать ее значение
3. Не взирая на предыдущее: ну вот выполнили Вы запрос, и что??? Программа пойдет выполняться дальше..., успешен он там был или нет. Где прерывание выполнения?
1
0 / 0 / 0
Регистрация: 31.10.2016
Сообщений: 24
21.06.2017, 19:58  [ТС]
Цитата Сообщение от D1973 Посмотреть сообщение
1. Вот ткните пальцем в то место, где я говорил, что надо использовать метод OnStatus компонента IdIPWatch???
2. Чему равно значение переменной sIP в методе OnCreate формы? Да ничему! Где используете эту переменную, там и надо получать ее значение
3. Не взирая на предыдущее: ну вот выполнили Вы запрос, и что??? Программа пойдет выполняться дальше..., успешен он там был или нет. Где прерывание выполнения?
Вот поменял код:
Delphi
1
2
3
4
5
6
7
8
9
10
11
procedure TForm1.IdIPWatch1Status(ASender: TObject; const AStatus: TIdStatus;
  const AStatusText: string);  var sIP: String;
begin
 IdIPWatch1.Active:=true;
sIP := IdIPWatch1.LocalIP;   
ADOQuery1.Close;
ADOQuery1.Sql.Text := 'SELECT * FROM ip_config WHERE IP = ' + QuotedStr(sIP);
ADOQuery1.Open;
if ADOQuery1.IsEmpty then ShowMessage('Вам сюда нельзя!');Form1.Close;
end;
end.
0
Модератор
 Аватар для D1973
9917 / 6454 / 2455
Регистрация: 21.01.2014
Сообщений: 27,389
Записей в блоге: 3
22.06.2017, 02:15
temirkhan2011, еще раз повторяю:
Цитата Сообщение от D1973 Посмотреть сообщение
Вот ткните пальцем в то место, где я говорил, что надо использовать метод OnStatus компонента IdIPWatch???
С какого перепугу Вы решили, что надо использовать этот метод? Кто Вам это сказал?
0
 Аватар для krapotkin
6847 / 4674 / 1463
Регистрация: 14.04.2014
Сообщений: 20,660
Записей в блоге: 21
22.06.2017, 05:35
вообще нужно бы смотреть в другую сторону
обычно СЕРВЕР имеет какую-то возможность узнать, с какого IP зашел к нему клиент
поэтому лучше эту логику переводить в запросы и не ковырять систему...
вы можете просто сделать запрос и получить свой IP
0
22.06.2017, 09:50

Не по теме:

Цитата Сообщение от krapotkin Посмотреть сообщение
вы можете просто сделать запрос и получить свой IP
хотя вопрос был так поставлен, что база есть клиент-сервер, но в дальнейшем я что-то потерял уверенность в этом... Скорее всего ТС собирается таскать локальную БД по компам... Иначе мне не понятны все предыдущие посты, незнание банальных азов...

0
W
 Аватар для kavasaka
115 / 115 / 33
Регистрация: 16.04.2013
Сообщений: 750
22.06.2017, 10:11
Если локальная база, то можно к железу привязать, ip может и поменяться.
Серийный номер HDD
0
 Аватар для krapotkin
6847 / 4674 / 1463
Регистрация: 14.04.2014
Сообщений: 20,660
Записей в блоге: 21
22.06.2017, 10:25
D1973, да. речь именно о клиент-сервере
Firebird
https://firebirdsql.org/refdoc... ntext.html
Oracle
https://oracle-base.com/articl... -addresses
0
Модератор
 Аватар для D1973
9917 / 6454 / 2455
Регистрация: 21.01.2014
Сообщений: 27,389
Записей в блоге: 3
23.06.2017, 11:33
Цитата Сообщение от temirkhan2011 Посмотреть сообщение
с ip адресами в таблице access
krapotkin, вот почему я засомневался в том, что БД - клиент-сервер... На акцессе делать клиент-сервер - ну это уже совсем извращение...
0
 Аватар для krapotkin
6847 / 4674 / 1463
Регистрация: 14.04.2014
Сообщений: 20,660
Записей в блоге: 21
23.06.2017, 11:53
да почему же. типичный клиент-сервер.
просто в сети что ни пример, то АДО
0
Эксперт Pascal/Delphi
 Аватар для xxbesoxx
1135 / 616 / 129
Регистрация: 13.02.2009
Сообщений: 3,600
26.06.2017, 15:00
Цитата Сообщение от temirkhan2011 Посмотреть сообщение
ДН! Хотел сделать в приложении сверку ip адреса компьютера с ip адресами в таблице access
1) Access это не клиент-серверный СУБД . онже файл-серверный.
2) Уважаемый ! довать вам какой то наработани код, кода вы не проктиковали не изучали основа этого языка бессмысленно.
3) Я думаю что вам надо читать книгу и тренировать.
1
26.06.2017, 15:32

Не по теме:

Цитата Сообщение от xxbesoxx Посмотреть сообщение
Я думаю что вам надо читать книгу и тренировать.
xxbesoxx, ++ :good:

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.06.2017, 15:32
Помогаю со студенческими работами здесь

Открытие приложения в html
Добрый день,возможно ли вызвать delphi приложение лежащие на общем сервере на сайте написанном на html при нажатии на кнопку,допустим. ...

Открытие приложения из уведомления
Здравствуйте. Такая проблема-при срабатывании будильника создается уведомление, а в приложении срабатывает анимация и мелодия звонка. Если...

Открытие приложения в форме
Как можно открыть приложение в форме, не создавая нового окна?

Открытие приложения в программе
Приветствую всех. Подскажите пожалуйста, как такое реализовать. Программа открывается; Открывает файл .exe что лежит в папке с...

Открытие excel файла из приложения
Необходимо из программы на vb открыть файл excel (грубо говоря при нажатии на кнопку). Подскажите пжл как такое можно реализовать, есть ли...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru