Wert aus Combobox auslesen und an BATCH übergeben?

  • VB.NET

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Wert aus Combobox auslesen und an BATCH übergeben?

    Guten Morgen :)

    Ich bin noch ganz frisch in der Materie des VB Programmierens, also steinigt mich bitte nicht gleich ;)
    Vorweg sei gesagt, dass ich jetzt schon ca. 1 Stunde das Netz nach einer Antwort durchsucht habe.

    Aber zu meiner Frage.

    Ich habe eine Combobox, die mit Werten aus einer TXT Datei gefüllt wird.
    Soweit so gut, nun möchte ich aber gern den gewählten Eintrag (nach einem klick auf den OK Button)

    1.) als Variable speichern
    2.) in einer MessageBox ausgeben
    und
    3.) (wenn überhaupt möglich) irgendwie in meine batch Datei einbinden.


    Hier mal ein paar Codeschnippsel

    - Anzeige der Rechnernamen.txt in der Combobox

    VB.NET-Quellcode

    1. Public Sub New()
    2. InitializeComponent()
    3. Dim lPath As String = IO.Path.Combine(Application.StartupPath, "F:\Rechnernamen.txt")
    4. ComboBoxRechner.Items.AddRange(IO.File.ReadAllLines(lPath))
    5. End Sub


    - der VERSUCH ihn davon zu überzeugen überhaupt irgendwas mit dem gewählten Eintrag zu machen
    (hier kommt allerdings die Fehlermeldung (Handles-KLausel erfordert WithEvents-Variable...)

    VB.NET-Quellcode

    1. Private Sub OKButton2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OKButton2.Click
    2. If ComboBoxRechner.SelectedItem IsNot Nothing Then
    3. MsgBox(ComboBoxRechner.SelectedItem.ToString())
    4. Else
    5. MsgBox("Kein Eintrag ausgewählt")
    6. End If
    7. End Sub



    Wäre klasse wenn mir da einer weiterhelfen könnte :)

    Gruß

    Ingo

    VB.NET-Quellcode

    1. Imports System.IO
    2. Public Class Form1
    3. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    4. Dim Pat As String = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "M.txt")
    5. ComboBox1.Items.AddRange(File.ReadAllLines(Pat))
    6. ComboBox1.SelectedIndex = 0
    7. End Sub
    8. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    9. MessageBox.Show(ComboBox1.SelectedItem)
    10. Dim P As String = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "L.bat")
    11. Dim Sw As New StreamWriter(P, True, System.Text.Encoding.Default)
    12. For Each b As String In ComboBox1.Items
    13. Sw.WriteLine(b)
    14. Next
    15. Sw.Close()
    16. End Sub
    17. End Class


    Eigentlich darf ich dir ja keinen Code geben ..
    Pack das, was in die Datei geschrieben werden soll, in ein String-Array oder ein List(Of String).
    Da kannst Du die Einträgr hin- und herschieben, wie Du sie brauchst und wenn Du fertig bist, kannst Du sie per
    System.IO.File.WriteAllLines(DATEI, STRING_ARRAY) wieder speichern.
    STRING_ARRAY = LIST_OF_STRING.ToArray().
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!