Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Форма для авторизации и подключения к серверу БД.
Форма autoriz предназначена для подключения к серверу БД. Для подключения необходимо заполнить поля: Имя сервера, Порт, Пользователь и Пароль. Первые три значения хранятся в файле config.ini и заполняются автоматически по последним введенным Вами значениям. Пароль необходимо указывать каждый раз. Свойства формы: AutoCenter =.T. - True BorderStyle = 0 – No border Caption = ’Авторизация на сервере’ DataSession = 2 – Private Data Session Height = 170 Icon = ’fox8.ico’ MaxButton =.F. – False MinButton =.F. – False Name = ’Autoriz’ ShowWindow = 2 – As Top-Level Form Width = 297
Методы формы: Перед выводом формы на экран выполняется процедура Init: SET TALK OFF && отключить вывод промежуточных результатов IF!FILE('config.ini') && если нету файла config.ini STRTOFILE('[ZOO]','config.ini') && создать cjnfig.ini со строкой [ZOO] ENDIF path_ini=FullPath("config.ini") && имя файла config.ini с полным путем lcBuffer = SPACE(2000) && определить буффер для получения информации && читать имя сервера из config.ini в буффер lnBuffer = ReadIni("ZOO", "Server", "localhost", @lcBuffer, 2000, path_ini) IF m.lnBuffer > 0 && если длина прочитанного больше 0 thisform.sql_server.Value=LEFT(m.lcBuffer,m.lnBuffer) && выделить из буффера только имя сервера ENDIF
lcBuffer = SPACE(2000) && определить буффер для получения информации && читать номер порта из config.ini в буффер lnBuffer = ReadIni("ZOO", "Port", "5432", @lcBuffer, 2000, path_ini) IF m.lnBuffer > 0 && если длина прочитанного больше 0 thisform.port.Value=LEFT(m.lcBuffer,m.lnBuffer) && выделить из буффера только порт ENDIF
lcBuffer = SPACE(2000) && определить буффер для получения информации && читать имя пользователя из config.ini в буффер lnBuffer = ReadIni("ZOO", "User", "Borsh", @lcBuffer, 2000, path_ini) IF m.lnBuffer > 0 && если длина прочитанного больше 0 thisform.user_login.Value=LEFT(m.lcBuffer,m.lnBuffer) && выделить из буффера только имя пользователя ENDIF
DO CASE CASE EMPTY(thisform.sql_server.value) && если нету имени сервера thisform.sql_server.setfocus && установить курсор в поле сервера CASE EMPTY(thisform.port.value) && если нету порта thisform.port.setfocus && установить курсор в поле порта CASE EMPTY(thisform.user_login.value) && если нету имени пользователя thisform.user_login.setfocus && установить курсор в поле имени пользователя OTHERWISE && иначе thisform.user_pwd.setfocus && установить курсор в поле ввода пароля ENDCASE
При выводе на экран выполняется процедура Show: SetForegroundWindow(ThisForm.HWnd) && сделать окно активным
Если форму закрыть крестиком, то выполняется процедура QueryUnload: loconn =.F. && подключения нет
При закрытии формы выполняется процедура Destroy: CLEAR EVENTS чтобы программа мгла выполняться дальше.
При нажатии на кнопку «Подключить» выполняется ее процедура Click: sql_server = ALLTRIM(thisform.sql_server.value) && очистить имя сервера от лишних пробелов port = ALLTRIM(thisform.port.value) && очистить порт от лишних пробелов user_login = ALLTRIM(thisform.user_login.value) && очистить имя пользователя от лишних пробелов user_pwd = ALLTRIM(thisform.user_pwd.value) && очистить пароль от лишних пробелов
IF TYPE('loConn')='O' AND loconn.state<>0 && если соединение уже было выполнено loconn.close() && закрыть соединение ENDIF LOCAL loexception AS Exception && объявить переменную, как исключение loconn = CREATEOBJECT('ADODB.Connection') && создать объект подключения
&& составить строку для подключения loconn.connectionstring = 'DRIVER=PostgreSQL ANSI; SERVER='+sql_server+'; PORT='+port+'; DATABASE=zoopark; UID='+user_login+'; PWD='+user_pwd
TRY loconn.open() && попытаться подключиться CATCH TO loexception && если подключение не удачно loconn=.F. && подключения нет && вывести сообщение об ошибке MESSAGEBOX(loexception.message, 48, 'SQL connection error') ENDTRY IF TYPE('loConn')='O' && если соединение получилось path_ini=FullPath("config.ini") && имя файла config.ini с полным путем && записать в файл config.ini имя сервера, порт, имя пользователя = WriteIni("ZOO", "Server", sql_server, path_ini) = WriteIni("ZOO", "Port", port, path_ini) = WriteIni("ZOO", "User", user_login, path_ini) thisform.release && закрыть форму ELSE && иначе thisform.user_pwd.setfocus && перейти в поле ввода пароля ENDIF
При нажатии на кнопку «Закрыть» выполняется ее процедура Click: loconn =.F. && соединения нет thisform.release && закрыть форму
|
|||||
Последнее изменение этой страницы: 2017-01-25; просмотров: 94; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.222.179.186 (0.007 с.) |