Textdatein von bis erstellen

  • VB.NET

Es gibt 12 Antworten in diesem Thema. Der letzte Beitrag () ist von Gottric.

    Textdatein von bis erstellen

    Hallo, ich hab da mal ne Frage. :)

    Ich will Textdatein in einem Ordner erstellen. Wie das geht weis ich, jedoch möchte ich dass er mir mehrere Textdatein ertellt.
    Ich hab 2 Textboxen eine VON und eine BIS. wie bekomm ich hin dass er mir soviele Textdateien in dem Ordner erstellt wie ich dort eintrage?
    Also sagen wir, ich will VON 70 BIS 98 Textdateien ersellen. Dann soll er mit dem Namen 70;71;72;73;74;75;76 -98 etc. erstellen in dem Ordner.

    VB.NET-Quellcode

    1. IO.File.WriteAllLines(Pfadprg21dbk + "dbk_" + addunterstrich(txterstellenvon.Text) + ".dat", txtDbkinhalt.Lines)

    aus dem einer Textbox raus macht er es. wie binde ich ein dass er es mir wie gewünscht macht?

    vielen dank.
    Du kannst dir mit
    Dim rng = Enumerable.Range (von, bis - von + 1)
    so eine Reihe erstellen.
    Mit dieser baust du deine Filenamen...
    Wobei ich jetzt aber auch sagen muss, dass es eine normale For/Next-Schleife auch tut...

    VB.NET-Quellcode

    1. For i = von To bis
    2. Dim fileName = i.Tostring & ".ext"
    3. '...
    4. Next

    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VB1963“ ()

    er sagt mir i darf nicht vom Typ String sein.

    VB.NET-Quellcode

    1. For i = CInt(txterstellenvon.Text) To CInt(txterstellenbis.Text)
    2. IO.File.WriteAllLines(Pfadprg21dbk + "dbk_" + addunterstrich(i.ToString) + ".dat", txtDbkinhalt.Lines)
    3. Next


    habs, danke sehr.

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

    Ich empfehle dir dringend, hier einen Break zu machen, und dich erstmal mit der Technologie für Datenverarbeitung vertraut zu machen.
    In einer Datenverarbeitung würdest du ein Datenmodell erstellen, mit Robotern, Programmen, und was weiß ich nicht alles - halt alles, was benötigt wird.
    Das wäre in einer Datei abzuspeichern, und die Verarbeitung der Daten wäre (im wortsinne!) unvorstellbar komfortabel.

    Derzeit wurstelst du in gewisserweise auch ein Datenmodell zusammen, nur statt Datensätze verwendest du Zeilen in Dateien, und die Beziehungen, die zwischen verschiedenen Arten von Datensätzen bestehen versuchst du über Dateinamen, Zeilen-Anfängen und Textbox-Einträgen konsistent zu halten.

    Glaub mir: Das ist ein gradezu grotesker Murx, den du da veranstaltest - es geht viel viel viel einfacher, eleganter, sicherer.
    Man muss es aber erlernen.
    Hier ein Konzept, wie man sich Schritt für Schritt bilden kann, bis man alles dafür notwendige beherrscht:
    Datenverarbeitungs-Vorraussetzungen
    Und da führt auch kein Weg dran vorbei. Alles andere ist Murx, und wird früher oder später doch über den Haufen geworfen werden.

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

    ErfinderDesRades schrieb:

    (...) und dich erstmal mit der Technologie für Datenverarbeitung vertraut zu machen.


    Und den restlichen allgemeinen Programmier-Basics. Datentypen und Schleifen, das Erste was man lernen sollte. An dieser Stelle meine obligatorische Empfehlung: "kauf dir nen Buch zum Thema".
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen
    @ErfinderDesRades das glaube ich dir gerne aber das ist nur ein kleines Tool für mir meinen Job einfacher zu machen. Ich hänge so schon Monate meiner Privaten Zeit rein um das ganze funktionsfähig hinzubekommen. Ich bekomme dafür nichts! Um einer ganze Programmiersprache mit allen eventuallitäten zu lernen fehlt mir einfach die zeit. Ist nicht umsonst ein Aubildungsberuf mit 3,5 Jahren Lehrzeit. Die Zeit kann ich unmöglich neben meinem Beruf noch investieren. Wenn ich für diese arbietserleichterung etwas bekommen würde wäre das ne andere sache, aber dem ist nicht so. Es macht mir sehr viel spaß und es erleichtert meinen Job, das ist der Punkt das ich Hobbymäßg so ne Anwendung schreibe. Seit ich angemeldet bin hier, also seit gut nem Jahr sitze ich jeden Abend da und lese, versuche, erweitere und bekomm dafür nen scheiß. Obwohl es mich messbar produktiver macht! Anstatt es zu würdigen bekomm ich gesagt dass ist mein Privatvergnügen, also quasi selbst schuld.
    Das ist auch der Punkt warum ich nach dieser Erweiterung nen schnitt mache und mir mal wieder etwas private Zeit gönne.
    Ich investiere alles hierein und bekomm nichtmal ein Danke, ist ja nicht mein job das zu machen.
    Es macht mir sehr viel spaß, aber andere dinge machen das auch womit ich meine zeit verbrignen könnte.

    Sorry dass ich ich mich so auskotze aber das frustiert schon sehr.
    aus diesem Grund schließe ich wenn ich hiermit fertig bin das Tehma ohnehin mal für mich ab und werde nicht noch die Zeit inverstieren das ganze auf ein professionelles Level zu heben.
    @Gottric Alles klar, du bist Opfer deines Erfolgs geworden und willst jetzt nur noch raus aus der Nummer. Durchaus nachvollziehbar bei der Einstellung deines Arbeitgebers. Lass den Kopf nicht hängen!

    Ich würde dir empfehlen weiter Programmieren zu lernen, wenn auch nicht mehr für deinen Arbeitgeber ;)
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen
    Ja, das habe ich auch vor. schon als Kind wollte ich das. aber ich werde nun mich mehr auf Sachen konzentrieren von denen ich was habe.
    Also Programme/Anwendungen wo einem Spaß machen. Keine Software für den Arbeitgeber mehr. :)

    Danke euch allen aus dem Forum dass ihr mich so toll unterstützt habt.

    Es werden bestimmt noch ein Paar Fragen/Probleme auftauchen in der Testphase wo ich eure Hilfe brauche.
    @Gottric
    Wenn es dich messbar produktiver macht, dann ist es doch gut. Und was spricht dagegen, wenn du dein Projekt für dich fertig machst? Dein Chef wird das, glaube ich, auch einmal feststellen... Er wird z.Zt. halt davon noch nicht überzeugt sein. Und wenn es dir als Hobby Spass macht, dann wird dich die neue Technologie doch neugierig machen und du wirst das in dein Projekt einfließen lassen wollen...
    Du darfst nur nicht den Kopf jetzt hängen lassen - du machst es für dich!

    Gottric schrieb:

    Ich bekomme dafür nichts!
    Wenn wir hier Dir eine Lösung posten, bekommen wir auch nichts und tun das ebenfalls in unserer privaten Zeit :!:
    Wie helfen, weil es uns Spaß macht und weil wir auch was dabei lernen.
    Du solltest lernen dabei oder auf das Marktplatz-Forum wechseln.
    Pack aus dem Array die betreffenden Zeilen in eine List und speichere die ab. Feddich.
    Und komm jetzt bitte nicht und sag, dass File.WriteAllLines() keine List als Parameter verträgt.
    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!
    Du verwechselst das was, wenn mich jemand Privat fragt nach einem Gebiet in dem ich mich sehr gut auskenne, dann helfe ich natürlich auch gerne weil es mir Spaß macht. Wie ihr auch, völlig normal. Und ein Danke ist schon völlig ausreichend dafür, aber sogar das Gegenteil zu bekommen. Biste selbst Schuld wenn du das machst! Dann würde niemand noch weiter Zeit und Mühe darin investieren. Niemand! Und wer was anders sagt lügt einfach.
    Mir macht es ja Spaß und ich bin ehrgeizig, sonst hätte ich schon vor Monaten aufgehört damit anstatt immer weiter zu machen.
    Ich sage nicht ich will das sein lassen mit dem programmieren, es war immer ein Traum von mir ne eigene Anwendung zu schreiben. Aber ich werde nichts mehr für die Arbeit machen auf diesem Gebiet. Sonst wollte ich nichts damit sagen und im wenigsten euch damit auch nur in irgendeinerweise zu nahe treten.
    Ich bin Dankbar dass ihr mir helft. Hab ich schon zig mal gesagt.

    Edit:
    lassen wir das Thema, desegen sind wir alle nicht hier.

    Hier der Code für mein Problem:

    VB.NET-Quellcode

    1. If rbtnDbk.Checked = True And ComboBox1.SelectedItem.ToString() = "Roboter 2.1" Then
    2. For i = CInt(txterstellenvon.Text) To CInt(txterstellenbis.Text)
    3. If System.IO.File.Exists(Pfadprg21dbk + "dbk_" + addunterstrich(i.ToString) + ".dat") Then
    4. MsgBox("Mindestens eine der gewünschten Datenbanken existiert schon an Roboter 2.1!", MsgBoxStyle.Information, "Info")
    5. Return
    6. Else
    7. IO.File.WriteAllLines(Pfadprg21dbk + "dbk_" + addunterstrich(i.ToString) + ".dat", txtDbkinhalt.Lines)
    8. End If
    9. Next
    10. MsgBox("Datenbanken: " + (txterstellenvon.Text) + " bis " + (txterstellenbis.Text) + " erstellt an Roboter 2.1!" & vbCrLf & vbCrLf & vbCrLf & "Beachten Sie dass Sie die Dir-Datei noch benennen müssen für die erstellten Datenbanken!", MsgBoxStyle.Information, "Info")
    11. End If


    sichergestellt das txterstellenvon und bis nur integer sind habe ich gelöst dass man dort nur Zahlen eintragen kann.

    Code:

    VB.NET-Quellcode

    1. Private Sub txterstellenvon_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txterstellenvon.KeyPress
    2. Select Case Asc(e.KeyChar)
    3. Case 48 To 57, 8, 32
    4. ' Zahlen, Backspace und Space zulassen
    5. Case Else
    6. ' alle anderen Eingaben unterdrücken
    7. e.Handled = True
    8. End Select
    9. End Sub



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

    Gottric schrieb:

    Hier der Code für mein Problem:
    Was ist denn nun das Problem?
    Ich versteh das nicht.
    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!