Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros temas > Trucos
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Los mejores trucos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-06-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Comparar dos archivos entre sí y averiguar si son iguales

Esta función debería haberse incluido dentro del truco: Comparar dos Streams entre sí y averiguar si son iguales.

Nótese que utilizamos la función "CompararStreams" dentro de la función "CompararArchivos". En definitiva se trata de averiguar si dos determinados archivos son iguales o no:

Código Delphi [-]
uses
  Classes;

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;

function CompararArchivos(AFileName1, AFileName2: TFileName): boolean;
var
  FS1, FS2: TFileStream;
begin
  FS1 := TFileStream.Create(AFileName1, fmOpenRead + fmShareDenyNone);
  try
    FS2 := TFileStream.Create(AFileName2, fmOpenRead + fmShareDenyNone);
    try
      Result := CompararStreams(FS1, FS2);
    finally
      FS2.Free;
    end;
  finally
    FS1.Free;
  end;
end;
Responder Con Cita
  #2  
Antiguo 06-05-2007
Wellnic Wellnic is offline
Miembro
 
Registrado: mar 2007
Posts: 68
Poder: 18
Wellnic Va por buen camino
Otro manera de comparar dos archivos es escribir:

fc/b archivo1 archvo2

en la línea de comandos. :-)
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 09:56:18.


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
Copyright 1996-2007 Club Delphi