Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-03-2007
amadis amadis is offline
Miembro
 
Registrado: may 2005
Ubicación: San José, Colón, Entre Ríos, Argentina
Posts: 315
Poder: 19
amadis Va por buen camino
Comparar version de Aplicacion para Actualizar

Que tal Gente.

Estoy tratando de hacer un actualizador para mi aplicación,
para ello me valí de algunos datos que recopile de otros hilos,
con uno descargo un archivo txt de una web con la version disponible,

y luego obtengo la version de mi programa en ejecución.

Aquí el codigo de Neftali para ver la version disponible en el servidor

Código Delphi [-]

procedure TForm1.Button1Click(Sender: TObject);
var
  b:Boolean;
  TS:TStrings;
  Str:String;

  //----------------------------------------------------------------------------
  function DownloadFile(Source, Dest: string): Boolean;
  begin
    // proteccion
    try
      Source := AnsiReplaceStr(Source, '/', '\');
      Result := UrlDownloadToFile(nil, PChar(Source), PChar(Dest), 0, nil) = 0;
    except
      Result := False;
    end;
  end;
  //----------------------------------------------------------------------------
begin

  // descargar
  b := DownloadFile('http://neftali.clubdelphi.com/temp/test_vrs.txt',
                    'c:\temp\test_vrs.txt');
  // correcto?
  if (b) then begin
    // Crear TStrings
    TS := TStringList.Create();
    // Coger la version
    TS.LoadFromFile('c:\temp\test_vrs.txt');
    Str := TS[1];
    // Avisar
    MessageDlg('Versión en el Servidor: ' + Str, mtInformation, [mbOK], 0);
    // Liberar
    TS.Free;
  end;
end;

Y aquí la función que me dice ¿que versión estoy ejecutando?

Código Delphi [-]
uses
  Windows, SysUtils;

function GetAppVersion : string;
   begin
        Size := GetFileVersionInfoSize(PChar (ParamStr (0)), Size2);
        if Size > 0 then
         begin
              GetMem (Pt, Size);
              try
                 GetFileVersionInfo (PChar (ParamStr (0)), 0, Size, Pt);
                 VerQueryValue (Pt, '\', Pt2, Size2);
                 with TVSFixedFileInfo (Pt2^) do
                  begin
                       Result:= ' Versión '+
                                IntToStr (HiWord (dwFileVersionMS)) + '.' +
                                IntToStr (LoWord (dwFileVersionMS)) + ' Build ' +
                                IntToStr (HiWord (dwFileVersionLS)) + '.' +
                                IntToStr (LoWord (dwFileVersionLS));
                  end;
              finally
                     FreeMem (Pt);
              end;
         end;
   end;

El tema es que con la primera Funcion descargo el TXT en el cual coloco los numeros de version (ej 1.0.2.4) eso esta bien.
Pero la segunda función me da como resultado VERSION 1.0 BUILD 2.4.

De que forma puedo obtener la versión actual en NUMERO, cosa de comparar
if VERSIONDISPONIBLE > VERSIONACTUAL then ACTUALIZAR.

Gracias!
Responder Con Cita
  #2  
Antiguo 01-03-2007
pvizcay pvizcay is offline
Miembro
 
Registrado: jun 2006
Posts: 147
Poder: 18
pvizcay Va por buen camino
Modifica el codigo de la ultima funcion y no conviertas los version numbers a cadenas devuelvelos como parametros..
los componentes JEDI tienen uno si mal no recuerdo que te los da en propiedades tambien

salu2
Responder Con Cita
  #3  
Antiguo 01-03-2007
luisgutierrezb luisgutierrezb is offline
Miembro
 
Registrado: oct 2005
Ubicación: México
Posts: 925
Poder: 19
luisgutierrezb Va por buen camino
de la segunda funcion sustituye donde dice ' BUILD ' por '.'
o tambien, de la segunda funcion has un programa que te genere el archivo de texto, asi te lo generara con BUILD y demas
Responder Con Cita
Respuesta



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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Comparar estructuras y actualizar Base de datos Interbase Chaja Conexión con bases de datos 5 12-07-2021 09:43:25
Como actualizar la version de Rave zerelho Impresión 2 16-05-2007 22:29:14
Actualizar versión de delphi Pedro-Juan OOP 3 26-11-2006 13:57:45
como puedo hacer para cambiar un archivo de excel con versión 2.1 a versión 8.0 RONPABLO Servers 4 23-01-2006 06:02:38
Actualizar versión de ODBC ¥0n1 Conexión con bases de datos 0 19-05-2004 02:38:47


La franja horaria es GMT +2. Ahora son las 18:04:37.


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