Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Auto Updater Poprawa kodu


Rekomendowane odpowiedzi

Opublikowano

Witam robie AutoUpdater do swojego programu oto kod:


#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <ProgressConstants.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Auto Updater Sfbot", 251, 166, 192, 124)
$Label1 = GUICtrlCreateLabel("Auto Updater Sfbot", 72, 8, 113, 17)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0x000080)
GUICtrlSetBkColor(-1, 0xFFFFFF)
$Button1 = GUICtrlCreateButton("Exit", 8, 136, 235, 25)
$Progress1 = GUICtrlCreateProgress(8, 64, 230, 17)
GUICtrlSetColor(-1, 0x00FF00)
$Label2 = GUICtrlCreateLabel("Version:", 85, 40, 80, 20)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFF0000)
$Label3 = GUICtrlCreateLabel("%", 120, 88, 12, 17)
$Button2 = GUICtrlCreateButton("Update", 8, 104, 235, 25)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
$link = BinaryToString(InetRead("http://www.sfbot.it-host.pl/client/sfbot.exe"))
$NV = BinaryToString(InetRead("http://www.sfbot.it-host.pl/client/version.txt"))
$CV = "1.0.0"
$cNV = StringReplace($NV, ".", "")
$cCV = StringReplace($CV, ".", "")
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
Exit
Case $Button2
GUISetState(@SW_SHOW, $Form1)
	 GUICtrlSetData($Progress1, 0)
GuiCtrlSetData($Label2, "Version:" & $NV)
If $cCV < $cNV Then
	 updates()
	 Else
MsgBox (0, "You have current version!", "You have current version!" )
	 EndIf
EndSwitch
WEnd
Func updates()
$download1 =  InetGet($link, @ScriptDir & "/New Version.exe")
	 $size = InetGetSize("http://www.sfbot.it-host.pl/client/sfbot.exe", 1)
GUICtrlSetData($Progress1, (InetGetInfo($download1, 0) / $size) * 100)
EndFunc

Proszę o poprawe tak aby działało oraz wyjaśnienie co do tej linijki: @ScriptDir

Opublikowano

Osobiście na pewno nie pomogę "tak, żeby działało".

@ScriptDir to makro - przyjmuje wartość pełnej ściężki, w której aktualnie znajduje się skrypt.

 

Polecam również wstawiać dłuższe kody w SPOILER.

Ta sygnatura jest pusta.

Opublikowano

Rozumiem a możesz podsunąć co jest źle bo skrypt sprawdza wartość i ja porównuje natomiast sam błąd jest przy InetGet czyli pobieraniu, mam pytanie jeszcze gdzie wypakuję się program który zostanie pobrany, chodzi o nowa wersje?

Opublikowano

jak byk ci stoi : W KATALOGU GDZIE MASZ PROGRAM/SKRYPT ( @ScriptDir ) pod nazwą New Version.exe

 

w

"/New Version.exe" ma być "\New Version.exe" bo to DYSK komputera a nie internet

If you = stupid then

insert(foot.in.your.ass)

end if

licznik-54-96732-stat.png

Opublikowano


#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <ProgressConstants.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Auto Updater Sfbot", 251, 166, 192, 124)
$Label1 = GUICtrlCreateLabel("Auto Updater Sfbot", 72, 8, 113, 17)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0x000080)
GUICtrlSetBkColor(-1, 0xFFFFFF)
$Button1 = GUICtrlCreateButton("Exit", 8, 136, 235, 25)
$Progress1 = GUICtrlCreateProgress(8, 64, 230, 17)
GUICtrlSetColor(-1, 0x00FF00)
$Label2 = GUICtrlCreateLabel("Version:", 85, 40, 80, 20)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFF0000)
$Label3 = GUICtrlCreateLabel("%", 120, 88, 12, 17)
$Button2 = GUICtrlCreateButton("Update", 8, 104, 235, 25)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
$link = BinaryToString(InetRead("http://www.sfbot.it-host.pl/client/Sfbot.exe"))
$NV = BinaryToString(InetRead("http://www.sfbot.it-host.pl/client/version.txt"))
$CV = "1.0.0"
$cNV = StringReplace($NV, ".", "")
$cCV = StringReplace($CV, ".", "")
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
Exit
Case $Button2
GUISetState(@SW_SHOW, $Form1)
        GUICtrlSetData($Progress1, 0)
GuiCtrlSetData($Label2, "Version:" & $NV)
   If $cCV < $cNV Then
        updates()
        Else
   MsgBox (0, "You have current version!", "You have current version!" )
        EndIf
EndSwitch
WEnd
Func updates()
ConsoleWrite($link & @CRLF)
$download1 =  InetGet($link, @ScriptDir & "\New Version.exe")
        $size = InetGetSize("http://www.sfbot.it-host.pl/client/Sfbot.exe", 1)
GUICtrlSetData($Progress1, (InetGetInfo($download1, 0) / $size) * 100)
EndFunc

Przy nacisnieciu Update program "brak odpowiedzi"

Opublikowano

to łaskawie daj błędy co wywala konsola , ja dla ciebie nie będę specjalnie instalował Windowsa i AutoIt by sprawdzić błędy

If you = stupid then

insert(foot.in.your.ass)

end if

licznik-54-96732-stat.png

Opublikowano

#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <ProgressConstants.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Auto Updater Sfbot", 251, 166, 192, 124)
$Label1 = GUICtrlCreateLabel("Auto Updater Sfbot", 72, 8, 113, 17)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0x000080)
GUICtrlSetBkColor(-1, 0xFFFFFF)
$Button1 = GUICtrlCreateButton("Exit", 8, 136, 235, 25)
$Progress1 = GUICtrlCreateProgress(8, 64, 230, 17)
GUICtrlSetColor(-1, 0x00FF00)
$Label2 = GUICtrlCreateLabel("Version:", 85, 40, 80, 20)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFF0000)
$Label3 = GUICtrlCreateLabel("%", 120, 88, 12, 17)
$Button2 = GUICtrlCreateButton("Update", 8, 104, 235, 25)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
Exit
Case $Button2
GUISetState(@SW_SHOW, $Form1)
updates()
EndSwitch
WEnd
Func updates()
   $NV = BinaryToString(InetRead("http://www.sfbot.it-host.pl/client/version.txt"))
   If $NV = "1.0.1" Then
   MsgBox(0,"","JEST AKTUALIZACJA")

   $link = InetGet("http://www.sfbot.it-host.pl/client/Sfbot.exe","Sfbot.exe")

ConsoleWrite($link & @CRLF)
$download1 =  InetGet($link, @ScriptDir & "\New Version.exe")
Else
   MsgBox(0,"","BRAK!")
   EndIf
EndFunc

 

Dorób sobie jeszcze progressbar. Powinno działać.

Opublikowano

/\ No cos nie bardzo ty chyba sam nie wiesz nawet na czym to polega bo totalne bzdury popisales.

Opublikowano

$link = BinaryToString(InetRead("http://www.sfbot.it-host.pl/client/Sfbot.exe"))

$download1 = InetGet($link, @ScriptDir & "/New Version.exe")

 

WTF?

Myśl.

I czytaj dokumentację, zamiast bezmyślnie kopiować cudze kody.

I dorzucaj wszędzie ConsoleWrite'y, jeśli starasz się debugować.

http://www.autoitscript.com/autoit3/docs/functions/InetGet.htm

Ta sygnatura jest pusta.

Opublikowano

#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <ProgressConstants.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>

$NV = BinaryToString(InetRead("http://www.sfbot.it-host.pl/client/version.txt"))
Local $hDownload

$Form1 = GUICreate("Auto Updater Sfbot", 251, 166, 192, 124)
$Label1 = GUICtrlCreateLabel("Auto Updater Sfbot", 72, 8, 113, 17)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0x000080)
GUICtrlSetBkColor(-1, 0xFFFFFF)
$Button1 = GUICtrlCreateButton("Exit", 8, 136, 235, 25)
$Progress1 = GUICtrlCreateProgress(8, 64, 230, 17)
GUICtrlSetColor(-1, 0x00FF00)
$Label2 = GUICtrlCreateLabel('Wersja: ' & $NV, 85, 40, 120, 20)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFF0000)
$Label3 = GUICtrlCreateLabel("%", 120, 88, 12, 17)
$Button2 = GUICtrlCreateButton("Update", 8, 104, 235, 25)
GUISetState(@SW_SHOW)
#endregion ### END Koda GUI section ###

While 1
$nMsg = GUIGetMsg()
Switch $nMsg
	Case $GUI_EVENT_CLOSE
		Exit
	Case $Button1
		Exit
	Case $Button2
		updates()
EndSwitch
WEnd

Func updates()

If $NV > "1.0.3" Then		  ;				do cholery porównuj wersje a nie równaj

	MsgBox(0, "Aktualizacja", "O właśnie znalazłem !")
	Local $hDownload = InetGet("http://www.sfbot.it-host.pl/client/Sfbot.exe", @ScriptDir & "\Sfbot.exe", 1, 1)
	Do
		Sleep(250)
	Until InetGetInfo($hDownload, 2)
	Local $nBytes = InetGetInfo($hDownload, 0)
	InetClose($hDownload)
	MsgBox(0, "Skopiowano plik", "rozmiar pliku: " & $nBytes)

;   	 Run( @ScriptDir & "\Sfbot.exe")   ; to to chyba wiadomoe co robi

Else
	MsgBox(0, "Aktualizacja", "Wypchaj się bo brak !")
EndIf
EndFunc  

 

sprawdź to moja wersja, powinna ściągać plik i pokazywać rozmiar pliku. zrobione zgodnie z poradą wyżej , dokładnie skopiowane z HELPU . wszystkimi łapkami przyznaję się do plagiatu kawałka skryptu !

 

z progresem się pobaw, późno idę spać ;)

If you = stupid then

insert(foot.in.your.ass)

end if

licznik-54-96732-stat.png

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...