GARANTIR DESCONTO

Fórum Como saber a versão de um arquivo? #202858

24/12/2003

0

Olá, gostaria de saber qual a versão de 2 arquivos, e comparar os dois, me informando qual arquivo tem a versão maior, ou seja, a versão mais nova...


Desde já agradeço,


Titanius

Titanius

Responder

Posts

24/12/2003

Beppe

Como você define ´versão maior´? Tamanho em bytes, recursos? E que tipo de arquivo?


Responder

Gostei + 0

29/12/2003

Titanius

tipo:
versao arqv 1.: 1.0.0.1
versao arqv 2.: 1.0.0.2

saber qual o maior entre eles.

valeu...


Responder

Gostei + 0

29/12/2003

Beppe

Você já sabe as versões:

type
  TVersions = (
    verEquals,                  // versões iguais
    verFirstGreater,            // a primeira é maior
    verSecondGreater,           // a segunda é maior
    verUnknown                  // desconhecido
  );

function CompareV(S1, S2: String): TVersions;
var
  X, Y: Integer;

  function GetDotToken(var S: String): Integer;
  var
    I: Integer;
  begin
    Result := 0;
    I := 1;
    repeat
      if S[I] = ´.´ then Break;
      Result := Result * 10 + Ord(S[I]) - Ord(´0´);
      Inc(I);
    until I > Length(S);
    Delete(S, 1, I);
  end;

begin
  Result := verUnknown;
  while (S1 <> ´´) and (S2 <> ´´) do
  begin
    X := GetDotToken(S1);
    Y := GetDotToken(S2);
    if X < Y then
      Result := verSecondGreater
    else if X > Y then
      Result := verFirstGreater;
    if X <> Y then Exit;
  end;
  if (S1 = ´´) and (S2 = ´´) then
    Result := verEquals;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  B: TVersions;
begin
  B := CompareV(Edit1.Text, Edit2.Text);
  CheckBox1.Checked := B in [verFirstGreater, verEquals];
  CheckBox2.Checked := B in [verSecondGreater, verEquals];
end;



Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar