none
Brauche Hilfe beim Programieren RRS feed

  • Frage

  • Hallo ich möchte Visual Basic lernen ersten ist mir bei einer antwort ein Fehler aufgefallen, wenn ihr die hier durchmacht, http://msdn.microsoft.com/de-de/library/bb384479.aspx, dann kommt bei mir der fehler

     Auf die lokale Variable "FavoritePictures" kann nicht verwiesen werden, bevor sie deklariert ist.

    Darum geht es mir aber nicht.


    Also ich wil etwas Programieren, das Zuerst eine .txt datei öffnet, der Benutzer einen Text Angezeigt bekommt, der in einer Text box steht ihn dort reinkopiren muss und danach die datei schließen muss. Dabei soll er aber zuerst eine Check liste durchgehen und abhaken, ohne diese Soll  der vorgang nicht möglich sein.
    Und danach sollen weitere Fenster immer nach der reihe erscheinen, wie bei einer anleitug, was es am ende auh werden soll.

    Hoffe jemand versteht mich unt kann mir antworten.
    Sonntag, 7. März 2010 13:18

Antworten

  • Hallo ich möchte Visual Basic lernen ersten ist mir bei einer antwort ein Fehler aufgefallen, wenn ihr die hier durchmacht, http://msdn.microsoft.com/de-de/library/bb384479.aspx, dann kommt bei mir der fehler

     Auf die lokale Variable "FavoritePictures" kann nicht verwiesen werden, bevor sie deklariert ist.

    Wenn Du die Anweisungen genau liest und befolgst, dann gibt es keinen Fehler. Die Deklaration soll vor dem Ereignishandler eingefügt werden, also im Deklarationsbereich der Klasse und nicht innerhalb der Methode/des Ereignishandler. So sollte das dann aussehen, wenn es fertig ist:

    Public Class Form1
      Dim FavoritePictures As String = _
        My.Computer.FileSystem.SpecialDirectories.MyDocuments _
        & "\FavoritePictures.txt"
    
      Private Sub FavoritesAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FavoritesAdd.Click
        If PictureBox1.ImageLocation <> "" Then
    
          ' Add the selected picture to the favorites text file.
          My.Computer.FileSystem.WriteAllText(FavoritePictures, _
              Me.ListBox1.SelectedItem & ",", True)
    
        End If
      End Sub
    End Class
    
    Das Beispiel ist dennoch grenzwertig (hart codierter Pfadtrenner, überflüssiger My-Namespace, Missachtung von Option Strict).

    Für den Einstieg eignet sich IMO folgendes Buch besser:

    Galileo Computing <openbook> - Einstieg Visual Basic 2008
    http://openbook.galileocomputing.de/einstieg_vb_2008/

    Thorsten Dörfler
    Microsoft MVP Visual Basic
    Sonntag, 7. März 2010 16:22
    Moderator
  • Hallo nooob,
    ups so.
    Ich habe entsprechend Deinen Vorgaben ein Gerüst Deines Programms fertiggestellt,
    das Dir helfen soll die Richtung zu finden. Einen Dialog ist schon auscodiert.
    die Rest Arbeit bleibt jetzt bei Dir. Du willst es ja lernen.

    Eine Sache habe ich nicht hinbekommen. Da form1 das Startformular ist, darf man es nicht gleich
    am Anfang beenden. Dann geht garnichts mehr. Vielleicht hat jemand einen Tip?


    Habe ich Dir geholfen?
    schöne Grüße
    Ellen


    Public Class Form1
    
        Private Sub Button1_Click(ByVal sender As System.Object, _
                                  ByVal e As System.EventArgs) Handles Button1.Click
            If CheckBox1.Checked And CheckBox2.Checked And CheckBox3.Checked And CheckBox4.Checked Then
                Form2.Show()
                'Me.Close() geht leider nicht
            End If
        End Sub
    
        Private Sub Button2_Click(ByVal sender As System.Object, _
                                  ByVal e As System.EventArgs) Handles Button2.Click
            Me.Close()
        End Sub
    End Class
    
    Public Class Form2
        Dim filename As String = "test.txt"
        Private Sub Form2_Load(ByVal sender As System.Object, _
                               ByVal e As System.EventArgs) Handles MyBase.Load
    
            filename = OpenTextFile()
            ' der Pfad und die Datei stehen jetzt in der Textbox:
            TextBox1.Text = filename
            '
            ' nun kommt lesen oder Schreiben der Datei filename
            ''
        End Sub
    
        Private Sub Button1_Click(ByVal sender As System.Object, _
                                  ByVal e As System.EventArgs) Handles Button1.Click
    
            Form3.Show()
            Me.Close()
    
        End Sub
    
        Private Sub TextBox2_KeyDown(ByVal sender As System.Object, _
                                     ByVal e As System.Windows.Forms.KeyEventArgs) _
                                     Handles TextBox2.KeyDown
    
            Dim s As String = CType(sender, Control).Text
    
            ' Eingabe einer Userkennung bis Taste enter
            If e.KeyCode = Keys.Enter Then
                'Hier wird der Name in die Datei geschrieben
                writeToFile(s, filename)
    
            End If
    
        End Sub
    
        Friend Sub writeToFile(ByVal s As String, ByVal fnm As String)
            ' in s steht der zu schreibende String
            ' in fnm der dateiname
            '
            'hier kommt der Code rein zum wegschreiben auf eine Datei
            '
        End Sub
    
        Private Function OpenTextFile() As String
            Dim fnm As String = ""
            Dim loadstream As System.IO.Stream
            '
            ' Hier kommt ein OpenFileDialog 
            ' fertige Klasse in .NET
            '
            OpenFileDialog1.DefaultExt = "*.TXT"
            OpenFileDialog1.Filter = "txt Files | *.TXT"
            If OpenFileDialog1.ShowDialog() = DialogResult.OK Then
    
                loadstream = OpenFileDialog1.OpenFile()
    
                fnm = OpenFileDialog1.FileName()
    
                loadstream.Close()
            End If
            Return fnm
        End Function
    
    End Class
    
    Public Class Form3
    
        Private Sub Form3_Load(ByVal sender As System.Object, _
                               ByVal e As System.EventArgs) Handles MyBase.Load
    
            ' hier die beiden Textboxen versorgen mit den aktuellen Meldungen
            TextBox1.Text = "Meldungen"
            TextBox2.Text = "Staus"
    
        End Sub
    
        Private Sub Button1_Click(ByVal sender As System.Object, _
                                  ByVal e As System.EventArgs) Handles Button1.Click
            Form4.Show()
            Me.Close()
    
        End Sub
    End Class
    
    Public Class Form4 ' ähnlich Form3
    
        Private Sub Form4_Load(ByVal sender As System.Object, _
                               ByVal e As System.EventArgs) Handles MyBase.Load
            ' auch wieder textboxen versorgen
            TextBox1.Text = "Meldung Form4"
            TextBox4.Text = "Ausgabe Form4 Box4"
        End Sub
    
        Private Sub Button1_Click(ByVal sender As System.Object, _
                                  ByVal e As System.EventArgs) Handles Button1.Click
            Form5.Show()
            Me.Close()
    
        End Sub
    
    End Class
    
    Public Class Form5
    
        Private Sub Form5_Load(ByVal sender As System.Object, _
                               ByVal e As System.EventArgs) Handles MyBase.Load
            install()
        End Sub
    
        Private Sub Button1_Click(ByVal sender As System.Object, _
                                  ByVal e As System.EventArgs) Handles Button1.Click
            Form6.Show()
            Me.Close()
        End Sub
        Private Sub install()
            '
            ' hier läuft jetzt die Installation
            '
            ' Vorschlag: Eine ProgressBar zur Fortschrittsanzeige einbauen
        End Sub
    End Class
    
    Public Class Form6
        '
        ' auch hier am besten mit OpenFiledialog arbeiten
        '
        Private Sub Button1_Click(ByVal sender As System.Object, _
                                  ByVal e As System.EventArgs) Handles Button1.Click
            Form7.Show()
            Me.Close()
        End Sub
    End Class
    
    Public Class Form7
    
        Private Sub Form7_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    
        End Sub
    
        Private Sub Button1_Click(ByVal sender As System.Object, _
                                  ByVal e As System.EventArgs) Handles Button1.Click
    
            Form1.Close()
            Me.Close()
    
        End Sub
    End Class






    • Als Antwort markiert Nooobb Donnerstag, 11. März 2010 15:50
    Dienstag, 9. März 2010 11:24
  • Hallo Ellen und Noob,

    unter Menue Projekt -> letzter Punkt ( Projektname - Eigenschaften ) dann auf Reiter Anwendung, ganz unten: Modus für das Herunterfahren -> Auswählen: "Beim Schließen des letzten Formulars"
    Hannes

    If you have got questions about this, just ask.
    Mark the thread as answered if the answer helps you. This helps others who have the same problem !
    C# to VB.NET: http://www.developerfusion.com/tools/convert/csharp-to-vb/
    Dienstag, 9. März 2010 11:36
  • Hallo nooob,


    der geänderte Code mit Kommentaren:

      Private Function OpenTextFile() As String
            'hier einen String deklarieren für einen Filename
            Dim fnm As String = ""
            'einen Stream deklarieren
            Dim loadstream As System.IO.Stream
            'Eigenschaften für FileDialog setzen auf TXT Files
            OpenFileDialog1.DefaultExt = "*.TXT"
            OpenFileDialog1.Filter = "txt Files | *.TXT"
            'File Dialog aufrufen
            If OpenFileDialog1.ShowDialog() = DialogResult.OK Then
                'der OK Buttom wurde betätigt. loadstream Instanzieren
                loadstream = OpenFileDialog1.OpenFile()
                'mit dieser Anweisung den im Dialog ausgewählten Filename holen
                fnm = OpenFileDialog1.FileName()
                'noch einmal abfragen, ob das file wirklich existiert
                If System.IO.File.Exists(fnm) Then
                    'ja, dann einen streamreader deklarieren und instanzieren
     mit Konstruktor fnm 
    Dim sr As System.IO.StreamReader = New System.IO.StreamReader(fnm) 'string für eine Zeile deklarieren Dim Line As String 'alle Zeilen des Textfile einlesen Do While sr.Peek >= 0 Line = sr.ReadLine ' ' Code für Verarbeitung der Lines hier ' Loop End If 'stream wieder schliessen loadstream.Close() End If 'filename zurückgeben Return fnm End Function
    Schick das einfach mal durch den Debugger. Setze breakpoints und schau die Werte an.
    Dann verstehts Du das

    den Pfad setzt Du mit dieser Anweisung

    OpenFileDialog1.InitialDirectory = "C:\Windows\System32\drivers"
    Hilft Dir das?
    schöne Grüße
    Ellen


    Ich arbeite bie Volkswagen Nutzfahrzeuge Ag in der Planungsabteilung

    Meine letzten Aktivitäten:
    Einführung des ASAM Generic Device Inteface Standard (ASAM GDI) in Fertigungsanlagen
    Umstellung der Fahrzeugdiagnose auf ISO TP und ASAM ODX (Open Data eXchange)

    Mechatronik ist ein guter Beruf. Gratuliere! Weitermachen!








    Dienstag, 9. März 2010 20:47
  • Hallo nooobb,
    ich habe hier Beiträge, wie man mit dem filesystem arbeitet.
    http://msdn.microsoft.com/de-de/library/0b485hf7.aspx

    Das könnte hilfreich für Dich sein

    Wollen wir diesen thread erst einmal schliessen?
    Dazu musst Du unten das grüne Häckchen anklicken.
    Wenn Du noch Fragen hast kannst Du ja einen neuen thread
    aufmachen. Das ist auch besser so

    schöne Grüsse
    Ellen




    Mittwoch, 10. März 2010 11:36
  • Hallo Nooob,


    ich habe versucht Deinen Fehler zu produzieren, was mir auch gelungen ist.
    siehe dieses Beispiel.


    x = CType(TextBox1.Text, Double)
            y = CType(TextBox2.Text, Double)
            Dim x, y As Double
    Fehlermeldung wie folgt:

    Fehler	1	Auf die lokale Variable "x" kann nicht verwiesen werden, bevor sie deklariert ist.	E:\Visual Studio 2008\Projects\miniCalc1\miniCalc1\Form1.vb	11	9	miniCalc1
    
    Die Reihenfolge der Deklaration und Verwendung ist entscheidend. So geht es

     Dim x, y As Double
            x = CType(TextBox1.Text, Double)
            y = CType(TextBox2.Text, Double)
    Deine zweite Frage habe ich nicht ganz verstanden.
    Sollte aber auch kein Problem sein.

    Habe ich Dir helfen können?

    schöne Grüße
    Ellen
    Sonntag, 7. März 2010 14:14

Alle Antworten

  • Hallo Nooob,


    ich habe versucht Deinen Fehler zu produzieren, was mir auch gelungen ist.
    siehe dieses Beispiel.


    x = CType(TextBox1.Text, Double)
            y = CType(TextBox2.Text, Double)
            Dim x, y As Double
    Fehlermeldung wie folgt:

    Fehler	1	Auf die lokale Variable "x" kann nicht verwiesen werden, bevor sie deklariert ist.	E:\Visual Studio 2008\Projects\miniCalc1\miniCalc1\Form1.vb	11	9	miniCalc1
    
    Die Reihenfolge der Deklaration und Verwendung ist entscheidend. So geht es

     Dim x, y As Double
            x = CType(TextBox1.Text, Double)
            y = CType(TextBox2.Text, Double)
    Deine zweite Frage habe ich nicht ganz verstanden.
    Sollte aber auch kein Problem sein.

    Habe ich Dir helfen können?

    schöne Grüße
    Ellen
    Sonntag, 7. März 2010 14:14
  • Kuck ich meine es so,die checkboxen müssen einen haken haben dann soll das weiter erst ferfügbar sein. Abbruch st abbruch das ist ka klar. Dann soll Form 2 öffnen und zusätzlich noch ein txt. dokument. wo man weiß eintragen soll. Dann soll Form 4 kommen habe mich in der reienvolge vertan. und irgendwann soll form 3 kommen die einenordner öffnet. Indem man was kopieren muss. Bilder Upload Bilder Upload Bilder Upload Bilder Upload
    Sonntag, 7. März 2010 14:37
  • Hallo nooob,
    der erste Teil bis Form2 würde in etwa so gehen:

      Private Sub ButtonWeiter_Click(ByVal sender As System.Object, _
                                    ByVal e As System.EventArgs) _
                                    Handles ButtonWeiter.Click
    
    if checkbox1.checked and checkbox2.checked then        
    Form2.Show()
    end if
    
        End Sub
       
        Private Sub Button_Abbruch_Click(ByVal sender As System.Object, _
                                       ByVal e As System.EventArgs) _
                                       Handles Button_Abbruch.Click
    
    me.Close() End Sub
    Dann in der Class Form2 die Form2_load methode benutzen um die TXT Datei zu öffnen
    Jetzt wird es aber schwieriger. Das geht mit der streamwriter klasse.
    Hier ein Beispiel mit streamreader eine Textdatei öffnen und lesen:
    Schreiben geht genauso
    Private Sub ButtonL_Click(ByVal sender As System.Object, _
                                  ByVal e As System.EventArgs) Handles ButtonL.Click
            Dim fileok = False
            Dim fnm As String = ""
    
    
            OpenFileDialog1.InitialDirectory = fullpath
            OpenFileDialog1.DefaultExt = "*.TXT"
            OpenFileDialog1.Filter = "txt Files | *.TXT"
            If OpenFileDialog1.ShowDialog() = DialogResult.OK Then
    
                DrawActive = True
                loadstream = OpenFileDialog1.OpenFile()
                fnm = OpenFileDialog1.FileName()
    
                Dim sr As System.IO.StreamReader = New System.IO.StreamReader(fnm)
    
                Do While sr.Peek >= 0
                    If Me.DrawActive Then
                        Me.mData = sr.ReadLine
                    Else
                        Exit Do
                    End If
                Loop
                sr.Close()
                loadstream.Close()
            Else
                MsgBox("Keine Daten gewählt")
            End If
    Soll ich weitermachen?
    Mach doch erst mal die Forms fertig

    Gruß Ellen







    Sonntag, 7. März 2010 15:08
  • Ok, ich werde die Forms fertig machen, alles was ich bearbeitet habe werde ich dazu schreiben.
    ISt net das du mir dabei hilfst. Kennst du eine gute selbststudien seite am besten noch mit videos über visual basic?
    Sonntag, 7. März 2010 15:46
  • Hallo nooob,



    schau mal ein Stück nach oben auf diese Visual Basic Einstiegsseite.
    Da ist der kostenlose Download des Ebook von Klaus Löffelman.
    Damit hab ich auch VB gelernt

    Dann dieser Link. Es gibt ein Super Videotraining (Florian Sauer). Das hat mir sehr geholfen.

    http://social.msdn.microsoft.com/Forums/de-DE/msdngenerelle_fragende/thread/482b0c25-9fa1-4d04-afaa-1dc5f730727b


    Ich war auch mal blutiger Anfänger.

    Es ist hier übrigens  usus, dass man die Antworten bewertet und Häckchen setzt. Vielen Dank dafür.

    Für weitere Fragen bin ich immer standby. Ich gucke hier regelmässig hinein.

    Ich wünsche Dir viel Spass und Erfolg mit VB
    schöne Grüsse
    Ellen





    Sonntag, 7. März 2010 16:11
  • Hallo ich möchte Visual Basic lernen ersten ist mir bei einer antwort ein Fehler aufgefallen, wenn ihr die hier durchmacht, http://msdn.microsoft.com/de-de/library/bb384479.aspx, dann kommt bei mir der fehler

     Auf die lokale Variable "FavoritePictures" kann nicht verwiesen werden, bevor sie deklariert ist.

    Wenn Du die Anweisungen genau liest und befolgst, dann gibt es keinen Fehler. Die Deklaration soll vor dem Ereignishandler eingefügt werden, also im Deklarationsbereich der Klasse und nicht innerhalb der Methode/des Ereignishandler. So sollte das dann aussehen, wenn es fertig ist:

    Public Class Form1
      Dim FavoritePictures As String = _
        My.Computer.FileSystem.SpecialDirectories.MyDocuments _
        & "\FavoritePictures.txt"
    
      Private Sub FavoritesAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FavoritesAdd.Click
        If PictureBox1.ImageLocation <> "" Then
    
          ' Add the selected picture to the favorites text file.
          My.Computer.FileSystem.WriteAllText(FavoritePictures, _
              Me.ListBox1.SelectedItem & ",", True)
    
        End If
      End Sub
    End Class
    
    Das Beispiel ist dennoch grenzwertig (hart codierter Pfadtrenner, überflüssiger My-Namespace, Missachtung von Option Strict).

    Für den Einstieg eignet sich IMO folgendes Buch besser:

    Galileo Computing <openbook> - Einstieg Visual Basic 2008
    http://openbook.galileocomputing.de/einstieg_vb_2008/

    Thorsten Dörfler
    Microsoft MVP Visual Basic
    Sonntag, 7. März 2010 16:22
    Moderator
  • Jo danke für den hinweiß mit dem Bewerten habe ich jetzt mal. Bin mehr als dankbar. Also hier mal die Fotos Weiter soll erst möglich sein, wenn man alle haken makiert hat. Abbruch soll auch nur auf dieser Stelle sein wo Abbruch steht das X Oben soll bei den volgenden nicht Forms nicht möglich sein wen es geht. Dann bei Klick auf weiter Soll das Nächste Fenster öffnen und die Datei: %SystemRoot%\system32\drivers\etc\hosts So Jetzt soll man in der datei was verändern, das ist aber egal da die der user ja machen soll, es steht ja in dem Fenster nummer 2 im unterem Bild.

     Bilder Upload

    Bei Bild zwei nur weiter.

    Bilder Upload

    Bild drei ist auch nur weiter

      Bilder Upload

    Wieder nur weiter  bei Bild vier

     Bilder Upload

    Wenn man bei bild fünfs auf weiter klickt soll sich volgender Ordner öffnen:
    C:\Programme\Adobe\Adobe Photoshop CS4


    . Bilder Upload

    Bei klick auf weiter öffnet Bild 6

      Bilder  Upload  

    Bei Klick auf weiter komtm Bild 7.
    Bei Ende soll es beenden.

    Bilder Upload


    Also ich badanke mich jetzt nochmal bei dir dafür, das du mir das machst. Ich werde das Buch gleich bestellen, das Mir Thorsten Dörfler empfolen hat.
    Fals du nochwas wissen musst dann sag es einfach.
    Sonntag, 7. März 2010 17:03
  • Hallo nooobb,
    ich glaube hier liegt ein Missverständiss vor. Ich hatte nicht gesagt, dass ich Dir das komplett
    programmieren werde. Der Sinn dieser Community liegt darin, dass man sich gegenseitig
    bei technischen Problemen hilft. Und die gibt es reichlich. So einfach wie Microsoft das in den
    Einführungsvideos darstellt ist das ganze nämlich nicht.

    Aber ich mache Dir einen Vorschlag:
    Schick mir Dein Projekt als ZIP Ordner an folgende Email:

    Ich werde mal sehen, was ich für Dich machen kann.

    schöne Grüße
    Ellen
    • Bearbeitet Ellen Ramcke Dienstag, 9. März 2010 07:05 emailaddresse gelöscht
    Montag, 8. März 2010 07:16
  • Ok geht auch RAR?
    Montag, 8. März 2010 16:42
  • Also ich schmeiße mich gerade selber drann.

    Form 1 sieht so aus:

    Public Class Form1
    
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    
        End Sub
    
        Private Sub ButtonWeiter_Click(ByVal sender As System.Object, _
                              ByVal e As System.EventArgs) _
                              Handles Button1.Click
    
            If CheckBox1.Checked And CheckBox2.Checked Then
                Form2.Show()
            End If
    
        End Sub
    
        Private Sub Button_Abbruch_Click(ByVal sender As System.Object, _
                                       ByVal e As System.EventArgs) _
                                       Handles Button2.Click
    
    
    
            Me.Close()
    
        End Sub
    
    End Class


    Bei Form 2 hakt es aber habe deinen text kopiert und bei den roten sachen imemr den pfad kopiert
    Montag, 8. März 2010 17:22
  • Hallo Nooob,
    Code ist angekommen, lässt sich laden und bearbeiten.
    Dauert aber en paar Tage.
    Gruß
    Ellen
    Dienstag, 9. März 2010 07:58
  • Hallo nooob,
    ups so.
    Ich habe entsprechend Deinen Vorgaben ein Gerüst Deines Programms fertiggestellt,
    das Dir helfen soll die Richtung zu finden. Einen Dialog ist schon auscodiert.
    die Rest Arbeit bleibt jetzt bei Dir. Du willst es ja lernen.

    Eine Sache habe ich nicht hinbekommen. Da form1 das Startformular ist, darf man es nicht gleich
    am Anfang beenden. Dann geht garnichts mehr. Vielleicht hat jemand einen Tip?


    Habe ich Dir geholfen?
    schöne Grüße
    Ellen


    Public Class Form1
    
        Private Sub Button1_Click(ByVal sender As System.Object, _
                                  ByVal e As System.EventArgs) Handles Button1.Click
            If CheckBox1.Checked And CheckBox2.Checked And CheckBox3.Checked And CheckBox4.Checked Then
                Form2.Show()
                'Me.Close() geht leider nicht
            End If
        End Sub
    
        Private Sub Button2_Click(ByVal sender As System.Object, _
                                  ByVal e As System.EventArgs) Handles Button2.Click
            Me.Close()
        End Sub
    End Class
    
    Public Class Form2
        Dim filename As String = "test.txt"
        Private Sub Form2_Load(ByVal sender As System.Object, _
                               ByVal e As System.EventArgs) Handles MyBase.Load
    
            filename = OpenTextFile()
            ' der Pfad und die Datei stehen jetzt in der Textbox:
            TextBox1.Text = filename
            '
            ' nun kommt lesen oder Schreiben der Datei filename
            ''
        End Sub
    
        Private Sub Button1_Click(ByVal sender As System.Object, _
                                  ByVal e As System.EventArgs) Handles Button1.Click
    
            Form3.Show()
            Me.Close()
    
        End Sub
    
        Private Sub TextBox2_KeyDown(ByVal sender As System.Object, _
                                     ByVal e As System.Windows.Forms.KeyEventArgs) _
                                     Handles TextBox2.KeyDown
    
            Dim s As String = CType(sender, Control).Text
    
            ' Eingabe einer Userkennung bis Taste enter
            If e.KeyCode = Keys.Enter Then
                'Hier wird der Name in die Datei geschrieben
                writeToFile(s, filename)
    
            End If
    
        End Sub
    
        Friend Sub writeToFile(ByVal s As String, ByVal fnm As String)
            ' in s steht der zu schreibende String
            ' in fnm der dateiname
            '
            'hier kommt der Code rein zum wegschreiben auf eine Datei
            '
        End Sub
    
        Private Function OpenTextFile() As String
            Dim fnm As String = ""
            Dim loadstream As System.IO.Stream
            '
            ' Hier kommt ein OpenFileDialog 
            ' fertige Klasse in .NET
            '
            OpenFileDialog1.DefaultExt = "*.TXT"
            OpenFileDialog1.Filter = "txt Files | *.TXT"
            If OpenFileDialog1.ShowDialog() = DialogResult.OK Then
    
                loadstream = OpenFileDialog1.OpenFile()
    
                fnm = OpenFileDialog1.FileName()
    
                loadstream.Close()
            End If
            Return fnm
        End Function
    
    End Class
    
    Public Class Form3
    
        Private Sub Form3_Load(ByVal sender As System.Object, _
                               ByVal e As System.EventArgs) Handles MyBase.Load
    
            ' hier die beiden Textboxen versorgen mit den aktuellen Meldungen
            TextBox1.Text = "Meldungen"
            TextBox2.Text = "Staus"
    
        End Sub
    
        Private Sub Button1_Click(ByVal sender As System.Object, _
                                  ByVal e As System.EventArgs) Handles Button1.Click
            Form4.Show()
            Me.Close()
    
        End Sub
    End Class
    
    Public Class Form4 ' ähnlich Form3
    
        Private Sub Form4_Load(ByVal sender As System.Object, _
                               ByVal e As System.EventArgs) Handles MyBase.Load
            ' auch wieder textboxen versorgen
            TextBox1.Text = "Meldung Form4"
            TextBox4.Text = "Ausgabe Form4 Box4"
        End Sub
    
        Private Sub Button1_Click(ByVal sender As System.Object, _
                                  ByVal e As System.EventArgs) Handles Button1.Click
            Form5.Show()
            Me.Close()
    
        End Sub
    
    End Class
    
    Public Class Form5
    
        Private Sub Form5_Load(ByVal sender As System.Object, _
                               ByVal e As System.EventArgs) Handles MyBase.Load
            install()
        End Sub
    
        Private Sub Button1_Click(ByVal sender As System.Object, _
                                  ByVal e As System.EventArgs) Handles Button1.Click
            Form6.Show()
            Me.Close()
        End Sub
        Private Sub install()
            '
            ' hier läuft jetzt die Installation
            '
            ' Vorschlag: Eine ProgressBar zur Fortschrittsanzeige einbauen
        End Sub
    End Class
    
    Public Class Form6
        '
        ' auch hier am besten mit OpenFiledialog arbeiten
        '
        Private Sub Button1_Click(ByVal sender As System.Object, _
                                  ByVal e As System.EventArgs) Handles Button1.Click
            Form7.Show()
            Me.Close()
        End Sub
    End Class
    
    Public Class Form7
    
        Private Sub Form7_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    
        End Sub
    
        Private Sub Button1_Click(ByVal sender As System.Object, _
                                  ByVal e As System.EventArgs) Handles Button1.Click
    
            Form1.Close()
            Me.Close()
    
        End Sub
    End Class






    • Als Antwort markiert Nooobb Donnerstag, 11. März 2010 15:50
    Dienstag, 9. März 2010 11:24
  • Hallo Ellen und Noob,

    unter Menue Projekt -> letzter Punkt ( Projektname - Eigenschaften ) dann auf Reiter Anwendung, ganz unten: Modus für das Herunterfahren -> Auswählen: "Beim Schließen des letzten Formulars"
    Hannes

    If you have got questions about this, just ask.
    Mark the thread as answered if the answer helps you. This helps others who have the same problem !
    C# to VB.NET: http://www.developerfusion.com/tools/convert/csharp-to-vb/
    Dienstag, 9. März 2010 11:36
  • Jo, danke
    Ellen
    Dienstag, 9. März 2010 11:56
  • Gern geschehen


    Hannes

    If you have got questions about this, just ask.
    Mark the thread as answered if the answer helps you. This helps others who have the same problem !
    C# to VB.NET: http://www.developerfusion.com/tools/convert/csharp-to-vb/
    Dienstag, 9. März 2010 11:59
  • Danke Ellen. werde es jetzt hofentlich hinbekommen :)
    Dienstag, 9. März 2010 15:13
  • Also ich habe noch ein Problem mir flgendem Befehl, sonnst habe ich alles:

     Private Function OpenTextFile() As String
            Dim fnm As String = ""
            Dim loadstream As System.IO.Stream
            '
            ' Hier kommt ein OpenFileDialog 
            ' fertige Klasse in .NET
            '
            OpenFileDialog1.DefaultExt = "*.TXT"
            OpenFileDialog1.Filter = "txt Files | *.TXT"
            If OpenFileDialog1.ShowDialog() = DialogResult.OK Then
    
                loadstream = OpenFileDialog1.OpenFile()
    
                fnm = OpenFileDialog1.FileName()
    
                loadstream.Close()
            End If
            Return fnm
        End Function


    Kannst mir das nochmal erklären? Wie diese Befehle funktionieren?

    Der Pfad wo die datei steht ist ja:

    C:\Windows\System32\drivers\etc

    Du arbeitest bei VW in der entwicklung oder? Ich mach ne ausbildung zu KFZ mechatroniker bei einer VW Werkstatt :)
    Dienstag, 9. März 2010 16:03
  • Hallo nooob,


    der geänderte Code mit Kommentaren:

      Private Function OpenTextFile() As String
            'hier einen String deklarieren für einen Filename
            Dim fnm As String = ""
            'einen Stream deklarieren
            Dim loadstream As System.IO.Stream
            'Eigenschaften für FileDialog setzen auf TXT Files
            OpenFileDialog1.DefaultExt = "*.TXT"
            OpenFileDialog1.Filter = "txt Files | *.TXT"
            'File Dialog aufrufen
            If OpenFileDialog1.ShowDialog() = DialogResult.OK Then
                'der OK Buttom wurde betätigt. loadstream Instanzieren
                loadstream = OpenFileDialog1.OpenFile()
                'mit dieser Anweisung den im Dialog ausgewählten Filename holen
                fnm = OpenFileDialog1.FileName()
                'noch einmal abfragen, ob das file wirklich existiert
                If System.IO.File.Exists(fnm) Then
                    'ja, dann einen streamreader deklarieren und instanzieren
     mit Konstruktor fnm 
    Dim sr As System.IO.StreamReader = New System.IO.StreamReader(fnm) 'string für eine Zeile deklarieren Dim Line As String 'alle Zeilen des Textfile einlesen Do While sr.Peek >= 0 Line = sr.ReadLine ' ' Code für Verarbeitung der Lines hier ' Loop End If 'stream wieder schliessen loadstream.Close() End If 'filename zurückgeben Return fnm End Function
    Schick das einfach mal durch den Debugger. Setze breakpoints und schau die Werte an.
    Dann verstehts Du das

    den Pfad setzt Du mit dieser Anweisung

    OpenFileDialog1.InitialDirectory = "C:\Windows\System32\drivers"
    Hilft Dir das?
    schöne Grüße
    Ellen


    Ich arbeite bie Volkswagen Nutzfahrzeuge Ag in der Planungsabteilung

    Meine letzten Aktivitäten:
    Einführung des ASAM Generic Device Inteface Standard (ASAM GDI) in Fertigungsanlagen
    Umstellung der Fahrzeugdiagnose auf ISO TP und ASAM ODX (Open Data eXchange)

    Mechatronik ist ein guter Beruf. Gratuliere! Weitermachen!








    Dienstag, 9. März 2010 20:47
  • Hallo nooobb,
    ich habe hier Beiträge, wie man mit dem filesystem arbeitet.
    http://msdn.microsoft.com/de-de/library/0b485hf7.aspx

    Das könnte hilfreich für Dich sein

    Wollen wir diesen thread erst einmal schliessen?
    Dazu musst Du unten das grüne Häckchen anklicken.
    Wenn Du noch Fragen hast kannst Du ja einen neuen thread
    aufmachen. Das ist auch besser so

    schöne Grüsse
    Ellen




    Mittwoch, 10. März 2010 11:36
  • Hallo Nooobb,

    hasst Du eigentlich Dein Problem gelöst ?

    Grüße,
    Robert

    Donnerstag, 11. März 2010 14:28
    Moderator
  • Jo Problem gelöst, hate gestern noch drann gearbeitet und dann nicht mehr drangedacht hier zu Posten.

    Vielen dank dann an Ellen und den andreen die geholfen haben.
    Donnerstag, 11. März 2010 15:50