FoxPro Club Главная

Конференция Решения Фотоальбом Сайт М.Дроздова Статьи Файловый архив Книга Visual FoxPro 9.0 Русский Help для Visual FoxPro
Пользователей: 9177
Вход
RAS-звонилка

Используется для удаленного доступа к сети из FoxPro 5.0 - 6.0 в Windows 9x/2000/XP.


 
Прислал: Andrey Shishkin   Категория: Сети (Интернет и др.)


*********************************
* Звонилка. (c) Andrey Shishkin *
*********************************
*------------------ тестовая программа -----------------------*
LOCAL lResult && хранит результат соединения
RAS = CREATEOBJECT('ConnRAS') && создает обьект и передает ссылку на объект в переменной RAS
RAS.ConnName = "111" 		&& Имя удаленного соединения (соединение создается вручную)
RAS.UserName = "OOOLORIA" 	&& Имя пользователя
RAS.PassWord = "096410" 	&& Пароль пользователя
RAS.Domain 	 = "rasdom" 	&& Имя домена
lResult 	 = RAS.Connect()&& Соединение
IF EMPTY(lResult)
	WAIT 'Соединение ['+RAS.ConnName+\\\'] установлено\\\' WINDOW && выводит сообщение об
установленном соединении
	RAS.DisConnect() && Разрыв соединения
ELSE
    MESSAGEBOX(RAS.RasGetError(lResult), ; && выводит строку ошибки
    	48, \\\'Ошибка удаленного соединения [\\\'+RAS.ConnName+\\\']\\\')
ENDIF
RELEASE RAS && удаляет объект по ссылке в переменной RAS

*------------------ CLASS ConnRAS ----------------------------*
DEFINE CLASS ConnRAS AS CUSTOM

	ConnName = \\\'\\\' && Имя удаленного соединения
	UserName = \\\'\\\' && Имя пользователя
	PassWord = \\\'\\\' && Пароль пользователя
	Domain   = \\\'\\\' && Имя домена
	
	PROTECTED ConnHandle 
		ConnHandle = 0 && хранит код установленного соединения
		
	PROCEDURE INIT
		ConnName   = \\\'\\\'
		UserName   = \\\'\\\'
		PassWord   = \\\'\\\'
		Domain     = \\\'\\\'
		ConnHandle = 0
		RETURN THIS.LoadRASAPI()
	ENDPROC
	
	FUNCTION Connect
		LOCAL cParam, nConnHandle, nResult
		cParam = chr(28)+chr(4)+chr(0)+chr(0)+;
			padr(THIS.ConnName+chr(0), 256+1)+;
			padr(chr(0), 128+1)+;
			padr(chr(0), 128+1)+;
			padr(THIS.UserName+chr(0), 256+1)+;
			padr(THIS.Password+chr(0), 256+1)+;
			padr(THIS.Domain+chr(0), 15+1)+\\\" \\\"
		nConnHandle = 0
		nResult = RasDial(NULL, NULL, @cParam, 0, NULL, @nConnHandle)
		WAIT \\\'\\\' TIMEOUT 1
		IF EMPTY(nResult)
			THIS.ConnHandle = nConnHandle
		ELSE
			RasHangUp(nConnHandle) && Нет соединения. Закрываем порт.
			THIS.ConnHandle = 0
		ENDIF
		RETURN nResult
	ENDFUNC

	
	FUNCTION DisConnect
		LOCAL nConnHandle, nResult
		nConnHandle = 0
		IF EMPTY(THIS.ConnHandle)
			nResult = 0
		ELSE
			nConnHandle = THIS.ConnHandle
			nResult = RasHangUp(nConnHandle)
			THIS.ConnHandle = 0
			WAIT \\\'\\\' TIMEOUT 1
		ENDIF
		RETURN nResult
	ENDFUNC
	
	FUNCTION RasGetError
		LPARAMETERS nResult
		LOCAL MessageBuffer
		MessageBuffer = SPACE(256) && Создание буфера для строки ошибки
		IF NOT EMPTY(RasGetErrorString(nResult, @MessageBuffer, LEN(MessageBuffer)))
			MessageBuffer = \\\'Неизвестная ошибка\\\'
		ENDIF
		RETURN MessageBuffer
	ENDFUNC

	
	PROTECTED FUNCTION LoadRASAPI
		DECLARE INTEGER RasDial IN RASAPI32 ;
			STRING DialExtetions, ;
			STRING cPhoneboolfile, ;
			STRING @cParameters, ;
			INTEGER nCallBack, ;
			STRING cCallBack, ;
			INTEGER @nConnHandle
		DECLARE INTEGER RasGetErrorString IN RASAPI32 ;
   			INTEGER nReturnValue, ;
   			STRING @cMessageBuffer , ;
  			INTEGER nLenMessageBuffer
		DECLARE INTEGER RasHangUp IN RASAPI32 ;
    	    INTEGER nConnHandle
    	RETURN .T.
	ENDFUNC
ENDDEFINE


 
Сделайте оценку этого решения Плохо Удовлетворительно Так себе Хорошо Отлично Текущая оценка: (4.941) Вложение [2.63]kb
Дополнения пользователей
RAS-звонилка
[+][?]
[Дополнить]



© 2000-2017 Fox Club 
При размещении любых материалов с сайта на других ресурсах- прямая ссылка на www.foxclub.ru обязательна
Яндекс.Метрика