Guida Guida come creare un autopatcher

Stato
Discussione chiusa ad ulteriori risposte.

Fica1993

Utente Electrum
1 Dicembre 2009
296
19
5
100
Ultima modifica da un moderatore:
[SIZE=Normale]oggi sono in forma *_* e vi insegnerò come si crea un autopatcher con visual basic e ne vado fiero
2cmt8pe.png
apparte le battutte cominciamo questa lunga procedura di programmazione u_u se non seguite i passaggi non ci riuscite neanche all'anno prossimo :asd:

Occorrente:

Procedimento:




  1. [*]Cliccate "Nuovo Progetto"
    [*]Inserite il nome al progetto
    [*]Confermate
Ora dovrebbe apparirvi una finestra tipo questa:
setup2qk3x.jpg
jusetup2qk3xj


Nel punto 1 c'è il progetto, dove è possibile modificare il disegno dell'autopatcher.
Nel punto 2 c'è la toolbox, dove sono presenti tutti i campi di imput, pulsanti ecc
Nel punto 3, che non si vede :\ , è possibile modificare le proprietà dell'oggetto selezionato.

Ora dobbiamo modificare l'aspetto :

Allargate a vostro piacimento questo, per ridimensionare l'autopatch come volete:
setup3v8nt.jpg
setup3v8nt.jpg


Poi andate in basso a destra e quando trovate questo

copiadisetup3v8nt.jpg



al posto di Form1 mettete il titolo dell'autopatcher.

Ora andate nella ToolBox in alto a destra e selezionate Button.


Dopodichè andate in basso a destra, dove si modificano le proprietà dell'oggetto selezionato, e potete modificare il nome del bottone, carattere colore ecc..
immagineoc.jpg


Andate sulla ToolBox, selezionate ProgressBar e lo incollate nella finestra come un immagine; poi la spostate come vi pare e piace.

screen2osc.jpg


Potete anche modificare il colore dei trattini di caricamento modificando il ForeColor nelle proprietà..

screen3hk.jpg


Ora creiamo un testo: sempre nella ToolBox selezionate Label e lo mettete come la barra nel disegno dell'autopatcher. Dopo inserite anche il testo, come avevamo fatto prima dalla barra delle proprietà.

screen4cu.jpg




Adesso dobbiamo inserire una TextBox, sempre dalla Tool in questo modo:

screen5mu.jpg


Di regola viene su una sola linea, ma potete cliccare la freccia su di essa e mettere Multiline per modificarne le dimensioni a vostro piacimento :lol:

Ora potete inserire anche nuovi pulsanti per renderlo + completo, come avevamo fatto prima.

Per inserire lo sfondo dobbiamo selezionare PictureBox nella Tool, mettere la selezione in secondo piano, e successivamente selezionare l'immagine..

screen6h.jpg


Alla fine dovrebbe venirvi una roba simile a questa, se avete messo tutto + o -... :asd:

screen7o.jpg


E' finita la parte della grafica e inizia quella dello script :bye:

Per inserire lo script fate clik sul pulsante, e dovrebbe apparire un editor di script.
codice:
Button1.Enabled = False
Button1.Text = "Attendere, prego..."
TextBox1.Text = "Download iniziato."
ProgressBar1.Value = "1"
Timer1.Start()

Questo SCRIPT dice che quando schiaccio QUEL pulsante, succede QUELLA cosa.. cioè mi spiego meglio.
codice:
Button1.Enabled = False
Questo dice che il Button1 è impostato in modo che si può cliccare su di esso solo una volta. Quindi nel nostro caso si schiaccia START, l'autopatcher vi scarica i file e poi non è + possibile schiacciare il tasto x evitare ulteriori e inutili download.
codice:
Button1.Text = "Attendere, prego..."l
o script, invece in questo caso, fa in modo che dopo aver premuto il bottone, appare la scritta Attendere, prego...
codice:
TextBox1.Text = "Download iniziato."
Questo è ciò che appare quando l'autopatcher sta scaricando i files.
codice:
ProgressBar1.Value = "1"
Il valore di progresso della barra. Lo potete modificare a vostro piacimento... Praticamente, in questo caso, è 1 su 100: significa che ogni 1% appare una stanghetta alla barra di caricamento.
codice:
Timer1.Start()
Viene avviato il timer1, che noi aggiungeremo successivamente..

Quindi alla fine il vostro script editor dovrebbe essere impostato con questo script:
setup102v9d.jpg



Fatto ciò, torniamo al disegno e aggiungiamo un timer dalla ToolBox.
Fateci doppio click sopra, e aprite lo script Editor come prima e inserite questo:
codice:
ProgressBar1.Value = "2"
TextBox1.Text = "patch.txt è testato.."

If My.Computer.FileSystem.FileExists("patch.txt") Then My.Computer.FileSystem.DeleteFile("patch.txt")
TextBox1.Text = "patch.txt è stato cancellato."
End If
My.Computer.Network.DownloadFile("http://indirizzo web del patch.txt", "patch.txt")
TextBox1.Text = "Nuovo patch.txt scaricato."
ProgressBar1.Value = "3"

Ora arrivano i file effettivi di una patch, quindi continuare a compliare lo script come riportato qui di seguito:
codice:
-------------------------------------------LOCALE_IT.EIX----------------------------------------
TextBox1.Text = "locale_it.eix è stato testato."
If My.Computer.FileSystem.FileExists("pack/locale_it.eix") Then
My.Computer.FileSystem.DeleteFile("pack/locale_it.eix")
TextBox1.Text = "locale_it.eix è stato cancellato."
End If
ProgressBar1.Value = "4"
My.Computer.Network.DownloadFile("http://indirizzo web del vostro locale_it.eix", "pack/locale_it.eix")
TextBox1.Text = "Nuovo locale_it.eix scaricato."

Adesso dobbiamo avere tutti i file aggiuntivi di patch (come locale_it.eix inserto), come nello script precedente, i nomi devono essere corretti.

Attenzione: l'inserimento dei EIX e dei file EPK individualmente come file di script SENZA INSERIRE UN SOLO EIX EPK può portare a un errore.

Se tutti i file di patch nello script sono disponibili, arriviamo alla fine:
codice:
TextBox1.Text = "Patch avviata"
ProgressBar1.Value = "100"

If My.Computer.FileSystem.FileExists("Metin2.exe") Then
Button1.Text = "Metin2 Start"
If Button1.Text = "Metin2 Start" Then
Shell("Metin2.exe")
End If
Else
Button1.Text = "Client aggiornato!"
TextBox1.Text = "Il client è stato aggiornato con successo..."
End If
Timer1.Stop()


Ora l'autopatcher è pronto. Basta fare File---->Salva e selezionare la destinazione..


ATTENZIONE: nella destinazione del file c'è sia un file eseguibile (.exe) che un file contenente lo script dell'autopatcher.



--------------- AGGIUNTA AL POST ---------------
ps si accettano +1 =D CHIEDO HAI MOD DI METTERMI QUESTA GUIDA FATTA DA ME IN RILIEVO xD
 
  • Mi piace
Reazioni: xXTheGameXx
Ultima modifica:
Sei un grande!!! +1 meritatissimo u.u
 
Grz 1000

--- Aggiornamento Post ---

Chiedo allo staff (mod e admin) di mettermi la guida in rilievo

--- Aggiornamento Post ---

Wrick alla fine il +1 nn me lo hai dato + xd fa nnt dai basta che vi aiuto e sono gia felice cosi =)

--- Aggiornamento Post ---

Raga commentate dai!!

--- Aggiornamento Post ---

ragazzi ma sn io che vedo 2 punti reputazione o è buggato xk mi sn arrivati altri 2 punti ma nn li vedo aggiornati
 
Innanzitutto impara a scrivere italiano, ai si scrive senza acca.
Poi è abbastanza banale questo autopatcher... Si puó fare du meglio volendo, aggiungici funzioni è molto scarno
 
ma sai solo provocarmi?? in 2 post che o ftt mi hai provocato e tu come utente mi piaci molto ma impara a trattare la gente x bene nn è xk tu hai 164 punti reputazione e 1849 messaggi sei il re di questa comunity è! invece di ringraziere provochi e basta sempre lo stesso messaggio scrivi solo x farti messaggi!
 
Ultima modifica:
Ti ho detto che se sai fare questa guida puoi fare di sicuro meglio aggiungendo altre funzioni. Visto che ne hai possibilità magari di fare una release di una nuova versione o un aggiornamento. Per quanto riguarda l'altra guida è la 200esima esistente e pure nella sezione sbagliata.
 
ma è tutta copleta la guida e poi non dire lla gente di scrivere bene l'italiano se hai visto e letto bene quello che mi hai scritto ora sei tu che hi saiato adesso vabè dai non siamo a scuola si puo sbagiare tutto che vogliamo scusate se scrivo male o cambiato pc adesso
 
Oh <.< se m dici mettiti sul DB ci alvoro ad occhi chiusi... ma qui proprio nha....ce un modo x scrivere in verticale????
 
io o lo uso la scritta in verticale nn ci o mai pensato...

--- Aggiornamento Post ---

ma un +1 nn me lo merito XD dai scherzo pero che vi sia utile questa guida
 
-.- che spari gli screen sn di lui ma il resto lo ftt tt io....

--- Aggiornamento Post ---

e poi quale forum questo??
 
Ultima modifica:
-.- che spari gli screen sn di lui ma il resto lo ftt tt io....

--- Aggiornamento Post ---

e poi quale forum questo??

Hai scritto la guida e nn sai nemmeno che cos'è il form....Complimenti :asd:
Spero che hai sbagliato a leggere :patt:
 
:asd: avevo capito forum scs cmq cm dicevo gli sreen sn i lui è vero ma la guida lo ftt io aiutandomi con gli screen
 
[font='Georgia, Times New Roman, Times, serif']Non è tua, :old: .
Ci dovrebbe essere il ban per quelli come te.
[/font]
 
ma è tutta copleta la guida e poi non dire lla gente di scrivere bene l'italiano se hai visto e letto bene quello che mi hai scritto ora sei tu che hi saiato adesso vabè dai non siamo a scuola si puo sbagiare tutto che vogliamo scusate se scrivo male o cambiato pc adesso

La guida è scarna, per fare un autopatcher completo si possono aggiungere moltissime altre funzioni

--- Aggiornamento Post ---

Er nabbone non avvi capito che il mio consiglio di aggiungere funzioni era una provocazione? :asd:
 

senalo...

cq nn o copiato nnt

simox grz x il consiglio n avevo cpt XD

--- Aggiornamento Post ---

[font='georgia, times new roman, times, serif']non è tua, :old: .
Ci dovrebbe essere il ban per quelli come te.
[/font]

n o copiato nessuno giuro

--- Aggiornamento Post ---

cmq è meglio la mia di guida,..
 
Ultima modifica:
E' finita la parte della grafica e inizia quella dello script :bye:

Per inserire lo script fate clik sul pulsante, e dovrebbe apparire un editor di script.
Codice:
[COLOR=#000000][COLOR=#0000bb]        Button1[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000bb]Enabled [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000bb]False[/COLOR]
[COLOR=#0000bb]     Button1[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000bb]Text [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#dd0000]"Attendere, prego..."[/COLOR]
[COLOR=#0000bb]TextBox1[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000bb]Text [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#dd0000]"Download iniziato."[/COLOR]
[COLOR=#0000bb]ProgressBar1[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000bb]Value [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#dd0000]"1"[/COLOR]
[COLOR=#0000bb]Timer1[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000bb]Start[/COLOR][COLOR=#007700]()  [/COLOR][/COLOR]
Questo SCRIPT dice che quando schiaccio QUEL pulsante, succede QUELLA cosa.. cioè mi spiego meglio.
Codice:
[COLOR=#000000][COLOR=#0000bb]Button1[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000bb]Enabled [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000bb]False  [/COLOR][/COLOR]
Questo dice che il Button1 è impostato in modo che si può cliccare su di esso solo una volta. Quindi nel nostro caso si schiaccia START, l'autopatcher vi scarica i file e poi non è + possibile schiacciare il tasto x evitare ulteriori e inutili download.
Codice:
       [COLOR=blue]Button1.Text[/COLOR] = [COLOR=red]"Attendere, prego..."[/COLOR][FONT=Comic Sans MS]l[/FONT]
o script, invece in questo caso, fa in modo che dopo aver premuto il bottone, appare la scritta Attendere, prego...
Codice:
[COLOR=#000000][COLOR=#0000bb]TextBox1[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000bb]Text [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#dd0000]"Download iniziato."[/COLOR][/COLOR]
Questo è ciò che appare quando l'autopatcher sta scaricando i files.
Codice:
[COLOR=#000000][COLOR=#0000bb]ProgressBar1[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000bb]Value [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#dd0000]"1"[/COLOR][/COLOR]
Il valore di progresso della barra. Lo potete modificare a vostro piacimento... Praticamente, in questo caso, è 1 su 100: significa che ogni 1% appare una stanghetta alla barra di caricamento.
Codice:
[COLOR=#000000][COLOR=#0000bb]Timer1[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000bb]Start[/COLOR][COLOR=#007700]() [/COLOR][/COLOR]
Viene avviato il timer1, che noi aggiungeremo successivamente..

Quindi alla fine il vostro script editor dovrebbe essere impostato con questo script:
setup102v9d.jpg



Fatto ciò, torniamo al disegno e aggiungiamo un timer dalla ToolBox.
Fateci doppio click sopra, e aprite lo script Editor come prima e inserite questo:
Codice:
[COLOR=#000000][COLOR=#0000bb]        ProgressBar1[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000bb]Value [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#dd0000]"2"[/COLOR]
[COLOR=#0000bb]TextBox1[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000bb]Text [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#dd0000]"patch.txt è testato.."[/COLOR][/COLOR]
[COLOR=#000000][COLOR=#000000]If [/COLOR][COLOR=#0000bb]My[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000bb]Computer[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000bb]FileSystem[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000bb]FileExists[/COLOR][COLOR=#007700]([/COLOR][COLOR=#dd0000]"patch.txt"[/COLOR][COLOR=#007700]) [/COLOR][COLOR=#0000bb]Then[/COLOR][/COLOR][COLOR=#000000][COLOR=#0000bb]            My[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000bb]Computer[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000bb]FileSystem[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000bb]DeleteFile[/COLOR][COLOR=#007700]([/COLOR][COLOR=#dd0000]"patch.txt"[/COLOR][COLOR=#007700])[/COLOR]
[COLOR=#0000bb]TextBox1[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000bb]Text [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#dd0000]"patch.txt è stato cancellato."[/COLOR]
[COLOR=#0000bb]End [/COLOR][COLOR=#007700]If[/COLOR]
[COLOR=#0000bb]My[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000bb]Computer[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000bb]Network[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000bb]DownloadFile[/COLOR][COLOR=#007700]([/COLOR][COLOR=#dd0000]"http://indirizzo web del patch.txt"[/COLOR][COLOR=#007700], [/COLOR][COLOR=#dd0000]"patch.txt"[/COLOR][COLOR=#007700])[/COLOR]
[COLOR=#0000bb]TextBox1[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000bb]Text [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#dd0000]"Nuovo patch.txt scaricato."[/COLOR]
[COLOR=#0000bb]ProgressBar1[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000bb]Value [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#dd0000]"3" [/COLOR][/COLOR]

Ora arrivano i file effettivi di una patch, quindi continuare a compliare lo script come riportato qui di seguito:
Codice:
[COLOR=#000000][COLOR=#007700]-------------------------------------------[/COLOR][COLOR=#0000bb]LOCALE_IT[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000bb]EIX[/COLOR][COLOR=#007700]----------------------------------------[/COLOR]
[COLOR=#0000bb]TextBox1[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000bb]Text [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#dd0000]"locale_it.eix è stato testato."[/COLOR]
[COLOR=#007700]If [/COLOR][COLOR=#0000bb]My[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000bb]Computer[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000bb]FileSystem[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000bb]FileExists[/COLOR][COLOR=#007700]([/COLOR][COLOR=#dd0000]"pack/locale_it.eix"[/COLOR][COLOR=#007700]) [/COLOR][COLOR=#0000bb]Then[/COLOR]
[COLOR=#0000bb]         My[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000bb]Computer[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000bb]FileSystem[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000bb]DeleteFile[/COLOR][COLOR=#007700]([/COLOR][COLOR=#dd0000]"pack/locale_it.eix"[/COLOR][COLOR=#007700]) [/COLOR]
[COLOR=#0000bb]TextBox1[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000bb]Text [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#dd0000]"locale_it.eix è stato cancellato."[/COLOR]
[COLOR=#0000bb]End [/COLOR][COLOR=#007700]If[/COLOR]
[COLOR=#0000bb]ProgressBar1[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000bb]Value [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#dd0000]"4"[/COLOR]
[COLOR=#0000bb]My[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000bb]Computer[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000bb]Network[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000bb]DownloadFile[/COLOR][COLOR=#007700]([/COLOR][COLOR=#dd0000]"http://indirizzo web del vostro locale_it.eix"[/COLOR][COLOR=#007700], [/COLOR][COLOR=#dd0000]"pack/locale_it.eix"[/COLOR][COLOR=#007700])[/COLOR]
[COLOR=#0000bb]TextBox1[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000bb]Text [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#dd0000]"Nuovo locale_it.eix scaricato." [/COLOR][/COLOR]

Adesso dobbiamo avere tutti i file aggiuntivi di patch (come locale_it.eix inserto), come nello script precedente, i nomi devono essere corretti.

Attenzione: l'inserimento dei EIX e dei file EPK individualmente come file di script SENZA INSERIRE UN SOLO EIX EPK può portare a un errore.

Se tutti i file di patch nello script sono disponibili, arriviamo alla fine:
Codice:
[COLOR=#000000][COLOR=#0000bb]        TextBox1[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000bb]Text [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#dd0000]"Patch avviata"[/COLOR]
[COLOR=#0000bb]ProgressBar1[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000bb]Value [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#dd0000]"100"[/COLOR]
 
[COLOR=#007700]If [/COLOR][COLOR=#0000bb]My[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000bb]Computer[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000bb]FileSystem[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000bb]FileExists[/COLOR][COLOR=#007700]([/COLOR][COLOR=#dd0000]"Metin2.exe"[/COLOR][COLOR=#007700]) [/COLOR][COLOR=#0000bb]Then    [/COLOR]
[COLOR=#0000bb]         Button1[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000bb]Text [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#dd0000]"Metin2 Start"[/COLOR]
[COLOR=#007700]If [/COLOR][COLOR=#0000bb]Button1[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000bb]Text [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#dd0000]"Metin2 Start" [/COLOR][COLOR=#0000bb]Then[/COLOR]
[COLOR=#0000bb]             Shell[/COLOR][COLOR=#007700]([/COLOR][COLOR=#dd0000]"Metin2.exe"[/COLOR][COLOR=#007700])[/COLOR]
[COLOR=#0000bb]End [/COLOR][COLOR=#007700]If[/COLOR]
[COLOR=#007700]     Else[/COLOR]
[COLOR=#0000bb]Button1[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000bb]Text [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#dd0000]"Client aggiornato!"[/COLOR]
[COLOR=#0000bb]TextBox1[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000bb]Text [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#dd0000]"Il client è stato aggiornato con successo..."[/COLOR]
[COLOR=#0000bb]End [/COLOR][COLOR=#007700]If[/COLOR]
[COLOR=#0000bb]Timer1[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000bb]Stop[/COLOR][COLOR=#007700]() [/COLOR][/COLOR]

Ora l'autopatcher è pronto. Basta fare File---->Salva e selezionare la destinazione..

ATTENZIONE: nella destinazione del file c'è sia un file eseguibile (.exe) che un file contenente lo script dell'autopatcher.


Un ringraziamento particolare a oOCheaterOo..

+1 accettati :asd:

Codice:
 SE TROVATE QUALSIASI ERRORE DITEMELO, GRAZIE

Trovami una differenza <.< Questa è quella di Helfer.. vedo l'hai fatta tt da solo nn hai copiato nnt -.-

--- Aggiornamento Post ---

Segnalo per chiusura e sezione sbagliata.
 
Stato
Discussione chiusa ad ulteriori risposte.