Dosya Alışverişi .. ?

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
s1lv3r
Üye
Mesajlar: 91
Kayıt: 09 Nis 2006 03:03

Dosya Alışverişi .. ?

Mesaj gönderen s1lv3r »

Arkadaşlar projemde clientsocket ve serversocket var. İki bilgisayar arasındaki dosya alışverişini nasıl yaparım ? Bir bilgisayardan diğerine bir dosyayaı nasıl aktarabilirim :roll:
ulu coder
Üye
Mesajlar: 838
Kayıt: 01 Nis 2006 06:46
Konum: Ankara

Mesaj gönderen ulu coder »

Bunu ben de planlıyordum.
BlockRead ve BlockWrite kullanmayı düşünüyordum.
Bu iki komut forumda daha önce konuşulmuştu :ara .
Delphi F1 de faydalı olur.
s1lv3r
Üye
Mesajlar: 91
Kayıt: 09 Nis 2006 03:03

Mesaj gönderen s1lv3r »

Baya bir aradım fakat maalesef istediğim sonuna ulaşamadım. Bu konuda bilgisi olan var mı ?
Anadolu27
Üye
Mesajlar: 35
Kayıt: 04 Nis 2006 11:42
Konum: Nizip

Mesaj gönderen Anadolu27 »

kardeş merhaba..

güzel bir konu ve soru..
bu güzelliği sohbetteki OpenSource proje seçimlerinde özellikle dile getirecez sanırsam.
AyYıldızlı Kaza, Emula benzeri bir programımız neden olmasın..

kullandığın bileşenin SendBuf komutu var..
bununla bu işi yapabilirsin sanırsam..
ulu coder kardeşin dediği gibi BlockRead komutunuda kullanmalısın.

özet olarak şu şekilde dosya transferi yapabilirsin..:

Kod: Tümünü seç

   AssignFile(dosya,yolu)
   Reset(dosya)
   repeat
     BlockRead(dosya,CharDizi,int,int); 
     ClienSockx.Socket.SendBuf(CharDizi, BlocReaddekiOkumaMiktari);
   until vs vs...
hatta bide FilePos komutu ile kullanıcıya progres üzerinden giden/Kalan yüzdeyide gösterebilirsin..

Ben bu işin sonucunu merak ediyorum..
Bi projeye temel olabilirmi diye?

bu konudaki elde edeceğin sonuçları paylaşırsan sevinirim..

Sağlıcakla
Anadolu27
Üye
Mesajlar: 35
Kayıt: 04 Nis 2006 11:42
Konum: Nizip

Mesaj gönderen Anadolu27 »

unuttuk ama tabi bu olayın gönderen tarafı olduğu gibi bide alan tarafı var..

ServerSocketx.Socket.ReceiveBuf(); komutu ilede dosyayı alabilir ve BlocWrite() ile de dosyaya yazabilirsin sanırsam..

Sağlıcakla...
s1lv3r
Üye
Mesajlar: 91
Kayıt: 09 Nis 2006 03:03

Mesaj gönderen s1lv3r »

Kod için teşekkürler fakat

BlockRead(dosya,CharDizi,int,int);

bu bölümde chardizi bölümünde incompatible types hatası alıyorum tam olarak ne yazmam gerekiyor buraya :cry:
ulu coder
Üye
Mesajlar: 838
Kayıt: 01 Nis 2006 06:46
Konum: Ankara

Mesaj gönderen ulu coder »

Kod: Tümünü seç

Var
Chardizi: array[1..2048] of Char;
okunan:integer;
diyerek önce tanımlama yapmalısın. Kodun tam kullanım şekli

Kod: Tümünü seç

BlockRead(Dosya, CharDizi, SizeOf(CharDizi), okunan)
Not:Bunları delphi help'ten yazdım. Oraya bakarsan daha hızlı cevap bulursun.
Cevapla