Наши адреса:
www.x-program.narod.ru(наш официальный сайт последнее обновление 03.10.2004) X-Program@narod. ru(наш Email
пишите нам чтобы Вы хотели увидеть в
нашей рассылке)
Сегодня в выпуске:
1-Проверка наличия подключения
компьютера к Интернету через DialUp
2-Как написать программу, которая выводит число обратное данному?
Для трёхзначного числа. Пример: ввод - 345, вывод - 543.(Pascal)
3-Работаем с клавиатурой(Java)
4-Пишет вопрос Администратор. Люди помогите!
Где есть бесплатный хостинг с поддержкой CGI?
X-Program@narod. ru (сюда
шлите ответы)
5-Фото приколы
Проверка наличия подключения компьютера к Интернету через DialUp
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;
//End RasConnectionCount =======================
function ConnectedToInternet: TConnectionType;
var
Reg : TRegistry;
bUseProxy : Boolean;
UseProxy : LongWord;
begin
Result := ctNone;
Reg := TRegistry.Create;
with REG do
try
try
RootKey := HKEY_CURRENT_USER;
if OpenKey('\Software\Microsoft\Windows\CurrentVersion\Internet settings',False) then begin
//I just try to read it, and trap an exception
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 := ctProxy;
end;
except
//Obviously not connected through a proxy
end;
finally
Free;
end;
//We can check RasConnectionCount even if dialup networking is not installed
//simply because it will return 0 if the DLL is not found.
if Result = ctNone then begin
if RasConnectionCount > 0 then Result := ctDialup;
end;
end;
function RasConnectionCount : Integer;
var
RasDLL : HInst;
Conns : Array[1..4] of TRasConn;
RasEnums : TRasEnumConnections;
BufSize : DWord;
NumConns : DWord;
RasResult : Longint;
begin
Result := 0;
//Load the RAS DLL
RasDLL := LoadLibrary('rasapi32.dll');
if RasDLL = 0 then exit;
try
RasEnums := GetProcAddress(RasDLL,'RasEnumConnectionsA');
if @RasEnums = nil then
raise ERasError.Create('RasEnumConnectionsA not found in rasapi32.dll');
If (RasResult = 0) or (Result = cERROR_BUFFER_TOO_SMALL) then Result := NumConns;
finally
FreeLibrary(RasDLL);
end;
end;
end.
Как написать
программу, которая выводит число обратное данному?
Для трёхзначного числа. Пример: ввод - 345, вывод - 543.
var
a:array[1..5] of byte;
i,j:integer;
begin
{Получаем число}
readln(i);
{Разбиваем его на разряды
После этого цикла в a[1] будет младший разряд
в а[5] - старший}
for j:=1 to 5 do begin
a[j]:=i mod 10;
i:=i div 10;
end;
{Выводим по очереди разряды числа в обратном порядке}
for i:=1 to 5 do write(a[i]);
end.
Работаем с клавиатурой
Для работы с клавиатурой используется интерфейс KeyListener. Т. е. класс нашего апплета должен реализовывать этот интерфейс для работы с клавиатурой. В этом интерфейсе имеется три метода: keyPressed, keyReleased и keyTyped - и наш апплет должен их всех реализовать. Эти методы вызываются соответственно когда пользователь нажимает и отпускает клавишу на клавиатуре и в промежутке между нажатием/отпусканием.
Вот пример апплета, реагирующего на нажатия клавиш на клавиатуре.
import java.applet.*; import java.awt.*; import java.awt.event.*; public class FirstApplet extends Applet implements KeyListener { String s; // Выводимая строка. //Реализуем интерфейс KeyListener. public void keyPressed(KeyEvent k_e) { } public void keyReleased(KeyEvent k_e) { } public void keyTyped(KeyEvent k_e){ s+=k_e.getKeyChar(); repaint(); } public void init() { // Добавление слушателя для мишиных событий. addKeyListener(this); // Установка фокуса на апплет. requestFocus(); } public void paint(Graphics g) { //Рисуем строку. g.drawString(s, 10, 10); } }
После запуска апплета в нем будет появляться текст, который мы будем набирать на клавиатуре (для этого, возможно, придеться сначала щелкнуть на апплете мышкой). Также обратите внимание, что нажатие разных специальных клавиш будет обратываться некорректно - например, клавиша backspace не будет стирать последний символ, а будет, наоборот, добавлять еще один символ (который будет отображаться в виде квадратика). Ни и, конечно, методы keyPressed и keyReleased мы тут добавили просто потому, что они должны быть в нашем классе, так как они присутствуют в нашем интерфейсе KeyListener. В этих обработчиках мы ничего не пишем.
Параметры
командной строки в Delphi
Приведенный
пример выводит в заголовок окна первый
параметр командной строки.
procedure
TForm1.Button1Click(Sender: TObject);
var param:string;
begin
Form1.Caption:=ParamStr(1);
end;