Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.05.20;
Скачать: [xml.tar.bz2];

Вниз

Обьединит файлы   Найти похожие ветки 

 
Oleg_teacher ©   (2007-04-27 20:06) [0]

как можна обьединить несколько файла в один с не текстовой информацыей


 
Desdechado ©   (2007-04-27 20:42) [1]

copy 1.zip + 2.jpg 3.smth


 
Alx2 ©   (2007-04-28 01:10) [2]

copy /b 1.zip + 2.jpg 3.smth


 
Fredy314 ©   (2007-04-28 08:59) [3]

а если так
rar a 3.zip 1.zip 2.txt
то потом можно будет раз"единить обратно


 
Novice   (2007-04-28 09:21) [4]

способ 1:

var
 f1, f2: file;
 xfer: Word;
 buf: PChar;
begin
 AssignFile(f1, name1);
 Reset(f1);
 Seek(f1, Filesize(f1));
 AssignFile(f2, name2);
 Reset(f2);
 GetMem(buf, 65000);
 repeat
   BlockRead(f1, buf^, 65000, xfer);
   BlockWrite(f2, buf^, xfer);
 until
   xfer < 65000;
 CloseFile(f1);
 CloseFile(f2);
end;

способ 2:

Procedure TForm1.ThisISHowIPutFilesIn ;
var
 ABigFileStream, SomeSmallFiles : TMemoryStream ;

begin
 ABigFileStream := TMemoryStream.Create ;
 try
   SomeSmallFiles := TMemoryStream.Create ;
    try
     SomeSmallFiles.LoadFromFile("C:\SomeSmalFile1.txt");
     AddToStream(SomeSmallFiles,ABigFileStream);
     SomeSmallFiles.LoadFromFile("C:\SomeSmalFile2.txt");
     AddToStream(SomeSmallFiles,ABigFileStream);
     // enz
    finally
     SomeSmallFiles.Free ;
    end;
 ABigFileStream.SaveToFile("C:\MrBig.DDD")
 finally
 ABigFileStream.free ;
 end;
end;

Procedure TForm1.ThisISHowIGetStufOut ;
var
 ABigFileStream, SomeSmallFiles : TMemoryStream ;

begin
 ABigFileStream := TMemoryStream.Create ;
 try
   ABigFileStream.LoadFromFile("C:\MrBig.DDD");
   SomeSmallFiles := TMemoryStream.Create ;
    try
     GetFromStream(ABigFileStream,SomeSmallFiles,0);
     SomeSmallFiles.SaveToFile("C:\SomeSmalFile1.txt");
     GetFromStream(ABigFileStream,SomeSmallFiles,1);
     SomeSmallFiles.SaveToFile("C:\SomeSmalFile2.txt");
     // и т.д.
    finally
     SomeSmallFiles.Free ;
    end;
 finally
 ABigFileStream.free ;
 end;
end;

Procedure TForm1.AddToStream ( Source , Dest : TStream );
var
Size : Integer ;
begin
Source.position := 0 ;
// Сохраняем размер, помещая его в первый байт
Size := Source.Size ;
Dest.Write(Size,SizeOf(Integer));
Dest.CopyFrom(Source,Source.size);
end;

Procedure TForm1.GetFromStream ( Source , Dest : TStream ; Index : Integer  );
Var
 Size , I : Integer ;

begin
Source.Position := 0 ;
For i := 0 to index-1 do
  begin
    Source.Read(Size,SizeOf(Integer));
    Source.Position := Source.Position + Size ;
  end;
// Если марк&#184;р в файле равен размеру, то что-то пошло не так :(
if Source.position = Source.Size then
 Raise EAccessViolation.Create("Index Out Of Bounds") ;
// Получаем желаемый размер файла
Source.Read(Size,SizeOf(Integer));
// Очищаем буфер у Dest
Dest.Position := 0 ;
Dest.Size := 0 ;
Dest.CopyFrom(Source,Size);
end;

(с) DelphiWorld - и вопросов будет меньше.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2007.05.20;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.046 c
15-1176825502
Layner
2007-04-17 19:58
2007.05.20
Посоветуйте тулз для разрезки видео файла MPEG4 почастям


2-1178196382
pavel_guzhanov
2007-05-03 16:46
2007.05.20
зависание при вставке записи в базу


15-1177072285
Германн
2007-04-20 16:31
2007.05.20
Сколько можно наступать на грабли?


11-1159541285
Redline
2006-09-29 18:48
2007.05.20
KolPng


3-1172666535
Helen
2007-02-28 15:42
2007.05.20
Доступ к базе Access





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский