Главная страница
    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.051 c
15-1177070574
vecna
2007-04-20 16:02
2007.05.20
Кто работал с IBConsole


6-1163500546
OlBan
2006-11-14 13:35
2007.05.20
Компонент Indy IdHTTP и https


2-1176404888
ancot
2007-04-12 23:08
2007.05.20
запуск bat файла


15-1177170349
Чапаев
2007-04-21 19:45
2007.05.20
Не мала баба клопоту, купила порося...


2-1178025607
gloom
2007-05-01 17:20
2007.05.20
Как добавить прогу в автозагрузку





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский