Hallo liebe Community,
[1.] Vorwort:
Wie ihr sicherlich sehen könnt, bin ich neu hier im Forum. Dies trifft ebenfalls auf meine Kenntnisse in Visual Basic 2008 zu. Es ist meine erste Programmiersprache, ich bin also völlig neu auf dem Gebiet der Programmierung. Ich habe mich durch die VB 2008 Hilfe gelesen und einige Erfahrungen sammeln können. Einige kennen mich vielleicht aus dem Thread "Hilfe bei meinem ersten Projekt", dort habe ich einfach versucht einige Funktionen zu schreiben, was quasi am Ende ein Programm darstellen sollte, um Erfahrungen auf dem Gebiet zu erhalten.
[2.] "Mein zweites Projekt - Projektname "Call of Duty 4 Profiler"":
Dieses Mal soll mein Programm wirklich Einsatz bei einigen Freunden und mir finden. Wir spielen gerne das Spiel "Call of Duty 4", wer das Spiel kennt, weiß sicherlich, dass man dort Erfahrung sowie neue Gegenstände freispielen kann. Diese Werte werden in einem Ordner gespeichert. Mein Programm, welches ich anstrebe, soll einfach als Backup dienen. Der Benutzer wählt einfach das Installationsverzeichnis von Call of Duty 4 (cod 4) aus und dann den Pfad, wo er den Ordner hinkopieren möchte. Dabei wird nur der Unterordner "players" kopiert, da sich in ihm die Dateien befinden, in denen die Werte des Spielers gespeichert sind (Erfahrung, freigespielte Waffen).
Call of Duty 4 Profiler Layout
[3.] Programmerklärungen:
Im Folgenden möchte ich kurz die einzelen Buttons und deren Funktionen erklären:
Menüleiste:
Datei: Enthält den Punkt "Beenden", schließt also das Programm -->Funktioniert
Automatik: Enthält den Punkt "Log-Dateien erstellen", genauere Erläuterung siehe unten --> Funktioniert
Buttons:
Von: Beim Klicken öffnet sich ein FolderBrowserDialog, wo der Benutzer das Installationsverzeichnis von Call of Duty 4 angibt --> Funktioniert
Nach: Beim Klicken öffnet sich ein FolderBrowserDialog, wo der Benutzer den Speicherort angibt --> Funktioniert
Kopieren: Beim Klicken kopiert das Programm den Ordner zum Zielordner -->Funktioniert
Label: Die beiden Labels geben einfach nur den Pfad an, den der Benutzer angegeben hat --> Funktioniert
[4.] Probleme
Wie man meinem 3. Punkt entnehmen kann, läuft mein Programm eigentlich schon. Ich habe auch Fragen / Probleme bei einigen Feinheiten, der Übersichtshalber liste ich hier meine Fragen und Probleme auf und werde im 5. Gliederungspunkt meinen bisherigen Code veröffentlichen:
Kurze Erklärung zu den "Log-Dateien":
Sobald einmal der Quellpfad sowie der Zielpfad angegeben wurde, kann man diese Pfade in einer *.txt Datei abspeichern. Vorteil besteht darin, dass man sofern der Benutzer jedesmal denselben Pfad haben möchte nur 1.-Klick tätigen muss und es wird kopiert. Leider weiß ich nicht, wie man aus nur 1. *.txt Datei Zeilen ausliest, sonst hätte ich nur 2 "Log"-Dateien erstellt.
*Wenn ich im Menü "Automatik" Log-Dateien erstellen drücke, erstellt mir mein Programm 3 *.txt Dateien mit dem angebenen Namen, doch leider enthält der Name den Präfix Debug, obwohl ich es nicht angegeben habe.
*Wenn ich auf den Button "von" klicke und ein anderes Verzeichnis auswähle, soll eine Fehlermeldung erscheinen. Ich habe schon bei google gesucht, bekomme aber keine vernünftige Funktion hin, die Abfragt, ob im angegebenen Ordner das Unterverzeichnis "players" existiert.
[5.] Code
Damit mir geholfen werden kann, kopiere ich meinen kompletten Code:
Menüleiste:
Datei:
Beenden
Automatik:
Log-Dateien erstellen
Automatisches Laden
Buttons:
Von
Nach
Kopieren
Meine Variablen Deklaration
[5.] Schlusswort:
Ich weiß, dass der Thread sehr lang ist, aber ich habe versucht alles so genau wie möglich zu beschreiben. Falls irgendwelche Fragen aufkommen, werde ich diese natürlich schnellstmöglich beantworten. Eigentlich ist mein Programm sehr simple gehalten, da es eigentlich nur kopiert, aber für mich als Neuling sind solche Dinge am Anfang noch recht komplex, gerade Abfragen, die überprüfen, ob im angebenen Verzeichnis ein Unterordner Namens "players" existiert usw. Ich weiß, dass es schwer fällt sich einfach auszudrücke, wenn man in der Materie drinsteckt. Doch bitte bedenkt, dass ich noch nicht soviel Ahnung habe und mit Fachwörtern oder sonstigen Abkürzungen Probleme haben werde. Ich möchte mich schon einmal im Voraus bei euch bedanken und schätze eure Mühe.
[1.] Vorwort:
Wie ihr sicherlich sehen könnt, bin ich neu hier im Forum. Dies trifft ebenfalls auf meine Kenntnisse in Visual Basic 2008 zu. Es ist meine erste Programmiersprache, ich bin also völlig neu auf dem Gebiet der Programmierung. Ich habe mich durch die VB 2008 Hilfe gelesen und einige Erfahrungen sammeln können. Einige kennen mich vielleicht aus dem Thread "Hilfe bei meinem ersten Projekt", dort habe ich einfach versucht einige Funktionen zu schreiben, was quasi am Ende ein Programm darstellen sollte, um Erfahrungen auf dem Gebiet zu erhalten.
[2.] "Mein zweites Projekt - Projektname "Call of Duty 4 Profiler"":
Dieses Mal soll mein Programm wirklich Einsatz bei einigen Freunden und mir finden. Wir spielen gerne das Spiel "Call of Duty 4", wer das Spiel kennt, weiß sicherlich, dass man dort Erfahrung sowie neue Gegenstände freispielen kann. Diese Werte werden in einem Ordner gespeichert. Mein Programm, welches ich anstrebe, soll einfach als Backup dienen. Der Benutzer wählt einfach das Installationsverzeichnis von Call of Duty 4 (cod 4) aus und dann den Pfad, wo er den Ordner hinkopieren möchte. Dabei wird nur der Unterordner "players" kopiert, da sich in ihm die Dateien befinden, in denen die Werte des Spielers gespeichert sind (Erfahrung, freigespielte Waffen).
Call of Duty 4 Profiler Layout
[3.] Programmerklärungen:
Im Folgenden möchte ich kurz die einzelen Buttons und deren Funktionen erklären:
Menüleiste:
Datei: Enthält den Punkt "Beenden", schließt also das Programm -->Funktioniert
Automatik: Enthält den Punkt "Log-Dateien erstellen", genauere Erläuterung siehe unten --> Funktioniert
Buttons:
Von: Beim Klicken öffnet sich ein FolderBrowserDialog, wo der Benutzer das Installationsverzeichnis von Call of Duty 4 angibt --> Funktioniert
Nach: Beim Klicken öffnet sich ein FolderBrowserDialog, wo der Benutzer den Speicherort angibt --> Funktioniert
Kopieren: Beim Klicken kopiert das Programm den Ordner zum Zielordner -->Funktioniert
Label: Die beiden Labels geben einfach nur den Pfad an, den der Benutzer angegeben hat --> Funktioniert
[4.] Probleme
Wie man meinem 3. Punkt entnehmen kann, läuft mein Programm eigentlich schon. Ich habe auch Fragen / Probleme bei einigen Feinheiten, der Übersichtshalber liste ich hier meine Fragen und Probleme auf und werde im 5. Gliederungspunkt meinen bisherigen Code veröffentlichen:
Kurze Erklärung zu den "Log-Dateien":
Sobald einmal der Quellpfad sowie der Zielpfad angegeben wurde, kann man diese Pfade in einer *.txt Datei abspeichern. Vorteil besteht darin, dass man sofern der Benutzer jedesmal denselben Pfad haben möchte nur 1.-Klick tätigen muss und es wird kopiert. Leider weiß ich nicht, wie man aus nur 1. *.txt Datei Zeilen ausliest, sonst hätte ich nur 2 "Log"-Dateien erstellt.
*Wenn ich im Menü "Automatik" Log-Dateien erstellen drücke, erstellt mir mein Programm 3 *.txt Dateien mit dem angebenen Namen, doch leider enthält der Name den Präfix Debug, obwohl ich es nicht angegeben habe.
*Wenn ich auf den Button "von" klicke und ein anderes Verzeichnis auswähle, soll eine Fehlermeldung erscheinen. Ich habe schon bei google gesucht, bekomme aber keine vernünftige Funktion hin, die Abfragt, ob im angegebenen Ordner das Unterverzeichnis "players" existiert.
[5.] Code
Damit mir geholfen werden kann, kopiere ich meinen kompletten Code:
Menüleiste:
Datei:
Beenden
Visual Basic:
Private Sub BeendenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BeendenToolStripMenuItem.Click
Me.Close()
End Sub
Automatik:
Log-Dateien erstellen
Visual Basic:
Private Sub LogDateienErstellenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LogDateienErstellenToolStripMenuItem.Click
My.Computer.FileSystem.WriteAllText(Application.StartupPath & "Log.txt", TimeOfDay & " von " & von & " nach " & vbCrLf & nach, True)
My.Computer.FileSystem.WriteAllText(Application.StartupPath & "Readin.txt", von & "\players" & vbCrLf, False)
My.Computer.FileSystem.WriteAllText(Application.StartupPath & "Readout.txt", nach & vbCrLf, False)
End Sub
Automatisches Laden
Visual Basic:
Private Sub AutomatischesLadenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AutomatischesLadenToolStripMenuItem.Click
Readin = My.Computer.FileSystem.ReadAllText(Application.StartupPath & "Readin.txt")
Readout = My.Computer.FileSystem.ReadAllText(Application.StartupPath & "Readout.txt")
von = Readin
nach = Readout
TextBox1.Text = Readin
TextBox2.Text = Readout
My.Computer.FileSystem.CopyDirectory(von, nach, FileIO.UIOption.AllDialogs, FileIO.UICancelOption.ThrowException)
End Sub
Buttons:
Von
Visual Basic:
Private Sub cmdVon_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdVon.Click
MsgBox("Wählen Sie bitte das Verzeichnis aus, in dem Sie Call of Duty 4 hinein installiert haben", , "Call of Duty 4 Installationsverzeichnis")
FolderBrowserDialog1.ShowDialog()
von = FolderBrowserDialog1.SelectedPath
TextBox1.Text = von & "\players"
End Sub
Nach
Visual Basic:
Private Sub cmdNach_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdNach.Click
MsgBox("Wohin möchten Sie Ihren Profile-Ordner kopieren ?", , "Sicherungspfad")
FolderBrowserDialog2.ShowDialog()
nach = FolderBrowserDialog2.SelectedPath
TextBox2.Text = nach
End Sub
Kopieren
Visual Basic:
Private Sub cmdCopy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdCopy.Click
My.Computer.FileSystem.CopyDirectory(von & "\players", nach, FileIO.UIOption.AllDialogs, FileIO.UICancelOption.ThrowException)
End Sub
Meine Variablen Deklaration
Visual Basic:
Public Class Form1
Dim Readout As String
Dim Readin As String
Dim nach As String
Dim von As String
[5.] Schlusswort:
Ich weiß, dass der Thread sehr lang ist, aber ich habe versucht alles so genau wie möglich zu beschreiben. Falls irgendwelche Fragen aufkommen, werde ich diese natürlich schnellstmöglich beantworten. Eigentlich ist mein Programm sehr simple gehalten, da es eigentlich nur kopiert, aber für mich als Neuling sind solche Dinge am Anfang noch recht komplex, gerade Abfragen, die überprüfen, ob im angebenen Verzeichnis ein Unterordner Namens "players" existiert usw. Ich weiß, dass es schwer fällt sich einfach auszudrücke, wenn man in der Materie drinsteckt. Doch bitte bedenkt, dass ich noch nicht soviel Ahnung habe und mit Fachwörtern oder sonstigen Abkürzungen Probleme haben werde. Ich möchte mich schon einmal im Voraus bei euch bedanken und schätze eure Mühe.
