Dosya Bölme

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
espasem
Üye
Mesajlar: 55
Kayıt: 05 May 2005 01:37
Konum: KOCAELİ

Dosya Bölme

Mesaj gönderen espasem »

selam arkadaşlar.
seçilen bir dosyayı istenilen byte lara bölmek. bunun için önce dosya boyutunu öğrenmem lazım. ok. fakat bunu yaptıktan sonra hangi kodla dosyayı bölebilirim.bunun için bir fonksiyon varmı?
yardımlarınız için teşekkürler[/code]
Kod yazmaya devam...
fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Mesaj gönderen fduman »

Hazır bir function yok. TFileStream ile dosyayı açıp, stream'in read methodu ile kaç byte okumak istiyorsan okutup, başka bir filestream'e write ile yazabilir ve dosyayı bölebilirsin. Bence forumda bir arama yap. Hazır yazılmış bir kod bulabilirsin belki.
Kullanıcı avatarı
espasem
Üye
Mesajlar: 55
Kayıt: 05 May 2005 01:37
Konum: KOCAELİ

Mesaj gönderen espasem »

bir örnek varsa gönderirseniz sevinirim
espasem@mynet.com
Kod yazmaya devam...
fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Mesaj gönderen fduman »

Elimde hazır yok. Sitenin arama bölümünden bir bak istersen.
aLonE CoDeR
Kıdemli Üye
Mesajlar: 1223
Kayıt: 26 Nis 2005 04:08

Mesaj gönderen aLonE CoDeR »

Merhaba.
TFileStream türünde Create ettiğiniz dosyanın bir kopyasını, TFile tipinde Create edilen başka bir değişkene "CopyFrom(Createedilendosya, kopyalanakcakbyte )" metoduyla istediğiğniz işlemi yaptırabilirsiniz..
Kolay gelsin..
Talat Doğan
Üye
Mesajlar: 33
Kayıt: 18 Nis 2005 09:07
Konum: İzmir
İletişim:

Mesaj gönderen Talat Doğan »

Merhaba,

2002 yılında, aşağıda verdiğim Split adlı prosedürü kullanmışım.

Talat Doğan

_____________________________________________________________

function extractfname(fil:string):string;
begin
while pos('\',fil)<>0 do delete(fil,1,pos('\',fil));
extractfname:=fil;
end;

function MakeItAString(I: cardinal): string;
var
S: string[11];
begin
Str(I, S);
Result:= S;
end;

function RightStr(const AText: string; const ACount: Integer): string;
begin
Result := Copy(AText, Length(AText) + 1 - ACount, ACount);
end;

procedure Split(var FileToSplit,DestinationDir:string);
var
FromF, ToF: file;
SplittedName:string
SplitCounter,NumRead, NumWritten: Integer;
Buf: array[1..65000] of Char;
begin
SplittedName:='Split';
AssignFile(FromF, FileToSplit);
Reset(FromF, 1);
SplitCounter:=0;
repeat
BlockRead(FromF, Buf, SizeOf(Buf), NumRead);
if NumRead=0 then break;
AssignFile(ToF, DestinationDir+'\Split_'+extractfname(FileToSplit)+'.'+RightStr('000'+MakeItAString(SplitCounter),3));
Rewrite(ToF, 1);
BlockWrite(ToF, Buf, NumRead, NumWritten);
CloseFile(ToF);
inc(SplitCounter);
until (NumRead = 0) or (NumWritten <> NumRead);
CloseFile(FromF);
end;

_____________________________________________________________
Kullanıcı avatarı
espasem
Üye
Mesajlar: 55
Kayıt: 05 May 2005 01:37
Konum: KOCAELİ

Mesaj gönderen espasem »

kod için teşekkürler
ama ben hiç bişey anlamadım. açıklarsanız sevinirim. çokkkk sağolun
Kod yazmaya devam...
Cevapla