Einzelnen Beitrag anzeigen

Vader

Registriert seit: 6. Mai 2003
804 Beiträge
 
Delphi 6 Enterprise
 
#1

e. Datei vom TServerSocket a. d. TClientSocket schicken.

  Alt 24. Mär 2004, 18:02
hallo,


entschuldigung hab vorher bwas ich abgeschickt habe einen teil des codes vergessen.!!!!!


hab da einen code und möchte gerne, das der client im ereigniss clientsocket1connect,
wo der stream dann die datei hineinschreibt, mit einem speicherndialog,und nicht ,wie in diesen code wo ich schon vorher den pfad angeben muß umändern, aber ich komm nicht weiter.

client
Code:
private
 
    FStream: TFileStream;

    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  Stream: TFileStream;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
clientsocket1.active:=true;
end;



procedure TForm1.ClientSocket1Read(Sender: TObject;
  Socket: TCustomWinSocket);
var
  iLen: Integer;
  Bfr: Pointer;
begin
  iLen := Socket.ReceiveLength;
  GetMem(Bfr, iLen);
  try
    Socket.ReceiveBuf(Bfr^, iLen);
    FStream.Write(Bfr^, iLen);
  finally
    FreeMem(Bfr);
  end;


end;

procedure TForm1.FormCreate(Sender: TObject);
begin
 FStream := nil;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  if Assigned(FStream) then
  begin
    FStream.Free;
    FStream := nil;
  end;

end;

procedure TForm1.ClientSocket1Disconnect(Sender: TObject;
  Socket: TCustomWinSocket);
begin
 if Assigned(FStream) then
  begin
    FStream.Free;
    FStream := nil;
  end;

end;

procedure TForm1.ClientSocket1Connect(Sender: TObject;
  Socket: TCustomWinSocket);
begin
  FStream := TFileStream.Create('c:\abc\sigi.stream.bmp', fmCreate or fmShareDenyWrite);
end;

end.
server

Code:
    FStream: TFileStream;

    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}




procedure TForm1.FormCreate(Sender: TObject);
begin
serversocket1.active:=true;
end;

procedure TForm1.ServerSocket1ClientConnect(Sender: TObject;
  Socket: TCustomWinSocket);
begin
 Socket.SendStream(TFileStream.Create('c:\ab\sigi.bmp', fmOpenRead or fmShareDenyWrite));
end;



end.

wer kann mir da weiter helfen.


mfg vader
  Mit Zitat antworten Zitat