vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Erstellen von dynamischen Kontextmen?s - wann immer Sie sie brauchen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Anzahl der Teile in einer Textdatei ermitteln 
Autor: Michael1111
Datum: 24.12.19 20:38

Hallo zusammen

zunächst einmal an alle ein frohes und gesegnetes Weihnachtsfest und ruhige und entspannte Feiertage.

Vielleicht kann mir jemand bei folgendem Problem helfen (VB2015) :

Wie ermittel ich die Anzahl einzelner Elemente (durch Komma getrennt) in einer Textdatei

Name der Textdatei : namen.txt (Pfad = C:\TN )

Ich möchte die Anzahl der durch Komma getrennten Teile (parts) in der Variable anzcc haben

Komme bei diesem Problem nicht weiter und wäre für jede Hilfe sehr dankbar

(wie gesagt, es geht NICHT um die Anzahl der Zeichen, sondern um die Anzahl der Namen (jeweils durch
ein Komma getrennt)
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Anzahl der Teile in einer Textdatei ermitteln 
Autor: Wobi
Datum: 25.12.19 02:19

Hallo,
dir und allen anderen Mitlesern auch frohe Feiertage.

Du musst zuerst eine Zeile aus deiner Textdatei einlesen und dann siehe hier:
https://www.vbarchiv.net/tipps/details.php?id=1398

Für den Delimiter (Trennzeichen) musst du das Komme nehmen.

Gruß
Frank
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Anzahl der Teile in einer Textdatei ermitteln 
Autor: Manfred X
Datum: 25.12.19 09:32

Hallo!

Zunächst stellt sich die Frage, was in der Textdatei zwischen den Kommatas eingetragen ist.
Sind alle Elemente gültig oder gibt es leere Einträge, WhiteChar-Zeichenfolgen oder "illegale
Zeichenfolgen", die nicht gezählt werden sollen?
Zu klären wäre auch, ob die Textdatei Zeilenumbrüche enthält (vbCrLf) oder
ob harte/weiche Trennzeichen, Tabs oder andere Sonderzeichen eingetragen sind.

Wobi hat bereits auf die Split-Methode verwiesen, die einen möglichen Beitrag zur Ermittlung
der Felder (?) leisten kann. Man könnte auch die Zahl der Kommata bzw. der sonstigen (Feld-)
Trennzeichen einfach in einer Schleife ermitteln.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Anzahl der Teile in einer Textdatei ermitteln 
Autor: Michael1111
Datum: 25.12.19 16:45

Oh mein Gott, was habe ich da nur angerichtet - und ich dachte, das würde irgendwie einfach gehen. Habe auch noch mal in die Textdatei geschaut und festgestellt, dass das Trennzeichen kein Komma, sondern ein Semikolon ist.

Bisher stehen alle Namen schön hintereinander (zur Zeit sind es 17 - aber ich weiß nicht wie es aussieht, wenn es 30 sind >>> mehr als 30 werden es aber nie !)

Der Inhalt der Textdatei sieht wie folgt aus :

Monika Mustermann;Michael Mustermann;Erika Mustermann;Paulo Mustermann usw.

Zerlegung der Teile :

If IO.File.Exists("C:\TN\namen.txt") Then

Dim enc As New System.Text.UTF8Encoding

Dim contents2 As String = IO.File.ReadAllText("C:\TN\namen.txt", enc)

'Zeichenfolge zerlegen in Variablenabschnitte
Dim parts() As String = contents2.Split(";"c)



Sonstige Hinweise : Es gibt keine Leereinträge und auch keine Tabstopps oder sonstige Sonderzeichen

Beitrag wurde zuletzt am 25.12.19 um 16:54:35 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Anzahl der Teile in einer Textdatei ermitteln 
Autor: effeff
Datum: 25.12.19 21:07

Zum Verständnis: Da drin in der Textdatei ist genau eine Zeile, die bis zu 30 Einträge beinhalten kann, welche dann immer per Semikolon getrennt sind?

Dazu reicht ein StreamReader, der eine einzige Textzeile in eine Variable einliest, welche Du dann mittels Split und dem Semikolon als Trennzeichen aufsplittest.

EALA FREYA FRESENA

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Anzahl der Teile in einer Textdatei ermitteln 
Autor: Michael1111
Datum: 25.12.19 22:04

Schon richtig verstanden, allerdings wäre ein konkretes Beispiel nett, da ich nur hobbymäßig programmiere und mit den allgemeinen Angaben wenig anfangen kann ...
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Anzahl der Teile in einer Textdatei ermitteln 
Autor: effeff
Datum: 26.12.19 12:10

Hier ist ein Beispiel, welches Du ganz einfach nachbauen kannst:

Public Class Form1
 
    'Hier ist ein Beispiel, um die Anzahl der Elemente eines Array auszugeben 
    ' und zu zählen.
    'Auf einer Form befinden sich ein Button namens "btnOK", eine ListBox 
    ' namens "lblNamen" und ein Label namens "lblAnzahl":
 
    Private Sub btnOK_Click(sender As Object, e As EventArgs) Handles _
      btnOK.Click
 
        'Den vollen Dateinamen incl. Pfad in eine Variable laden
        Dim MeineDatei As String = "e:\Testdaten\namen.txt"
 
        'Ein StreamReader-Objekt erstellen und es die Textdatei öffnen lassen
        Dim sr As New System.IO.StreamReader(MeineDatei)
 
        'Nur eine einzige Zeile, nämlich die erste, als Ganzes in eine 
        ' Stringvariable einlesen
        Dim Zeile As String = sr.ReadLine
 
        'Das StreamReader-Objekt schließen
        sr.Close()
 
        'Ein Array erstellen aus dem Inhalt der String-Variablen "Zeile". Das 
        ' Trennzeichen ist das Semikolon
        Dim Namen() As String = Zeile.Split(";")
 
        'Aus der Anzahl der Array-Elemente ergibt sich die Anzahl der Namen
        Dim Anzahl As Integer = Namen.Count
 
        'Hier ist auf der Form ein Label namens "lblAnzahl". Dort wird 
        ' ausgegeben, wieviel Namen, also Array-Elemente, ermittelt wurden
        lblAnzahl.Text = "Anzahl: " & Anzahl
 
        'Die einzelnen Namen sollen nun noch ausgegeben werden. Dazu 
        ' initialisieren wir eine Integer-Variable
        Dim i As Integer = 0
 
        'Wir iterieren durch das Array "Namen" durch. Da das Array nullbasiert 
        ' ist, also das erste Element "Namen(0)" heißt, müssen wir von der 
        ' Anzahl eins abziehen.
        'Das Ergebnis, also den Inhalt des jeweiligen Array-Bereiches, 
        ' schreiben wir in eine ListBox namens "lblNamen" hinein.
        For i = 0 To Anzahl - 1
            lbNamen.Items.Add(Namen(i))
        Next
 
    End Sub
End Class

EALA FREYA FRESENA

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Anzahl der Teile in einer Textdatei ermitteln 
Autor: Michael1111
Datum: 26.12.19 12:23

Hallo

und vielen vielen Dank - yep, damit komme ich klar und kann es für mich anpassen. Super.

Hast mir toll weitergeholfen.

Nochmals Danke und noch einen schönen 2. Feiertag
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel