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

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

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.12.2013, 21:57   #1
HTTqp
Форумчанин
 
Регистрация: 20.12.2013
Сообщений: 164
По умолчанию Перевести в API

Всем привет помогите перевести, а заодно разобраться. Пишу приложение клиент сервер, но при создании серверной части надо использовать API, просты програмки типа канкулятора или блокнота в API получается с сетевыми проблема, набросал код но он но он в приложении с формой, помогите перевести в API

Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs,IdContext, StdCtrls, IdBaseComponent, IdComponent, IdCustomTCPServer,
  IdTCPServer, ExtCtrls,JPEG;

type
  TForm1 = class(TForm)
    IdTCPServer1: TIdTCPServer;
    procedure IdTCPServer1Execute(AContext: TIdContext);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
idTCPServer1.Active:=True;
end;

procedure TForm1.IdTCPServer1Execute(AContext: TIdContext);
var
cmd:string;
Stream:TMemoryStream;
Bitmap:TBitmap;

begin
cmd:=AContext.Connection.IOHandler.ReadLn;//считываем команду
if cmd='show_desktop' then//если клиент запросил картинку
begin
Bitmap:=TBitmap.Create;
Stream:=TMemoryStream.Create;
//скриншот
Bitmap.Width := Screen.Width;
Bitmap.Height := Screen.Height;
BitBlt(Bitmap.Canvas.Handle, 0,0, Screen.Width, Screen.Height,GetDC(0), 0,0,SRCCOPY);
//скриншот
Bitmap.SaveToStream(stream);
Stream.Position:=0;
//передаём картинку
try
AContext.Connection.IOHandler.Write(Stream,Stream.Size,true);
finally
Bitmap.Free;
Stream.Free;
end;
end;
end;

end.
HTTqp вне форума Ответить с цитированием
Старый 27.12.2013, 22:16   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Хм... Загляни сюда: http://www.programmersforum.ru/showthread.php?p=1317942
И еще http://pblog.ru/?p=625
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 27.12.2013, 23:02   #3
HTTqp
Форумчанин
 
Регистрация: 20.12.2013
Сообщений: 164
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Спасибо, покапаюсь в первой ссылки) Но все же полезнее было бы с компонентом idctpserver пример, просто компонент такой что про него мало мануала, пробывал искать но увы...
Не хочется бросать на пол пути и добить это уже)
HTTqp вне форума Ответить с цитированием
Старый 28.12.2013, 00:03   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
с компонентом idctpserver пример
Стоп!!! А какое API тогда имеется ввиду?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 28.12.2013, 01:16   #5
HTTqp
Форумчанин
 
Регистрация: 20.12.2013
Сообщений: 164
По умолчанию

Ну на сколько я знаю любой компонент можно описать в delphi api, проще говоря нужна программа без формы ну или на крайний случай консольная. Мне главное показать пример как будет выглядеть первый код который я написал на api. Если кто способен перевести, буду благодарен, чтобы уже по примеру можно было развивать дальше. Тем более люди знающие я думаю есть здесь, иначе бы я не обратился к вам господа)

Последний раз редактировалось HTTqp; 28.12.2013 в 01:19.
HTTqp вне форума Ответить с цитированием
Старый 28.12.2013, 09:44   #6
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Сообщение от HTTqp Посмотреть сообщение
Ну на сколько я знаю любой компонент можно описать в delphi api, проще говоря нужна программа без формы ну или на крайний случай консольная. Мне главное показать пример как будет выглядеть первый код который я написал на api. Если кто способен перевести, буду благодарен, чтобы уже по примеру можно было развивать дальше. Тем более люди знающие я думаю есть здесь, иначе бы я не обратился к вам господа)
у Делфи нет API, и первый код не на API.

в вашем случае просто не показываете форму, это проще всего.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 28.12.2013, 10:33   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
проще говоря нужна программа без формы
Ну и чем форма не угодила? Для выбора бесформенного приложения нужны веские причины. В нем много чего может просто не работать из того что будет работать в форменном.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 28.12.2013, 19:54   #8
HTTqp
Форумчанин
 
Регистрация: 20.12.2013
Сообщений: 164
По умолчанию

Пепел Феникса, Первый код это ясно что не API)))
Во-вторых просто скрыть форму кодом это можно, там всего то
Код:
Application.ShowMainForm := False;
Важен вес программы, а с можулем Forms он конечно же увеличивается))) а упаковывать в упаковщики не вариант антивирусы воспринимают как вирус, а зачем заводить людей в заблуждение)))

И давайте ниже либо по теме, либо оставлять свои мысли при себе, чтобы не разводить на форуме флуд, надеюсь меня поймут.
HTTqp вне форума Ответить с цитированием
Старый 01.01.2014, 21:23   #9
TwiX
Участник клуба
 
Аватар для TwiX
 
Регистрация: 28.07.2009
Сообщений: 1,510
По умолчанию

Так пиши консольное приложения и подключай модули инди: IdBaseComponent, IdComponent, IdCustomTCPServer, IdTCPServer
TwiX вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Api kuba1981 PHP 8 07.12.2013 21:07
Vk api 4ipolino Работа с сетью в Delphi 4 31.08.2013 17:13
Vk.com api 4ipolino Работа с сетью в Delphi 3 24.05.2013 19:56
API Taup Win Api 3 07.12.2012 09:36
API TotKtoNado Win Api 8 05.08.2011 07:06