[delphi6]File transfers

Pagina: 1
Acties:

  • THIJZEL
  • Registratie: Januari 2001
  • Niet online
Hey,

Weet iemant precies hoe ik filetransfers kan doen met delphi, Ik ben al een beetje bezig geweest met clientsocket.socket.sendbuf, maar hetw il nog niet helemaal werken..

(sourcefile is bv c:\test.txt)

ik heb nu voor het zenden...:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
var i:integer;
begin
        if clientsocket1.Socket.Connected = true then
        begin
        sourcefilestr:=tfilestream.Create(sourcefile,fmOpenRead);


                for i:=1 to ((sourcefilestr.Size) div 100) do
                begin
                        clientsocket1.Socket.SendBuf(sourcefilestr,100);
                end;

        end;
end;



maar dit werkt niet echt... hoe groot moet ik de buffersize maken?? met 100 heb ik maar wat gegokt..

Het leesgedeelte ben ik ook nog mee bezig.. Waarschijnlijk is het iets met readbu en die dan schrijven naar een file( met blocks van buffersize?).


kan iemand me een schopje in de goede richting geven?

  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

Je hebt al een Stream, dus het handigste is dan SendStream te gebruiken ipv SendBuf.

We adore chaos because we like to restore order - M.C. Escher


  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Het voorbeeld wat bij Delphi6 zelf zit zeker nog niet bekeken?

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


Verwijderd

Om een text string over te sturen wordt het zoiets:
code:
1
2
3
4
5
Var A:string;
Begin
A:= edit1.text;
clientsocket1.Socket.SendText(a);
end


Voor de server die ontvangt:
code:
1
2
3
4
5
6
ServerSocket1.Onclientread
Var A:string;
begin
Socket.Receicetext(a)
edit2.text:= a;
end;

  • THIJZEL
  • Registratie: Januari 2001
  • Niet online
Verwijderd schreef op 18 april 2003 @ 19:02:
Om een text string over te sturen wordt het zoiets:
code:
1
2
3
4
5
Var A:string;
Begin
A:= edit1.text;
clientsocket1.Socket.SendText(a);
end


Voor de server die ontvangt:
code:
1
2
3
4
5
6
ServerSocket1.Onclientread
Var A:string;
begin
Socket.Receicetext(a)
edit2.text:= a;
end;
yup, maar ga een binair bestand van 100mb maar eens zo versturen.

Die procedures werken wel voor een chatprogramma.

[ Voor 6% gewijzigd door THIJZEL op 18-04-2003 20:46 ]