Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

X-Program ПО, новости сайта и программирование в Delphi7


Информационный Канал Subscribe.Ru

Выпуск№16


Наши адреса:
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

  • unit IsConnect;

    interface
    uses 
    Windows, SysUtils, Registry, WinSock, WinInet; 

    type 
    TConnectionType = (ctNone, ctProxy, ctDialup);

    function ConnectedToInternet : TConnectionType; 
    function RasConnectionCount : Integer; 

    implementation
    //For RasConnectionCount ======================= 
    const
    cERROR_BUFFER_TOO_SMALL = 603;
    cRAS_MaxEntryName = 256;
    cRAS_MaxDeviceName = 128;
    cRAS_MaxDeviceType = 16;
    type
    ERasError = class(Exception);

    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');

    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;
    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;

  • Фото приколы

  • №1 http://www.delphimaster.ru/cgi-bin/prikol.pl?id=346

    №2 http://www.delphimaster.ru/cgi-bin/prikol.pl?id=61

    №3 http://www.delphimaster.ru/cgi-bin/prikol.pl?id=257

    №4 http://www.delphimaster.ru/cgi-bin/prikol.pl?id=782

    №5 http://www.delphimaster.ru/cgi-bin/prikol.pl?id=161


    http://subscribe.ru/
    http://subscribe.ru/feedback/
    Подписан адрес:
    Код этой рассылки: comp.soft.prog.program
    Отписаться

    В избранное