Füllen von CheckedListBox/ComboBox über eine externe Datei (.sql oder .txt) um eine/oder mehre Ausgabedateien zu erstellen!

  • VB.NET

Es gibt 46 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    Pam. Logikfehler X(

    VB.NET-Quellcode

    1. fullname = Path.Combine(Environment.CurrentDirectory, "Data")
    2. ComboBox1.Items.AddRange(System.IO.File.ReadAllLines(fullName, "device.txt"))
    3. ComboBox1.Items.AddRange(System.IO.File.ReadAllLines(fullName, "device2.txt"))
    4. ComboBox1.Items.AddRange(System.IO.File.ReadAllLines(fullName, "device3.txt"))
    Ich will zuerst einmal, dass er mir die comboBoxen/die eine CheckedBox füllt, damit ich die Auswahl der 3+1 devices überhaupt einmal treffen kann.
    Ob ich dann mit dem gerade angewendeten Trick den ihr mir dankenswerter weise gezeigt habt (in verbindung mit Variablen) dann via 2x2 auswahl umsetzten kann wird sich später zeigen!
    @ AliveDevil :
    Fehler 1 Der Wert vom Typ "String" kann nicht in "System.Text.Encoding" konvertiert werden. c:\users\Namezensiert\documents\visual studio 2010\Projects\CSC-Creator\CSC-Creator\Form1.vb 64 72 CSC-Creator

    @ ErfinderDesRades : Nein sie mit "try" einzu bauen!

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „IluminatHALO04“ ()

    liest du überhaupt meine Beiträge?
    Du darfst fullname nicht immer erweitern.
    Denn fullname = "whatever\pfad\datei.erweiterung" ist der erste Durchgang
    der zweite dann "whatever\pfad\datei.erweiterung\datei2.erweiterung" und der dritte
    "whatever\pfad\datei.erweiterung\datei2.erweiterung\datei3.erweiterung". Du musst also fullname Konstant halten und nur das Ende verändern.
    s. #21
    okay. Hör erstma auf zwischen Sie und du zu verwechseln, das liest sich scheiße.

    Ah kla X( Copy&Paste man.

    VB.NET-Quellcode

    1. fullname = Path.Combine(Environment.CurrentDirectory, "Data")
    2. ComboBox1.Items.AddRange(System.IO.File.ReadAllLines(Path.Combine(fullName, "device.txt")))
    3. ComboBox1.Items.AddRange(System.IO.File.ReadAllLines(Path.Combine(fullName, "device2.txt")))
    4. ComboBox1.Items.AddRange(System.IO.File.ReadAllLines(Path.Combine(fullName, "device3.txt")))

    Etwas mitdenken ist angebracht.
    Gut Sie haben mich überzeugt. Es ist doch besser nichts "weg zu catchen".
    Gut ich habe mich mit meinem "Clienten" beraten und nun kam raus, wass er jetzt genau von mir möchte. Er möchte, dass:

    ComboBox1+ComboBox2 "addiert" werden (der ausgewählte Inhalt und kein Umweg über noch weitere "Quelldateien" in verbindung mit Variablen.
    CheckedListBox1 den Inhalt von t9.txt anzeigt aber aus einem anderen Unterverzeichnis anders lautende Datein ins "Solution-Verzeichnis" kopiert (Ich möchte das wens geht mit Variablen erledigen).
    CheckedListBox2 den Inhalt von CheckedListBox1 ausliest und entsprechend die möglichen Inhalte filtert und ebenfals zur Auswahl anbietet (der Inhalt der gewählt wurde (in beiden CheckedListBoxen) wird dann von den jeweiligen Unterverzeichnisen ebenfals ins "Solution-Verzeichnis" kopiert.
    Der gesamte Ordner "Solution" mit einem anderen Namen in ein .tar Archiv gepackt wird.

    PostScriptum: Ich habe mitlerweile ein wenig im Forum gestöbert und nun auf "Strict on" umgeschalten und nun kommt folgendes zum Vorschein:

    Fehler 1 "Option Strict On" erfordert, dass alle Variablendeklarationen eine As-Klausel enthalten. c:\users\Name Zensiert\documents\visual studio 2010\Projects\CSC-Creator\CSC-Creator\Form1.vb 8 9 CSC-Creator

    Im Bezug auf: Dim fullName = Path.Combine(Environment.CurrentDirectory, "Data")

    Um ehrlich zu sein habe ich keinen blassen Schimmer wovon der da redet!

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

    ich glaub, wir müssen langsam machen, weil was dein Client "genau von dir möchte"... - da bin ich bereits durch seinen 1. Wunsch total abgehängt:
    ComboBox1+ComboBox2 "addiert" werden (der ausgewählte Inhalt und kein Umweg über noch weitere "Quelldateien" in verbindung mit Variablen.
    Ich versteh nix.
    Wie addiert man 2 Comboboxen??

    Was bedeutet "der ausgewählte Inhalt und kein Umweg über noch weitere "Quelldateien" in verbindung mit Variablen"??
    Also ausgewählte Inhalte addieren, das verstehe ich zumindest prinzipiell - nur gibts Probleme, wenn der eine Inhalt zB 9 ist, und der annere Inhalt ist "tatü", weil was ergibt wohl 9 + "tatü"??

    Aber was bedeutet "ausgewählter Inhalt und kein Umweg"??

    Und was bedeutet "weitere "Quelldateien" in verbindung mit Variablen"??
    Gut ich wollte es so allgemein halten wie irgend möglich und dieser Umstandt fällt mir nun auf den Kopf!

    Im Moment lasse ich in ComboBox1 den Inhalt von device.txt anzeigen, an der Stelle soll der Endverbraucher eine "Option" darunter auswählen.
    In ComboBox2 möchte ich genauso wie in ComboBox1 auf die gleiche weise auch den Inhalt einer sog. csc-packages.txt anzeigen lassen, wo der User dann wieder den für Ihn passenden Inhalt auswählt. In folge dessen sollte das Programm den ausgewählten Inhalt von ComboBox1 und ComboBox2 aneinander heften (addieren) und in in einer .txt datei in einem bestimmten Unterverzeichnis ausgeben.

    Im Sinne Ihres Bsp. wäre 9+tatü=9tatü

    IluminatHALO04 schrieb:

    PostScriptum: Ich habe mitlerweile ein wenig im Forum gestöbert und nun auf "Strict on" umgeschalten
    :thumbsup: die gute Tat! :thumbsup:
    Fehler 1 "Option Strict On" erfordert, dass alle Variablendeklarationen eine As-Klausel enthalten. c:\users\Name Zensiert\documents\visual studio 2010\Projects\CSC-Creator\CSC-Creator\Form1.vb 8 9 CSC-Creator

    Im Bezug auf: Dim fullName = Path.Combine(Environment.CurrentDirectory, "Data")

    Da kannst du in den Projekteigenschaften - Reiter "Kompilieren" Option Infer On einstellen, dann erkennt der Compiler selber, dass fullName ein String sein muß, denn Path.Combine() gibt numal Strings zurück.
    Gut zu wissen, aber ich habe es bereits anderes (ich hoffe richtig) gelöst. ich habe " Dim fullName = Path.Combine(Environment.CurrentDirectory, "Data") " zum Rest geschoben (ich hatte des vorher bei den anderen "Dim" ganz oben (so drücken sich nur Laien aus aber mir fällt keine bessere Bezeichnung ein..) stehen).

    Ich wollte nur nach Ihrem Beitrag nicht so unhöflich sein und weiter "bearbeiten".

    MfG David

    PS: Ich habe gerade wieder auf mein Projekt geäugt und nun schreit er mir den Fehler:
    Fehler 1 Der Wert vom Typ "String" kann nicht in "System.Text.Encoding" konvertiert werden. c:\users\david\documents\visual studio 2010\Projects\CSC-Creator\CSC-Creator\Form1.vb 60 78 CSC-Creator
    Im Bezug auf :

    VB.NET-Quellcode

    1. Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    2. Dim fullName = Path.Combine(Environment.CurrentDirectory, "Data")
    3. fullname = Path.Combine(Environment.CurrentDirectory, "Data")
    4. ComboBox1.Items.AddRange(System.IO.File.ReadAllLines(CStr(fullName), "device.txt"))
    5. ComboBox2.Items.AddRange(System.IO.File.ReadAllLines(CStr(fullName), "csc-packages.txt"))
    6. End Sub

    IluminatHALO04 schrieb:

    Gut zu wissen, aber ich habe es bereits anderes (ich hoffe richtig) gelöst. ich habe " Dim fullName = Path.Combine(Environment.CurrentDirectory, "Data") " zum Rest geschoben (ich hatte des vorher bei den anderen "Dim" ganz oben (so drücken sich nur Laien aus aber mir fällt keine bessere Bezeichnung ein..) stehen).

    Ah - dann war der Fehler ein anderer: Dieses automatische Erkennen von DatenTypen funzt nur bei lokalen Variablen, also innerhalb von Methoden. Und deine Lösung bestand auch darin, die Dim... - Zeile aus dem Klassen-Gültigkeitsbereich in den lokalen Bereich zu verschieben.
    Daraus folgere ich, dass bei dir Option Infer bereits On ist :)

    IluminatHALO04 schrieb:

    Der Wert vom Typ "String" kann nicht in "System.Text.Encoding" konvertiert werden

    Was soll denn das hier?

    VB.NET-Quellcode

    1. .ReadAllLines(CStr(fullName), "device.txt")
    Da stand doch vorher was von Path.Combine!
    Mein Vertrauen in dieses Programm war ja nie wirklich groß aber jetzt ist es weiter gesunken....

    ich bin für Lösungsvorschläge offen aber das "Wiederherstellen" der alten version geht nicht....(keine Sicherung vorhanden)
    Siehe da, kein fehler mehr.... Ich bin von Ihnen mehr als positiv überrascht.

    Edit:

    10sec later:



    Informationen über das Aufrufen von JIT-Debuggen
    anstelle dieses Dialogfelds finden Sie am Ende dieser Meldung.

    ************** Ausnahmetext **************
    System.IO.IOException: Der Prozess kann nicht auf die Datei "C:\Program Files\CSC-Creator\Solution\CSCversion.txt" zugreifen, da sie von einem anderen Prozess verwendet wird.
    bei System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
    bei System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy)
    bei System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options)
    bei System.IO.StreamWriter.CreateFile(String path, Boolean append)
    bei System.IO.StreamWriter..ctor(String path, Boolean append, Encoding encoding, Int32 bufferSize)
    bei System.IO.StreamWriter..ctor(String path, Boolean append, Encoding encoding)
    bei Microsoft.VisualBasic.FileIO.FileSystem.WriteAllText(String file, String text, Boolean append, Encoding encoding)
    bei Microsoft.VisualBasic.MyServices.FileSystemProxy.WriteAllText(String file, String text, Boolean append)
    bei CSC_Creator.Form1.Button1_Click(Object sender, EventArgs e)
    bei System.Windows.Forms.Control.OnClick(EventArgs e)
    bei System.Windows.Forms.Button.OnClick(EventArgs e)
    bei System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
    bei System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
    bei System.Windows.Forms.Control.WndProc(Message& m)
    bei System.Windows.Forms.ButtonBase.WndProc(Message& m)
    bei System.Windows.Forms.Button.WndProc(Message& m)
    bei System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
    bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
    bei System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


    ************** Geladene Assemblys **************
    mscorlib
    Assembly-Version: 2.0.0.0.
    Win32-Version: 2.0.50727.5456 (Win7SP1GDR.050727-5400).
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll.
    ----------------------------------------
    CSC-Creator
    Assembly-Version: 1.0.0.0.
    Win32-Version: 1.0.0.0.
    CodeBase: file:///C:/Users/David/Desktop/CSC-Creator/CSC-Creator.exe.
    ----------------------------------------
    Microsoft.VisualBasic
    Assembly-Version: 8.0.0.0.
    Win32-Version: 8.0.50727.5420 (Win7SP1.050727-5400).
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/Microsoft.VisualBasic/8.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll.
    ----------------------------------------
    System
    Assembly-Version: 2.0.0.0.
    Win32-Version: 2.0.50727.5456 (Win7SP1GDR.050727-5400).
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll.
    ----------------------------------------
    System.Windows.Forms
    Assembly-Version: 2.0.0.0.
    Win32-Version: 2.0.50727.5456 (Win7SP1GDR.050727-5400).
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll.
    ----------------------------------------
    System.Drawing
    Assembly-Version: 2.0.0.0.
    Win32-Version: 2.0.50727.5458 (Win7SP1GDR.050727-5400).
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll.
    ----------------------------------------
    System.Configuration
    Assembly-Version: 2.0.0.0.
    Win32-Version: 2.0.50727.5420 (Win7SP1.050727-5400).
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll.
    ----------------------------------------
    System.Xml
    Assembly-Version: 2.0.0.0.
    Win32-Version: 2.0.50727.5420 (Win7SP1.050727-5400).
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll.
    ----------------------------------------
    System.Runtime.Remoting
    Assembly-Version: 2.0.0.0.
    Win32-Version: 2.0.50727.5420 (Win7SP1.050727-5400).
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Runtime.Remoting/2.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll.
    ----------------------------------------
    mscorlib.resources
    Assembly-Version: 2.0.0.0.
    Win32-Version: 2.0.50727.5456 (Win7SP1GDR.050727-5400).
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll.
    ----------------------------------------
    System.Windows.Forms.resources
    Assembly-Version: 2.0.0.0.
    Win32-Version: 2.0.50727.5420 (Win7SP1.050727-5400).
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms.resources/2.0.0.0_de_b77a5c561934e089/System.Windows.Forms.resources.dll.
    ----------------------------------------

    ************** JIT-Debuggen **************
    Um das JIT-Debuggen (Just-In-Time) zu aktivieren, muss in der
    Konfigurationsdatei der Anwendung oder des Computers
    (machine.config) der jitDebugging-Wert im Abschnitt system.windows.forms festgelegt werden.
    Die Anwendung muss mit aktiviertem Debuggen kompiliert werden.

    Zum Beispiel:

    <configuration>
    <system.windows.forms jitDebugging="true" />
    </configuration>

    Wenn das JIT-Debuggen aktiviert ist, werden alle nicht behandelten
    Ausnahmen an den JIT-Debugger gesendet, der auf dem
    Computer registriert ist, und nicht in diesem Dialogfeld behandelt.
    was soll man mit einer Fehlermeldung, wenn man den Code nicht kennt?

    Und meist ist dieses Seitenlange Fehlermeldungs-Gefasel komplett belanglos, was zählt ist der erste Satz:

    IluminatHALO04 schrieb:

    System.IO.IOException: Der Prozess kann nicht auf die Datei "C:\Program Files\CSC-Creator\Solution\CSCversion.txt" zugreifen, da sie von einem anderen Prozess verwendet wird.

    aber wie gesagt: ohne Code kann man da auch nix mit anfangen

    VB.NET-Quellcode

    1. Imports System.IO
    2. Public Class Form1
    3. Dim Modelnummer As String = "MN"
    4. Dim KiesCode As String = "KC"
    5. Dim CSC As String = "CSC"
    6. Dim T9DB As String = "T9DB"
    7. Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    8. My.Computer.FileSystem.CreateDirectory _
    9. ("C:\Program Files\CSC-Creator\Solution")
    10. Dim file As System.IO.FileStream
    11. file = System.IO.File.Create("C:\Program Files\CSC-Creator\Solution\CSCversion.txt")
    12. My.Computer.FileSystem.WriteAllText("C:\Program Files\CSC-Creator\Solution\CSCversion.txt", _
    13. "", True)
    14. My.Computer.FileSystem.CopyFile( _
    15. "C:\Program Files\CSC-Creator\Data\", _
    16. "C:\Program Files\CSC-Creator\Solution\", _
    17. FileIO.UIOption.AllDialogs, _
    18. FileIO.UICancelOption.DoNothing)
    19. MsgBox("The >>Solution<< directory was successfully build with the content.", MsgBoxStyle.Critical)
    20. End Sub
    21. Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
    22. If My.Computer.FileSystem.DirectoryExists(My.Application.Info.DirectoryPath.ToString & "\Solution") Then
    23. My.Computer.FileSystem.DeleteDirectory(My.Application.Info.DirectoryPath.ToString & "\Solution", FileIO.DeleteDirectoryOption.DeleteAllContents)
    24. End If
    25. End Sub
    26. Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    27. Dim fullName = Path.Combine(Environment.CurrentDirectory, "Data")
    28. fullname = Path.Combine(Environment.CurrentDirectory, "Data")
    29. ComboBox1.Items.AddRange(System.IO.File.ReadAllLines(Path.Combine(fullName, "device.txt")))
    30. ComboBox2.Items.AddRange(System.IO.File.ReadAllLines(Path.Combine(fullName, "csc-packages.txt")))
    31. End Sub
    32. End Class

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