kopiowanie plikow pascal

0

mam problem z kopiowaniem plikow.

kopiuje tym :

var arch2, kopia2: text;
linia: string ;

begin
assign (arch2, 'c:\arch2.dat') ;
assign (kopia2, 'c:\kopia2.txt') ;

 reset (arch2) ;
 rewrite (kopia2) ;
 repeat
       readln (arch2, linia) ;
       write (kopia2, linia) ;
 until eof (arch2) ;
 close (arch2) ;

end.

ale jezeli plik ma wiecej niz 4kb reszta jest obcinana.

prosze o szybka pomoc ;]

0

już nie pamiętam ale wiem że ja też miałem na początku problemy z kopiowaniem plików, jak znajde mój programik co kopiował to podam kod

BTW co to za typ: text:

var arch2, kopia2: text;

0

typ pliku tekstowego... (text albo textfile)

0
procedure copyfile(sour,dest:string);
var fs,fd:file;
    l:word;
    buf:pointer;
const bufsize=16384;
begin
  getmem(buf,bufsize);
  assign(fs,sour);
  assign(fd,dest);
  reset(fs,1);
  if inoutres<>0 then exit;
  rewrite(fd,1);
  while filesize(fs)-filepos(fs)>0 do
    begin
      if filesize(fs)-filepos(fs)>bufsize
        then l:=bufsize
        else l:=filesize(fs)-filepos(fs);
      blockread(fs,buf^,l);
      blockwrite(fd,buf^,l)
    end;
  close(fs);
  close(fd);
  freemem(buf,bufsize)
end;

// do postu ponizej... nie zauwazylem... uint, to po prostu word, moze byc integer, czy cokolwie, tak aby bufsize sie zawierało w zakresie

0

mam 2 problemy z ta procedura

  1. nie rozumiem jej (byl bym bardzo zadowolony jak by ktos byl tak mily odeslac mnie na jakis kurs albo to w miare dokladnie wytlumaczyc)
  2. nie chce dzialac tzn przy l: uint ; wyskakuje unknown identifier (zmienilem na integer i podzialalo)
0
procedure CopyFile(InputFileName, OutputFileName : STRING);
var
   InputF  ,
   OutputF  : TEXT;
   C        : chaR;

BeGiN
 assign(InputF, InputFileName);
 assign(OutputF, OutputFileName);
 {$i-}
 reset(InputF);
 if (IOResult <> 0) then EXIT;
 rewrite(OutputF);

 while (not eof(InputF)) do
  begin
    read(InputF, C);
    write(OutputF, C);
  end;

 {$i+}
 close(OutputF);
 close(InputF);
EnD;

U mnie działa. Jako parametry podajesz NAZWE plików: wejściowego i wyjściowego.

Jak mozna się domyślić procedura kopiuje plik znak po znaku, aż do osiągnięcia końca pliku. Ja zawsze używam takiej procedury :-/ ...

Mam nadzieję, że jej treść jest zrozumiała...

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