Tak, Klaus, den vil jeg prøve. Den ser nu noget mere indviklet ud
Mvh Kurt
"Klaus Petersen" <ng@spectual.ra.bnaa.dk> wrote in message
news:bhfhav$9mt$1@sunsite.dk...
> > For at kopiere en billedfil har jeg oprettet et TImage og kopierer
> > billedfilen således:
> > TempImage1.Picture.LoadFromFile(OpenPictureDialog.FileName);
> > TempImage1.Picture.SaveToFile(EjendomBilledFilNavn);
> > Denne metode skal jo først gemme filen i TImage, hvilket må tage unødig
> lang
> > tid. Det virker også ganske udemærket, men der må da være en hurtigere
> metode.
>
> Ja men du behøver ikke at kopiere gennem en TImage komponent. Du kunne
> f.eks. prøve denne funktion:
>
> function FileCopy ( srcfile : string; destfile : string ) : boolean;
> var
> buf : array [0..65535] of byte;
> srcfh, dstfh : file of byte;
> br : longint;
> ioerr : integer;
> begin;
> assignfile ( srcfh, srcfile );
> assignfile ( dstfh, destfile );
>
> {$i-}
> reset (srcfh);
>
> ioerr := ioresult;
> if not (ioerr = 0) then begin; result := false; exit; end; // fejl ved
> åbning af kilde
>
> rewrite (dstfh);
>
> ioerr := ioresult;
> if not (ioerr = 0) then begin; result := false; exit; end; // fejl ved
> åbning af dest
>
> repeat;
> blockread ( srcfh, buf, sizeof (buf), br );
>
> ioerr := ioresult;
> if not (ioerr = 0) then begin;
> closefile (srcfh);
> closefile (dstfh);
> result := false;
> exit;
> end; // læsefejl
>
> blockwrite ( dstfh, buf, br );
>
> ioerr := ioresult;
> if not (ioerr = 0) then begin;
> closefile (srcfh);
> closefile (dstfh);
> result := false;
> exit;
> end; // skrivefejl
>
> until ( br = 0 );
>
> closefile (srcfh);
> closefile (dstfh);
>
> {$i+}
> result := true; // alt ok
> end;
>
>
>