如何开发类似于公文包那种同步功能的程序?(200)

  • 主题发起人 主题发起人 warket
  • 开始时间 开始时间
W

warket

Unregistered / Unconfirmed
GUEST, unregistred user!
如何开发类似于公文包那种同步功能的程序?就是可以找出不同的文件然后更新!希望能有原理思路,最好能够有源代码!
 
简单一点的是Shell的shellChangeNotifier监控文件变化,全文检索里面多的是例子,复杂的么就Hook 文件操作API,全文检索里面也有例子,难的就是作文件过滤,Google上找文件透明加密的例子,但是大部分是C代码!呵呵!
 
应该和svn差不多吧
 
可以通过计算文件生成唯一的KEY,然后比较就行了。下面是一个CRC校验的函数:function GetFileCRC(pFileName: string): string;var i, j, crc, rCRC, Temp, Temp3: Integer; CRCTable: array[0..255] of Integer; f: TMemoryStream; p: PChar; Temp1, Temp2: byte; strFileName: string;begin result := ''; for i := 0 to 255 do begin crc := i; for j := 0 to 7 do begin if Boolean(crc and 1) then crc := Cardinal(crc shr 1) xor $EDB88320 else crc := crc shr 1; end; CRCTable := crc; end; f := TMemoryStream.Create; f.LoadFromFile(pFileName); if f.Size <= 0 then begin f.Free; exit; end; p := f.Memory; rCRC := -1; for i := 0 to f.Size - 1 do begin move(p, Temp1, 1); Temp2 := rCRC and $000000FF; Temp := Temp1 xor Temp2; rCRC := rCRC shr 8; move(CRCTable[Temp], Temp3, 4); rCRC := rCRC xor Temp3; end; rCRC := not rCRC; f.Free; result := Format('%x', [rCRC]);end;
 
svn 的程序有没有?另外有没有什么比较好的程序??
 
to wzwcn crc校验 包括文件夹里面所有的文件和文件夹吗?
 
后退
顶部