Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.10.24;
Скачать: [xml.tar.bz2];

Вниз

Как из этих функций сделать модуль или как их использовать?   Найти похожие ветки 

 
Lony   (2002-10-13 14:23) [0]

Есть текст, проверяющий подключение к интернету, но как их можно использовать или сделать из них модуль, я не знаю. Не подскажите?


 
Lony   (2002-10-13 14:33) [1]

Да, а вот и сам текст:

function CheckInetConnect:byte;
const
cERROR_BUFFER_TOO_SMALL = 603;
cRAS_MaxEntryName = 256;
cRAS_MaxDeviceName = 128;
cRAS_MaxDeviceType = 16;
type
HRASConn = DWord;
PRASConn = ^TRASConn;
TRASConn = record
dwSize: DWORD;
rasConn: HRASConn;
szEntryName: array [0..cRAS_MaxEntryName] of Char;
szDeviceType: array [0..cRAS_MaxDeviceType] of Char;
szDeviceName: array [0..cRAS_MaxDeviceName] of char;
end;
TRasEnumConnections =
function (RASConn: PrasConn; { buffer to receive Connections data }
var BufSize: DWord; { size in bytes of buffer }
var Connections: DWord { number of Connections written to
buffer }
): LongInt; stdcall;

//---------------------------------------

function RasConnectionCount : Integer;
var
RasDLL: HInst;
Conns: array [1..4] of TRasConn;
RasEnums: TRasEnumConnections;
BufSize: DWord;
NumConns: DWord;
RasResult: Longint;
begin
Result:= 0;
// Загрузка библиотеки
RasDLL:= LoadLibrary("rasapi32.dll");
if RasDLL = 0 then exit;
try
RasEnums:= GetProcAddress(RasDLL,"RasEnumConnectionsA");
if @RasEnums = nil then
raise ERasError.Create
("Ошибка вызова функции RasEnumConnectionsA из rasapi32.dll");
Conns[1].dwSize:= Sizeof (Conns[1]);
BufSize:= SizeOf(Conns);
RasResult:= RasEnums(@Conns, BufSize, NumConns);
If (RasResult = 0) or (Result = cERROR_BUFFER_TOO_SMALL) then
Result:=NumConns;
finally
FreeLibrary(RasDLL);
end;

end;

//---------------------------------------

var
Reg : TRegistry;
bUseProxy : Boolean;
UseProxy : LongWord;

begin
Result:= 0;
Reg:= TRegistry.Create;
with REG do
try
try
RootKey:= HKEY_CURRENT_USER;
if OpenKey("\Software\Microsoft\Windows\CurrentVersion\Internet Settings",
False) then begin
// Пробуем прочитать и ловим ошибку
if GetDataType("ProxyEnable") = rdBinary then
ReadBinaryData("ProxyEnable", UseProxy, SizeOf(LongWord)) else
begin
bUseProxy:= ReadBool("ProxyEnable");
if bUseProxy then UseProxy:= 1 else UseProxy:= 0;
end;
if (UseProxy <> 0) and (ReadString("ProxyServer") <> "" ) then Result:= 2;
end;
except
// Вероятно, нет связи через прокси
end;
finally
Free;
end;
// Мы можем проверять(отмечать) RasConnectionCount, даже если работа с сетями
// телефонного вызова не установлена просто, потому что это возвратится 0,
// если DLL не найден.
if Result = 0 then
begin
if RasConnectionCount > 0 then Result:= 1;
end;

end;



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2002.10.24;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.007 c
7-78687
DeepProg
2002-08-16 19:32
2002.10.24
Fatal Error


14-78622
RV
2002-09-30 17:11
2002.10.24
а говорили, по радио, сегодня день Интернета


14-78626
Jumbot
2002-09-29 19:49
2002.10.24
InstallShield Express


1-78508
KidMan
2002-10-10 22:13
2002.10.24
Переменная и ее отчистка


3-78204
brestmarket
2002-10-01 00:24
2002.10.24
Как вставить свой значок в titlebar DBGrid?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский