Главная страница
    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.008 c
14-78585
Esu
2002-10-01 20:55
2002.10.24
[Анти]киллер


4-78740
Endre
2002-09-07 15:45
2002.10.24
Командная строка с правами Админа.


1-78490
alxx
2002-10-13 13:39
2002.10.24
Переход фокуса


1-78400
BJValentine
2002-10-15 13:06
2002.10.24
Дата+время


1-78479
olookin
2002-10-13 10:37
2002.10.24
Назеачить Integer для Set of..





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский