VisualBasic Textdatei möglichst ideal auslesen mit VB.Net

schmidmi

Lt. Commander
Registriert
Feb. 2007
Beiträge
1.823
Ich möchte eine Textdatei auslesen. Dazu habe ich auch das Beispiel angehängt. Meine Dateien sehen genauso aus nur das sie bis zu 10 MB groß sind.
Diese möchte ich entweder in eine DB oder in eine xml-Datei schreiben. Das entscheide ich wenn ich die Performance getestet habe. Das einfügen der einzelnen Werte in eine xml oder DB stellt auch kein Problem dar.

Aber wie lese ich möglichst schnell die einzelnen Werte aus der txt aus?

Bisher nehme ich einen Textreader.
Zunächst suche ich nach dem ersten Wert der POS enthält, zerlege den String bis zur Stelle 10 und schreibe diesen Wert in den ersten Tag der xml.
Das mache ich bis **Name kommt. Jetzt würde ich anfangen und den Wert "POS1_21561" in den bisherigen Tags zu suchen und die entsprechenden Tags darunter zu hängen. Das Ganze nochmal für Inhalt.

Nur leider ist diese Methode extrem langsam.

Geht es schneller?


PS: Die Textdatei ist wirklich repräsentativ. Es ist also gewollt dass POS teilweise eine 1 vor dem _ oder ein- statt einem _ enthält. Es kann auch vorkommen, dass Buchstaben enthalten sind.
Das D vor dem Namen ist auch immer vorhanden.
Die Nummern bei Inhalt stellen die Zeilennummern dar.
 

Anhänge

Zuletzt bearbeitet:
Danke für die Tipps.
Kannst du mir auch Nachteile von VB aufzählen?
 
Also kurz gesagt ist VisualBasic an sich schon tot, der Support seitens Microsoft wurde vor längerem eingestellt. Die Syntax von VB lebt zwar in VB.NET weiter, wurde aber eher mitgenommen um umsteigern .NET schmackhaft zu machen. Es wird aber auch in ferner Zukunft wohl keine andere Programmiersprache mehr wichtig werden, welche eine ähnliche Syntax wie VB hat.

Technisch gesehen kann man zwar mit VB das .NET Framework mehr oder weniger gleichwertig bedienen, hat aber keinerlei Vorteile davon. Lediglich das erlernen der Syntax fällt Anfängern meistens leichter, dies ist aber nur ein winziger Teil des "Programmieren lernens".

Auf der anderen Seite kriegt man eben mit VB.NET doch manchmal schwierigkeiten in .NET, da es im ggs zu c# nicht 100% dem Standard entspricht (zb Typsicherheit). Auch der erleichterte umstieg von .NET auf Java entfällt, da VB im ggs zu c# eben eine sehr exotische Syntax bietet.

Kurz gesagt:
VB ist leichter beim einstieg, vor allem anfängerproblemchen lassen sich so schneller lösen. Dafür ist es nicht 100% .NET Standard und Syntaktisch eine Einbahnstraße, bei umfangreicheren Projekten erhöht sich der Tippoverhead.

C# ist eine vollwertige Sprache, syntaktisch stark an Java und C angelegt, der Umstieg auf andere Sprachen fällt leichter, im echten Berufsleben hilft dir eine einzige Programmiersprache meist eh nicht viel.
C# ist ordentlicher, es wird also weniger geschlampt, nur um es Anfängern leichter zu machen. Irgendwann muss man es eh richtig lernen. C# oder Derivate davon (Spec#, Sing#) werden z.B. auch wirklich von MS benutzt, schönstes beispiel ist das experimentelle, objektorienterte open-source-Betriebssystem Singularity von MS. Tutorials sind tendenziell eher in C# als in VB.
MS geht auch beim Scripting in Office weg von VBA zu .NET.

Trotzdem ist VB.NET recht beliebt, vor allem bei Hobbyprogrammierern. Egal für was du dich entscheidest, ein guter Anlaufpunkt bei Problemen (eher als CB) wäre z.B. entwicklergemein.de, für erfahrerene User ist mycsharp.de interessanter.

Übrigens dürfte es nicht so schwer sein, leute zu finden die genau in die andere richtung argumentieren, mal sehen ob noch jemand mitspielt.
 
Zuletzt bearbeitet:
@link

naja tot verstehe ich was anderes.

den "schlechten" visual basic ruf bekommt vb.net wohl nie los.

im endeffekt ist mittlerweile fast nur noch geschmackssache.

gruß
 
Zuletzt bearbeitet:
Also kurz gesagt ist VisualBasic an sich schon tot, der Support seitens Microsoft wurde vor längerem eingestellt. Die Syntax von VB lebt zwar in VB.NET weiter, wurde aber eher mitgenommen um umsteigern .NET schmackhaft zu machen.

vb != vb.net, außerdem gibt es einige aspekte die gegen vb.net sprechen, jedoch nur sehr wenige dafür. außer es fallen dir ein paar gute gründe ein :)
 
Ms hat ein höheres Interesse an VB als an C++, da sie die Rechte an der VB Syntax besitzen. MS wird auf Dauer versuchen VB so weit aufzurüsten, das es C++ verdrängen kann. Alles andere ist Konzernpolitisch unsinnig.
mfg Verata
 
Zurück
Oben