Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Trucos (https://www.clubdelphi.com/foros/forumdisplay.php?f=52)
-   -   Comparar dos Streams entre sí y averiguar si son iguales (https://www.clubdelphi.com/foros/showthread.php?t=80415)

dec 07-06-2006 20:54:28

Comparar dos Streams entre sí y averiguar si son iguales
 
La siguiente función devuelve "True" si los "Streams" que se pasan como parámetros resultan ser iguales. Esta función la escribió Federico (delphi.com.ar), un compañero de los Foros del ClubDelphi, si no recuerdo mal:

Código Delphi [-]
function CompararStreams(AStream1, AStream2: TStream): boolean;
var
  Buff1, Buff2: Pointer;
  iCount: LongInt;
const
  BUFFER_SIZE = 1024*4;
begin
  if AStream1.Size <> AStream2.Size then
    Result := False
  else
  begin
    Result := True;
    GetMem(Buff1, BUFFER_SIZE);
    GetMem(Buff2, BUFFER_SIZE);
    try
      repeat
        iCount := AStream1.Read(Buff1^, BUFFER_SIZE);
        AStream2.Read(Buff2^, BUFFER_SIZE);
        if not CompareMem(Buff1, Buff2, iCount) then
        begin
          Result := False;
          break;
        end;
      until iCount < BUFFER_SIZE;
    finally
      FreeMem(Buff1);
      FreeMem(Buff2);
    end;
  end;
end;


La franja horaria es GMT +2. Ahora son las 16:39:57.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi