modyfikacja plikow

0

a wiec progs ma dzialac tak:
mam 2 pliki , drugi jest podobny do pierwszego ale jest cos do niego dodane ,albo zmodyfikowane.
program ma porownac 2 pliki i stwozyc osobny plik wg ktorego bedzie potrafil zmodyfikowac 1 plik zeby wygladal jak 2.

do czego to? jak nie trudno sie domyslec do robienia roznego rodziaju "malych patchy"

W jaki sposob najlepiej to zrobic? moze jakis maly kodzik jak ktos sie bawil.
Z gory dziekuje.

0

Nie znam się zbyt dobrze na tym temacie ale to będzie wyglądało jakoś tak:

var
  mpFile1, mpFile2, mpFile3 : TFileStream;
  Buffer1 : array of char;                 //wiekszy plik
  Buffer2 : array of char;                 //mniejszy plik
  Buffer3 : array of char;                 //wynik
  i : Integer;
begin
  mpFile1 := TFileStream.Create('e:\plik1.txt', fmOpenRead);
  mpFile2 := TFileStream.Create('e:\plik2.txt', fmOpenRead);
  mpFile3 := TFileStream.Create('e:\patch.txt', fmOpenRead);
  mpFile1.Seek(mpFile1.Size - mpFile1.Size, soFromBeginning);
  mpFile2.Seek(mpFile2.Size - mpFile2.Size, soFromBeginning);
  mpFile3.Seek(mpFile3.Size - mpFile3.Size, soFromBeginning);

  SetLength(Buffer3,mpFile1.Size + mpFile2.Size);

  If mpFile1.Size > mpFile2.Size then     //ktory wiekszy
    begin
      SetLength(Buffer1,mpFile1.Size);
      SetLength(Buffer2,mpFile2.Size);
      mpFile1.Read(Buffer1,mpFile1.Size);
      mpFile2.Read(Buffer2,mpFile2.Size);
    end
  else
    begin
      SetLength(Buffer1,mpFile2.Size);
      SetLength(Buffer2,mpFile1.Size);
      mpFile2.Read(Buffer1,mpFile2.Size);
      mpFile1.Read(Buffer2,mpFile1.Size);
    end;

    for i:=1 to High(Buffer1) do
      begin
         if Buffer1[i] = Buffer2[i] then
          begin
            mpFile3.Write(Buffer3,High(Buffer3))
          end;
      end;

end;

nawet nie próbowałem tego uruchamiać ale z tego kodu powinieneś wychodzić do dalszych prób. Życzę powodzenia.

[diabel] na razie [diabel]

a propos tego wcześniej :

[email protected]
GG : 4651965

nie wiem czemu ale wylogowało mnie i nie było tych danych , a moja ksywa znikła :(

0

może niszczególnie przyglądałem się kodowi, ale to chyba raczej nie zadziała, bo powiedzmy mamy dwa pliki:

KrecikiKopiąKopce ( :) )
i
KrecikiKopceKopią

to plik wyjsciowy będzie wyglądał tak:
Kopce

0

Pełny kod programu, porównywanie plików, wypisywanie różniących
się bajtów. Nawet Pacza można wygenerować. Z pełnymi źródłami bez dodatkowych komponentów czyli SAMO MIODZIO.

;-)

http://www.tkchopin.pl/~kuba1114/ypp.zip

Miłego :-) (żródła freeware).

1 użytkowników online, w tym zalogowanych: 0, gości: 1