Geöffnete Pfade in eine .txt schreiben

  • VB.NET

Es gibt 20 Antworten in diesem Thema. Der letzte Beitrag () ist von BastianA.

    Geöffnete Pfade in eine .txt schreiben

    So Hallo erstmal,

    Ihh habe mit VB ein Menü erstellt für ein Spiel das ich mit Delphi programmiert habe.In meinem Menü habe ich 2 Open File Dialoge wo man die Datei auswählt.Da ich in Delphi kein Menü habe lädt er die Einstellungen immer von einer .txt Datei,nun möchte ich allerdings dass VB in eine Txt. Datei die geöffneten Dateien reinschreibt.Bin noch Anfägner wäre dankbar für eine Antwort.
    Hallo.. Was hast du bis jetzt schon? Also Kompletten Code zu präsentieren machen wir ungern.. Wenn du aber was postest und wir sehen, dass du was versucht hast, dann übernehmen wir das gerne und greifen dir unter die Arme.
    "Wenn jemand in einem Betrieb unverzichtbar ist, dann ist dieser Betrieb falsch organisiert." - Roberto Niederer
    hahaha ich habs zumindest versucht. Durch OpenFileDialog öffnet er eine Datei, und den Pfad dieser Datei soll der in eine extra Textdatei schreiben, damit das weiterverwendet werwendet werden kann. (Glaub ich)
    "Wenn jemand in einem Betrieb unverzichtbar ist, dann ist dieser Betrieb falsch organisiert." - Roberto Niederer
    Ja also ich hab 2 Open File Dialoge bei dene ich eine MS1 Datei und eine bs1 geöfnet habe.Aber nicht wo rein ladet.Dieses soller aber als .txt ausgeben damit Delphi das dann öffnet.Hier der Open File Dialog Code oder meint ihr einen anderen ;)


    VB.NET-Quellcode

    1. Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
    2. With OpenFileDialog1
    3. End With
    4. OpenFileDialog1.Filter = "MS1 (*.MS1)|*.MS1|MS1(*."MS1|*.MS1"
    5. OpenFileDialog1.FilterIndex = 2OpenFileDialog1.FileName = ""
    6. TryMe.TextBox1.Text = (OpenFileDialog1.FileName)
    7. Catch ex As Exception
    8. End TryEnd Sub
    9. End Class



    Der zweite ist ja fast das gleiche nur 2te TextBox 2ter Button und so.Aber ich bekomme auch noch die Fehlermeldung

    Fehler 1 "end of"-Anweisung erwartet. C:\Dokumente und Einstellungen\Bastian\Eigene Dateien\Visual Studio 2008\Projects\Bus-Stop\Bus-Stop\Form2.vb 51 64 Bus-Stop

    @milam: Ja genauso meine ich es


    Greetz

    BastianA
    Sind die Formatierungsfehler nur beim reinstellen des Codes passiert? oder sieht dein Code original so aus?? Weil dann müsste eignetlich alles unterstrichen sein ^^
    zudem wieo startest du ein With und beendest es gleich wieder??

    Also der Code sollte eignetlich so aussehen:

    VB.NET-Quellcode

    1. Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
    2. OpenFileDialog1.Filter = "MS1 (*.MS1)|*.MS1"
    3. OpenFileDialog1.FilterIndex = 0
    4. OpenFileDialog1.FileName = ""
    5. If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
    6. TextBox1.Text = OpenFileDialog1.FileName
    7. End If
    8. End Sub


    Bei der If bin ich mir gerade nicht sicher wie das genau heißt, aber das bietet er dir an wenn du DialogShow() oder so geschrieben hast und danach das = schreibst kommt so eine Aufwahlliste und da wählst du natürlich das Result OK aus. Heißt also wenn die DialogBox mit dem Button OK bestätigt wurde.

    So und wenn du was schreiben willst schaue dir mal StreamWriter an.

    Edit: geändert, danke miliam, war zu faul nachzuschauen *g*

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Dodo“ ()

    VB.NET-Quellcode

    1. 'Ist jetzt bei Dodo korrigiert


    //EDIT: Kein Problem ;)
    "Wenn jemand in einem Betrieb unverzichtbar ist, dann ist dieser Betrieb falsch organisiert." - Roberto Niederer

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „milaim“ ()

    Bei deinem Code krieg ich folgende Fehler:

    Fehler 1 "DialogShow" ist kein Member von "System.Windows.Forms.OpenFileDialog". C:\Dokumente und Einstellungen\Bastian\Eigene Dateien\Visual Studio 2008\Projects\Bus-Stop\Bus-Stop\Form2.vb 51 12 Bus-Stop


    Fehler 2 "Result" ist kein Member von "System.Windows.Forms.OpenFileDialog". C:\Dokumente und Einstellungen\Bastian\Eigene Dateien\Visual Studio 2008\Projects\Bus-Stop\Bus-Stop\Form2.vb 51 43 Bus-Stop

    Edit:End If steht doch schon dorten oder?
    Nunja, ich habe keine Lust für ejde Frage hier ein neues Test Projekt zu erstellen. Deswegen schreibe ich den meisten einfachen Code aus dem Kopf und HOFFE darauf, der Fragende wäre so schlau nicht einfach alles 1 zu 1 zu übernehmen, sondern wenn ein Felher auftaucht, wie falsches Member, diesen Fehler selber beheben zu können. Gut jetzt habe ich DialogShow geschrieben, heißen muss es aber ShowDialog. Meinst du nicht darauf wärst du selber gekommen? Einfach bis zum Punkt alles gelöscht und geschaut was dort angeboten wird? Was könnte wohl sinnvoll erscheinen den Dialog aufzurufen.

    Eigeninitiative heißt hier das Zauberwort.
    1. Lösche alles bis hinter das ShowDialog.
    2. Dann schreibst du Leerzeichen = Leerzeichen, nun wird sich eine wundertolle Liste auftun in der dir alle Results angeboten werden.
    3. Du wählst mit der Maus das entsprechende aus
    4. Drückt ggf. die Enter Taste
    5. Schreibst Then wieder hin sofern du es zuvor mit gelöscht hast
    6. Freust dich wie einfach sowas doch geht!

    Wie gesagt, mein erster Code war aus dem Kopf und sicher nicht richtig, miliam hat den richtigen Code gepostet. OpenFileDialog.Result gibt es nicht richtig, also muss das auch weg.
    Danke

    Jetzt geht es



    Ihr seit gut

    Aber wie mache ich das jez dass er die Ausgewählten Dateien in eine .txt speichert vom OpenDialog speichert des war ja eig. die Frage



    LG :)

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „BastianA“ ()

    Siehste, mit nicht sturem Copy & Paste kommt man sogar selber weiter und lernt sogar noch was!
    Was man hier bekommt sind Ansätze, womit man dann selbstständig weiter kommen sollte, wie z.B. Fachwörter nach denen gegooglet werden kann, Beispielcodes usw. Nicht umbedingt 100% korrekt, aber zur Veranschaulichung des Ablaufs.
    Ich habe das jez bei OpenFileDialog1 reingeschrieben von der MSDN bekomme aber folgende Fehlermeldungen:

    VB.NET-Quellcode

    1. Private Sub OpenFileDialog2_FileOk(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles OpenFileDialog2.FileOk
    2. Imports SystemImports System.IO
    3. End SubClass Test
    4. Public Shared Sub Main()
    5. ' Create an instance of StreamWriter to write text to a file.Using sw As StreamWriter = New StreamWriter("log.txt")
    6. ' Add some text to the file.sw.Write("OpenFileDialog1.FileName ")
    7. sw.WriteLine("OpenFileDialog2.FileName")sw.WriteLine("-------------------")
    8. ' Arbitrary objects can also be written to the file.sw.Write("The date is: ")
    9. sw.WriteLine(DateTime.Now)
    10. sw.Close()
    11. End Using
    12. End Sub
    13. End Class




    Fehler 1 Syntaxfehler. C:\Dokumente und Einstellungen\Bastian\Eigene Dateien\Visual Studio 2008\Projects\Bus-Stop\Bus-Stop\Form2.vb 78 9 Bus-Stop


    Fehler 2 Syntaxfehler. C:\Dokumente und Einstellungen\Bastian\Eigene Dateien\Visual Studio 2008\Projects\Bus-Stop\Bus-Stop\Form2.vb 79 1 Bus-Stop
    Fehler 3 "End Sub" muss ein entsprechendes "Sub" voranstehen. C:\Dokumente und Einstellungen\Bastian\Eigene Dateien\Visual Studio 2008\Projects\Bus-Stop\Bus-Stop\Form2.vb 98 5 Bus-Stop


    Greetz Bastian

    PS: Irgendwas mach ich falsch^^
    Hallo,

    Also das was Dodo geschrieben hat braucht du
    doch nur noch ergänzen, wenn ich richtig verstanden habe
    was du willst müsste das so aussehen:

    VB.NET-Quellcode

    1. Imports System.IO
    2. Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
    3. OpenFileDialog1.Filter = "MS1 (*.MS1)|*.MS1"
    4. OpenFileDialog1.FilterIndex = 0
    5. OpenFileDialog1.FileName = ""
    6. If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
    7. Dim sw as StreamWriter = New StreamWriter("DerPfad/DeineTextdatei", True)
    8. sw.WriteLine(OpenFileDialog1.FileName)
    9. sw.Close()
    10. End If
    11. End Sub


    Du musst nur noch die System.IO ganz oben importieren. Dann den Pfad und den
    Namen deiner Datei dem StreamWriter übergeben.

    mfg hubertus23
    gut hab den Coden dann Pfade ausgebessert und Import System.IO hingeschrieben doch dann kommt die Fehlermeldung dass ich End Class einfügen muss hab dann auf den RotenButton geklickt und dann bekomme ich 14 Fehler:

    Fehler 6 Die Anweisung ist in einem Namespace ungültig. C:\Dokumente und Einstellungen\Bastian\Eigene Dateien\Visual Studio 2008\Projects\Bus-Stop\Bus-Stop\Form2.vb 27 1 Bus-Stop




    und wenn ichs nicht mache dann bekomme ich diese Fehlermeldung:

    Fehler 1 "Class" muss mit einem entsprechenden "End Class" abgeschlossen werden. C:\Dokumente und Einstellungen\Bastian\Eigene Dateien\Visual Studio 2008\Projects\Bus-Stop\Bus-Stop\Form2.vb 2 1 Bus-Stop
    So sit das halt mit Copy und Paste wenn man null Ahnung hat. Nachdem du den Code von MSDN gepostet hattest und meintest das ic nicht geht .. ne ich habe mich geweigert dir zu antworten.
    Das wie wenn man in ein Auto steigt und fragt "wo ist der Schlüssel, wo ist Gas, wo ich Bremse un Kupplung" Wer nicht Autofahren kann sollte es lassen oder Lernen. Lernen tut man das in eine Fahrschule und Visual Basic durch probieren (Try and Error System) oder eben durch Galileo Open Book.
    Ein bischel Grundwissen muss schon vorhanden seien, wie z.b. das Imports IMMER ganz ganz oben gemacht werden, außerhalb der Klasse, was ich mit den bei MSDN stehenden Beispiel code machen muss. Den kann man nicht immer einfach so copieren. Der dient lediglich zur Veranschaulichung.

    Also ein wenig logisches denken bitte und nicht alles vorkauen lassen.
    Mich wundert es echt wie in Delphi ein Spiel programmieren kannst dich aber in VB anstellst als würde man dich aus dem Steinzeitalter an einen PC setzten. Wenn man bereits Erfahrungen in anderen Programmier- oder Scriptsprachen hat fällt einem das erlernen einer neuen um längen einfacherer, sollte es zumindest.

    Edit: Und noch was Fehlermeldungen OHNE Code bringen uns soviel wie einem Affe ein Schleifstein! Wir können nicht hellsehen und sagen "jaa in Zeile 5 bei dir muss das so und so heißen"