Hallo Liebe Deutsche Sa-mp Community ,
in diesem Tutorial möchte ich einfach mal erklären wie man mit ein paar Handgriffen ein simples Update Programm erstellt und damit seine eigenen Programme
einfach mal auf dem neusten Stand hält.
Wie gesagt dieses Tutorial bezieht sich voll und ganz auf die Sprache Visual Basic.NET und ja legen wir mal los
Als erstes startet ihr Visual Basic , sollte soweit sowieso klar sein dann führt ihr folgende Schritte aus...
- Geht ins Menü auf Datei dort auf Neues Projekt
- Startet eine Windows Forms Anwendung auf Visual Basic.NET Ebene ( Für die , die Visual Studio nutzen Visual Basic.NET auswählen als Sprache wie gesagt )
So nun habt ihr ein leeres Formular vor euch sprich ein leeres Standardfenster, so als erstes solltet ihr wissen das es in Visual Basic.NET einfach ist Kontrollelemente zu erstellen,
Buttons, List Boxen und so weiter , diese lassen sich mit ein paar Klicks einfach in dieses Leere Fenster hineinziehen sag ich mal,
finden könnt ihr sie in der "Toolbox" sprich Werkzeugbox zu Deutsch.
Nun solltet ihr auch wissen das Subfunktionen sprich Rückruffunktionen für diese Elemente ebenso einfach erstellt werden können um dies genauer zu erklären macht ihr folgendes...
- zieht einen Button ins Formular ( Später unser Update Check Button )
- klickt doppelt drauf
So nun solltet ihr sehen das das eine Rückruffunktion erstellt wurde die dann aufgerufen wird wenn der Button geklickt wird wie man ganz gut erkennen sollte,
entweder an den Handle Eigenschaften die sich ziemlich genau hinten an der Subfunktion befinden oder auch an dem Namen und dahinter den Namen der gewünschten Aktion
sprich "elementname_click" als Beispiel jetzt mal
Die Aktion "Click" brauchen wir später auch aber nun nochmal zur Informationen es lassen sich in Elementen auch ganz leicht andere Aktionen generieren,
entweder man ändert die Eigenschaften der Handle Einstellung oder man klick sich in die Subfunktion rein sprich auf den Kopf drauf klicken und nun oben Rechts
sollte man eine ausklappbare Liste haben diese klickt ihr an und wählt halt die jeweilige Rückruffunktion die euch der Code generieren soll sprich ihr müsste
diese Rückrufe nicht selber extra eintippen, das zeichnet die IDE aus sprich der Editor vereinfacht euch halt einiges.
So kommen wir endlich zum Hauptthema dem Updater , das waren jetzt nur nochmal schnelle Einstiegsinformationen
als geht ihr zur Click Aktion des Buttons und macht folgendes ...
- Erstellt den Verweis auf den Web Client sprich der später die Dateien herunterlädt
die Variable "client" enthält nun Subelemente für die Aktionen/Funktionen des Web Client, sprich sie speichert Informationen zum Download
und weiteres.
Kleine Erklärung nebenbei + Frage : "Warum eine neue Variable für einen Download ?"
Ganz Einfach : Das hat damit zu tun das diese Funktion nur einen Download behalten kann bzw. ausführen sprich ihr könntet so keine Multifunktionalen Downloads ausführen dazu werden dann meist Klassen verwendet , so lassen sich neue Informationen / Funktionen aus solchen Klassen mit deren Funktionen ganz einfach in Variablen portieren und von da ausführen so kann man die Klasse mehrmals verwenden ohne jedes mal , sag ich mal einen neuen extra Code dafür zu schreiben bzw. ihn neu zu kopieren mit anderen Informationsspeichern sondern kann sie bequem der Befehl in eine Variable portieren
und halt so neue Zugriffe verwalten mit neuen Informationsspeichern das spart nicht nur Zeit sondern auch Ressourcen.
So wieder zurück zum Web Client
das erste was wir nun machen ist eine Textdatei erstellen und dort unsere Programmversion hinein zuschreiben wie z.b. 1.0 oder 0.2 oder was weiß ich,
halt die Version eures Programms , diese nehmt ihr nun und ladet sie auf euren FTP hoch in einen Ordner wo ihr sie später downloaden werdet.
Kleines FAQ nebenbei
Q : Wozu dient diese Datei ?
A : Ganz einfach, sie wird später von eurem Programm Temporär heruntergeladen und dann ausgelesen und verglichen mit der Aktuellen Version ( dazu später mehr )
So kommen wir zum Download dieser Datei bezüglich eures Codes, da ihr den Verweis auf den Web Client schon erstellt habt verwenden wir ihn nun auch,
folgendermaßen.
client.DownloadFile("eureUrl/temptext.txt", My.Computer.FileSystem.SpecialDirectories.Temp & "\temptext.txt")
so wie ihr seht nehme ich die variable und greife auf das Subelement "DownloadFile" zu , Format :
So wie ihr seht kommt erst unsere Adresse zur Textdatei auf eurer Seite und dann der Zielpfad wo die Datei gespeichert werden soll,
hier im Code speichere ich sie in den Temp. Daten , halt als Trashdatei sprich Müll
Wir werden diese Datei dort auch wieder auslesen , kommen wir am besten auch gleich mal dazu...
Also bevor ich hier mehr dazu von mir gebe sage ich erst einmal eines dazu, jeder hat seine Methode Dateien auszulesen,
ich verwende hier meine die ich am besten finde und auch am sichersten sag ich mal also bitte keine Verbesserungen,
sprich keine Kommentare diesbezüglich, danke
Nun erstellen wir eine Variable die sich hier iox nennt , ihr könnt sie natürlich so benennen wie es euch beliebt
damit greifen wir auf das Dateisystem zu und erstellen einen neuen StreamReader sprich damit lesen wir den Daten Stream aus die
Daten Ströme zu Deutsch , wir können auch gleich angeben was ausgelesen werden soll wie ihr seht , nun lesen wir folgendes aus :
dies ist aber nur ein Beispiel, dort kommt natürlich der Pfad hin wo die Textdatei gespeichert wurde.
so als nächstes kommt das Format zum encodieren der Datei ist jedoch nicht wirklich wichtig
aber ich stelle es zur Sicherheit auf "Default" sprich auf den Standardformat,
so wird der Format genommen in dem die Datei halt besteht
Dim iox As New IO.StreamReader(My.Computer.FileSystem.SpecialDirectories.Temp & "\temptext.txt", System.Text.Encoding.Default)
So nächster Punkt, den Zugriff auf den Stream.
wir erstellen hier eine Variable die ich mal "ot" genannt hab und verweise sie direkt auf den Inhalt vom Stream sprich lese die Datei aus
der Inhalt landet als Stringformat in "ot", diese Variable enthält nun die Information bezüglich der Version.