Guida Guida come creare un autopatcher

Stato
Discussione chiusa ad ulteriori risposte.
[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
Farla 'meno leechata'? >.>
 
Stato
Discussione chiusa ad ulteriori risposte.