ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 23.05.2008, 18:46
/Boom\
Познающий
Регистрация: 14.02.2008
Сообщений: 62
Провел на форуме:
335706

Репутация: 4
По умолчанию

PHP код:
unit Unit1;

interface

uses
  Windows
MessagesSysUtilsVariantsClassesGraphicsControlsForms,
  
DialogsExtCtrlsStdCtrlsIdBaseComponentIdComponent,
  
IdTCPConnectionIdTCPClient;

type
  TForm1 
= class(TForm)
    
imgScreenTImage;
    
GroupBox1TGroupBox;
    
txtServerTEdit;
    
IdTCPClient1TIdTCPClient;
    
cmbConnectTButton;
    
GroupBox2TGroupBox;
    
Label1TLabel;
    
Label3TLabel;
    
lblResolutionTLabel;
    
lblColorsTLabel;
    
Timer1TTimer;
    
procedure cmbConnectClick(SenderTObject);
    
procedure IdTCPClient1Connected(SenderTObject);
    
procedure IdTCPClient1Disconnected(SenderTObject);
    
procedure Timer1Timer(SenderTObject);
  private
    { Private 
declarations }
  public
    { Public 
declarations }
  
end;

var
  
Form1TForm1;

implementation

{$R *.dfm}

procedure TForm1.cmbConnectClick(SenderTObject);
begin
  
if (cmbConnect.Caption 'Подключиться'then
  begin
    
if (txtServer.Text ''then
      
//Не введено имя сервера
      
MessageDlg('Введите имя машины-сервера в текстовое поле',
       
mtInformation, [mbOK], 0)
    else 
begin
      
//Подключаемся к серверу
      
IdTCPClient1.Host := txtServer.Text;
      try
        
IdTCPClient1.Connect;
      
except
        MessageDlg
('Не удается соединиться с указанным сервером',
         
mtError, [mbOK], 0);
        Exit;
      
end;
    
end
  end
  
else begin
    
//Отключается от сервера
    
IdTCPClient1.Disconnect;
  
end;
end;

procedure TForm1.IdTCPClient1Connected(SenderTObject);
begin
  txtServer
.Enabled := False;
  
cmbConnect.Caption := 'Отключиться';
  
//Начинаем периодически запрашивать данные с сервера
  
Timer1.Enabled := True;
  
//Выполним первый запрос сами
  
Timer1Timer (Nil);
end;

procedure TForm1.IdTCPClient1Disconnected(SenderTObject);
begin
  txtServer
.Enabled := True;
  
cmbConnect.Caption := 'Подключиться';
  
Timer1.Enabled := False;
end;

procedure TForm1.Timer1Timer(SenderTObject);
var
  
streamTMemoryStream;
begin
  
//Запрашиваем у сервера данные о наблюдаемом компьютере
  
with (IdTCPClient1) do
  
begin
    
//...разрешение
    
WriteLn('get_screen_width');
    
WriteLn('get_screen_height');
    
lblResolution.Caption := IntToStr(ReadInteger) + 'x'
     
IntToStr(ReadInteger);

    
//...глубина цвета
    
WriteLn('get_screen_colors');
    
lblColors.Caption := IntToStr(ReadInteger);

    
//...копия экрана
    //.....первый вариант - копирование экрана без сжатия
//    WriteLn('get_screen');
    //.....второй вариант - сжатие на стороне сервера
    
WriteLn('get_screen:' IntToStr(imgScreen.Width) + ',' +
     
IntToStr(imgScreen.Height));
    
//....получаем данные
    
stream := TMemoryStream.Create;
    
ReadStream(stream);
    
stream.Position := 0;
    
//....формируем изображение
    
imgScreen.Picture.Bitmap.LoadFromStream(stream);
    
stream.Clear;
    
stream.Free;
  
end;

end;

end
 
Ответить с цитированием

  #2  
Старый 23.05.2008, 19:29
Hellsp@wn
Постоянный
Регистрация: 29.04.2007
Сообщений: 496
Провел на форуме:
2715445

Репутация: 588
По умолчанию

разврат - это первый шаг на пути к отуплению)
 
Ответить с цитированием

  #3  
Старый 23.05.2008, 19:30
desTiny
Reservists Of Antichat - Level 6
Регистрация: 04.02.2007
Сообщений: 1,152
Провел на форуме:
3008839

Репутация: 1502


По умолчанию

Hellsp@wn, это техника для избранных
Цитата:
Однажды был мастер программист, который писал неструктурированные программы.
Программист новичок, пытаясь подражать ему тоже стал писать неструктурированные программы. Когда же новичок попросил мастера оценить его успех, мастер раскритиковал его за то, что он пишет неструктурированные программы, сказав:
- То что подходит для мастера, не подходит для новичка. Ты должен понять Дао, прежде чем переступать через структуру.
[C] James Geoffrey
__________________
Bedankt euch dafür bei euch selbst.

H_2(S^3/((z1, z2)~(exp(2pi*i/p)z1, exp(2pi*q*i/p)z2)))=Z/pZ
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
delphi smtp socket eroor 10080 anti_sec2 Болталка 3 09.05.2008 18:12



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ