Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.09.24;
Скачать: CL | DM;

Вниз

не могу разобраться   Найти похожие ветки 

 
Павлуха   (2006-09-07 13:14) [0]

Не могу не как разобраться со статьей http://delphiworld.narod.ru/base/img_by_socket.html, особенно с серверной частью, какие там используются переменные BUF? Напишите пожалуйсто нармальный исходник с синтаксом delphi.


 
default ©   (2006-09-07 13:19) [1]

забыл пообещать потенциальному писарю ключи от квартиры где деньги лежат


 
lessard   (2006-09-07 13:37) [2]

Попробуй так:


unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, ExtCtrls, Sockets, ScktComp;

type
 TForm1 = class(TForm)
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;        
 ClientSocket1: TClientSocket;
 ServerSocket1: TServerSocket;

procedure SendStream(const Fn: String; Im: TImage);
function ReceiveStream: TBitmap;

implementation

{$R *.dfm}

procedure SendStream(const Fn: String; Im: TImage);
var FS: TFileStream;
    Position: Integer;
begin
    FS := TFileStream.Create(Fn, fmOpenRead or fmShareDenyNone);
    Im.Picture.Bitmap.SaveToStream(FS);
    FS.Seek(0, 0);
    ClientSocket1.Socket.SendStream(FS);
    FS.Destroy;
end;

function ReceiveStream: TBitmap;
var ibLen: Integer;
     buf: pchar;
     FS: TFileStream;
begin
    FS := TFileStream.Create("C:\data.bmp", fmCreate or fmShareExclusive);
    FS.Seek(0, 0);
    ibLen := ServerSocket1.Socket.ReceiveLength;
    ServerSocket1.Socket.ReceiveBuf(buf^, ibLen);
    FS.WriteBuffer(buf^, ibLen);
    FS.Seek(0, 0);
    Result := TBitmap.Create;
    Result.LoadFromStream(FS);
    FS.Destroy;
end;

end.


 
lessard   (2006-09-07 13:38) [3]

Ах да! И ещё не забудь сокеты инициализировать :)


 
lessard   (2006-09-07 13:40) [4]

М.. и ещё GetMem для buf :)


 
Сергей М. ©   (2006-09-07 15:10) [5]


>     ibLen := ServerSocket1.Socket.ReceiveLength;
>     ServerSocket1.Socket.ReceiveBuf(buf^, ibLen);


Гениально.


 
lessard   (2006-09-07 15:14) [6]

Сергей, я сам никогда не имел дела с сокетами, писал на глазок. И поправь, если знаешь, а не раздувай ситуацию. Спасибо. Пух.


 
WeeK   (2006-09-07 15:45) [7]


> Сергей М. ©   (07.09.06 15:10) [5]

Подскажи как сделать правильно, спасибо!


 
Павлуха   (2006-09-07 15:45) [8]


> Сергей М. ©   (07.09.06 15:10) [5]

Подскажи как сделать правильно, спасибо!


 
fly_mer   (2006-09-07 17:03) [9]

Сергей М. третий раз повторить? :)



Страницы: 1 вся ветка

Текущий архив: 2006.09.24;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.028 c
2-1157011598
Dr. Genius
2006-08-31 12:06
2006.09.24
TFileStream


15-1157266106
Alex Konshin
2006-09-03 10:48
2006.09.24
Enron


2-1157458352
barakuda
2006-09-05 16:12
2006.09.24
Запрос чегото, нетого ...


3-1153894912
ru_efim
2006-07-26 10:21
2006.09.24
Как использовать метод NextRecordSet компонента TADOStoredProc ?


15-1157270119
Dbn
2006-09-03 11:55
2006.09.24
E 1,7e что это за числа?