Buscar actualizaciones de un programa

Pregunta Sin Miedo no te cortes cualquier cosa para empezar - Autoit se comienza facilmente.Para Ordenes o Comandos sueltos. Ver nota como preguntar.
Responder
Avatar de Usuario
arkcrew
Profesional del Autoit
Mensajes: 506
Registrado: 28 Sep 2009, 19:17
Ubicación: Granada, España
Contactar:

Buscar actualizaciones de un programa

Mensaje por arkcrew »

Hola, tengo este código y me gustaría saber qeu es lo que hago mal que siempre me dice que hat una version disponible sea antigua o sea nueva.

Espero vuestra ayuda!

Código: Seleccionar todo

#include <Array.au3>

#include <File.au3>

#include <String.au3>

#include <INet.au3>

#include <Constants.au3>

#include <NodLunaSDK.au3> // No la necesitamos para las versiones....

#include <IE.au3>

#include <GUIConstantsEx.au3>

#include <StaticConstants.au3>

#include <GUIConstants.au3>

#include <WindowsConstants.au3>

#include <Misc.au3>

#include <GuiReBar.au3>

#include <GuiComboBox.au3>

#include <GuiEdit.au3>

#include <GuiToolBar.au3>

#include <GuiTreeView.au3>

#include <GuiImageList.au3>

#include <ButtonConstants.au3>

#include <GuiMenu.au3>



    $servidor = "http://arkcrew.com"

    $version1 = "9.9.9.6";filegetversion(@ScriptFullPath)

        $ver = _INetGetSource($servidor & "/ver.php")

        If $ver == $version1 Then

        Else; Autoactualización del NodLuna

            TrayTip("NodLuna " & $version1, "Estado:" & @LF & "" & @LF & "La versión"&$ver&"está disponible." & @LF & "Se procede a autoactualizar el programa." & @CRLF & "" & @CRLF & "@Gm15 KopyLeft(K) -2009- www.arkcrew.com", 1, 1)

            Sleep(2000)

            InetGet("http://arkcrew.com/nodluna/updater.cmd", "updater.cmd", 1, 1)

            While @InetGetActive

                TrayTip("NodLuna " & $version1, "Estado" & @LF & "" & @LF & "Descargando archivos..." & @LF & "Tamaño = " & @InetGetBytesRead & @LF & "" & @LF & "@Gm15 - KopyLeft (K) 2009 - www.arkcrew.com",1,1)

                Sleep(250)

            WEnd

            Sleep(2000)

            InetGet("http://arkcrew.com/nodluna/updater.exe", "updater.exe", 1, 1)



            While @InetGetActive

                TrayTip("NodLuna " & $version1, "Estado" & @LF & "" & @LF & "Descargando archivos..." & @LF & "Tamaño = " & @InetGetBytesRead & @LF & "" & @LF & "@Gm15 - KopyLeft (K) 2009 - www.arkcrew.com",1,1)

                Sleep(250)

            WEnd

            Sleep(2000)

            ShellExecute("updater.exe")

            Exit

        EndIf

 
Un saludo
Avatar de Usuario
Chefito
Profesional del Autoit
Mensajes: 2035
Registrado: 21 Feb 2008, 18:42
Ubicación: Albacete/Cuenca (España)

Re: Buscar actualizaciones de un programa

Mensaje por Chefito »

El problema que tienes es que las cadenas no son iguales, logicamente :smt001 .
La cadena de caracteres que capturas en la página web tiene un caracter final más, el cual es un salto de linea (@lf).
La mejor forma de corregir esto es hacerlo directamente en el texto de la página web quitándole este caracter de más.
Si no quieres cambiarlo puedes hacer

Código: Seleccionar todo

$version1 = "9.9.9.6" & @LF
o

Código: Seleccionar todo

If StringLeft($ver,stringlen($ver)-1) == $version1 Then
Saludos.
Cita vista en algún lugar de la red: En este mundo hay 10 tipos de personas, los que saben binario y los que no ;).
Responder