| |
VB.NET - Ein- und UmsteigerAnzahl 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) | |
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 | |
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. | |
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. | |
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 | |
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 ... | |
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 | |
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 | |
| 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 |
|
|
sevGraph (VB/VBA)
Grafische Auswertungen
Präsentieren Sie Ihre Daten mit wenig Aufwand in grafischer Form. sevGraph unterstützt hierbei Balken-, Linien- und Stapel-Diagramme (Stacked Bars), sowie 2D- und 3D-Tortendiagramme und arbeitet vollständig datenbankunabhängig! Weitere InfosTipp des Monats TOP Entwickler-Paket
TOP-Preis!!
Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1605.50 EUR...
Jetzt nur 599,00 EURWeitere Infos
|
|
|
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
|
|