Jump to content
Fivewin Brasil

Função para teste de CRC de campos DBF


rochinha

Recommended Posts

Amiguinhos,

Encontrei no meu arquivo de funções. Não lembro de ter usado, mas vai que alguém precise.

function dbSaveCRC() 
   if dbFieldCRC() 
      FieldPut(FCount(),dbCalcCRC()) 
   end 
   return nil 
	function dbFieldCRC() 
   return Right(RTrim(FieldName(FCount())),3) == "CRC" 
	function dbCalcCRC() 
   local cSum := "" 
   local f 
   local i 
   * 
   for i := 1 to FCount()-1 
       f := FieldGet(i) 
       cSum += if(ValType(f) = "C",      f         ,; 
               if(ValType(f) = "N",  Str(f,18,6)   ,; 
               if(ValType(f) = "D", DtoS(f)        ,; 
               if(ValType(f) = "L",   if(f,"1","0"), "")))) 
   next 
   return .t. // CRC32Calc(cSum)

Link to comment
Share on other sites

Link to comment
Share on other sites

Conceito de CRC (Cyclical Redundancy Check)
A sigla CRC (sigla da expressão inglesa Cyclical Redundancy Check e que em português é traduzida por Verificação de Redundância Cíclica) consiste num número criado por um cálculo matemático no computador fonte de um pacote de dados. Quando o pacote chega a seu destino, o cálculo é refeito. Se os resultados forem os mesmos, isso indica que os dados no pacote permaneceram estáveis. No caso do cálculo no destino diferir do cálculo na fonte, tal significa que os dados foram alterados durante a transmissão. Neste caso, a rotina CRC sinaliza o computador fonte para retransmitir os dados.

Fonte: http://knoow.net/ciencinformtelec/informatica/crc-cyclical-redundancy-check/

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...