Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 17.12.2007, 21:08   #1
Terran
Участник клуба
 
Аватар для Terran
 
Регистрация: 28.11.2007
Сообщений: 1,521
Восклицание Передача скриншота

Уважаемые программисты! Помогите пожалуста решить проблему. Как написать код, что бы через ClientSocket можно было принимать скриншот экрана от ServerSocket и выводить его сразу в Image (без сохранения файла на диск), там где clientsocket? (Делфи)
Есле можно исходник такого кода.

Помогите пожалуста! Срочно нада!



procedure TForm1.Button1Click(Sender: TObject);
begin
ClientSocket1.Active:=true;
ClientSocket1.Socket.SendText('R');
ClientSocket1.Active:=false;
end;
procedure TForm1.ClientSocket1Read(Sender: TObject;
Socket: TCustomWinSocket);
....
begin
....
end;
------------------------------------------------------------------

Вот код получения скриншота и отправки его на ClientSocket:

procedure TForm1.ServerSocket1ClientRead(Send er: TObject;
Socket: TCustomWinSocket);
var
s: string;
ms: TMemoryStream;
bmp: Graphics.TBitmap;
DC: HDC;
begin
if Socket.ReceiveText = 'R' then
begin
ms := TMemoryStream.Create;
bmp := TBitmap.Create;
bmp.Height := Screen.Height;
bmp.Width := Screen.Width;
DC := GetDC(0);
BitBlt(bmp.Canvas.Handle, 0, 0, bmp.Width,
bmp.Height, DC, 0, 0, SRCCopy);
try
bmp.SaveToStream(ms);
ms.Position := 0;
Socket.SendText(IntToStr(ms.Size) + #0);
Socket.SendStream(ms);
except
ms.Free;
end;
bmp.Destroy;
ReleaseDC(0, DC);
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
ServerSocket1.Active:=true;
end;

Заранее благодарен!
ответ был получен. предупреждение за кроспостинг. закрыто.
Всегда рад помочь!

Последний раз редактировалось Квэнди; 18.12.2007 в 09:12.
Terran вне форума
Старый 17.12.2007, 21:41   #2
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Я же вроде отвечал на такое же сообщение. Что за бред ?!

Воот нашел. Опять же Вы. Зачем копируете темы ? Почему здесь не пишете http://programmersforum.ru/showthread.php?t=11033 Я же все описал !

Вы совершенно не верно подходите к проблеме! Обустройте все через пакеты
Код:
type packet = packed record ... end;
Тогда и легче будет и вообще забудете про это ..SendText. Ужас какойто )

Последний раз редактировалось BOBAH13; 17.12.2007 в 21:47.
BOBAH13 вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Снятие скриншота в МСДОС Black_Ak24 Свободное общение 4 17.06.2008 19:03
Передача информации Патрон Общие вопросы Delphi 4 16.06.2008 21:05
Передача данных Ivanich JavaScript, Ajax 1 29.04.2008 00:25
Передача файлов по UDP GAGARIN-NEW Работа с сетью в Delphi 3 15.11.2007 22:45