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]
Dosya Bölme
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Dosya Bölme
Kod yazmaya devam...
-
- Kıdemli Üye
- Mesajlar: 1223
- Kayıt: 26 Nis 2005 04:08
-
- Üye
- Mesajlar: 33
- Kayıt: 18 Nis 2005 09:07
- Konum: İzmir
- İletişim:
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;
_____________________________________________________________
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;
_____________________________________________________________