Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Text Datei Splitten

Frage Entwicklung VB for Applications

Mitglied: Praktikantin

Praktikantin (Level 1) - Jetzt verbinden

15.12.2008, aktualisiert 17.12.2008, 5004 Aufrufe, 3 Kommentare

Visual Basic oder Script erstellen.

Hallo liebe Community,

ich habe diese Textdatei:

11#999842977#999842977#0#ΥΤΔΑ#ΥΤΔΑ00020476#20080103#200801031234567890123#20#83.10#7.48#90.58#30.00#11#1#001-0006#5204564000079#Prod_dec1#14.00#Stueck#Stueck##2#1.00#0#2.00#0.00#0.00#38.78#9.00#3.49#42,27
11#999842977#999842977#0#ΥΤΔΑ#ΥΤΔΑ00020476#20080103#200801031234567890123#20#83.10#7.48#90.58#30.00#11#2#001-0011#5204564000161#Prod_dec2#16.00#Stueck#Stueck##2#1.00#0#2.00#0.00#0.00#44.32#9.00#3.99#48,31


Wie ihr alle sehen könnt is es eine Bestellung. Das Problem ist dass ich diese Datei splitten muss um 2 Dateien zu bekommen (Header und Details). Die erste Datei soll diesen inhalt haben:

Header

11#999842977#999842977#0#ΥΤΔΑ#ΥΤΔΑ00020476#20080103#200801031234567890123#20#83.10#7.48#90.58#30.00

die zweite dann

Lines
11#1#001-0006#5204564000079#Prod_dec1#14.00#Stueck#Stueck##2#1.00#0#2.00#0.00#0.00#38.78#9.00#3.49#42,27
11#2#001-0011#5204564000161#Prod_dec2#16.00#Stueck#Stueck##2#1.00#0#2.00#0.00#0.00#44.32#9.00#3.99#48,31

Die 11 ist die Referrence number die zeigt dass detail und header zusammen gehören (wie ein Schlüssel) und die Zahl dannach ist die Line number. 11#1# 11#2#
Diese # Zeichen sind immer so viele, die Datei hat also immer dieses Format. Was soll ich denn hier machen? Die Hash's zählen und es dann so trennen? Und wie soll ich es machen dass der Header nicht immer wieder wiederholt wird? Bitte hilft mir!!! Ich habe gar keine Ahnung!!! Weiß auch nicht wo ich so etwas ähnliches finden kann...

Danke im voraus
Julia
Mitglied: bastla
15.12.2008 um 20:52 Uhr
Hallo Praktikantin!
Die Hash's zählen und es dann so trennen?
Zählen ja, aber selbst und nur einmal (damit die Anzahl der Felder für den Header bekannt ist - ich komme auf 17 Felder); für's Trennen gibt es "Split()" ...

Aussehen könnte das dann etwa so:
01.
FileIn =         "D:\Bestellung.txt" 
02.
FileOutHeader =  "D:\Header.txt" 
03.
FileOutDetail =  "D:\Detail.txt" 
04.
 
05.
NoFieldsHeader = 17  'Feldanzahl für Header 
06.
Delim =          "#" 'Trennzeichen 
07.
 
08.
Set fso = CreateObject("Scripting.FileSystemObject") 
09.
Set HeaderFile = fso.CreateTextFile(FileOutHeader, True) 
10.
Set DetailFile = fso.CreateTextFile(FileOutDetail, True) 
11.
 
12.
Lines = Split(fso.OpenTextFile(FileIn).ReadAll, vbCrLF) 'gesamten Text zeilenweise in Array einlesen 
13.
 
14.
For i = 0 To UBound(Lines)              'Alle Textzeilen durchgehen 
15.
    If Trim(Lines(i)) <> "" Then        'Soferne die Zeile nicht leer ist ... 
16.
        Fields = Split(Lines(i), Delim) '... in Felder aufteilen, ... 
17.
        Header = Fields(0)              '... erstes Feld in Variable schreiben (löscht damit alten Inhalt) ... 
18.
        For j = 1 To NoFieldsHeader-1   '... und die restlichen Felder ... 
19.
            Header = Header & Delim & Fields(j) '... jeweils nach einem Trennzeichen hinzufügen, ... 
20.
        Next                            '... sodass der Header inkl Tennzeichen zusammengesetzt wird 
21.
        If Header <> LastHeader Then    'Nur einen neuen Header ... 
22.
            HeaderFile.WriteLine Header '... schreiben ... 
23.
            LastHeader = Header         '... und merken 
24.
        End If 
25.
        DetailFile.WriteLine Mid(Lines(i), Len(Header) + 2) 'In der Originalzeile beginnt der Detailbereich an der 2. Stelle nach dem Header 
26.
    End If 
27.
Next 
28.
DetailFile.Close 
29.
HeaderFile.Close
Grüße
bastla
Bitte warten ..
Mitglied: Praktikantin
15.12.2008 um 21:38 Uhr
Vielen lieben Dank!!!! Wow, was für eine Schnelle Antwort!!!! So etwas könnte ich mir nie und nimmer selbst ausdenken und so schnell!!! Ich kann Dir wirklich nicht genug danken!!!!!! Noch einmal vielen, vielen Dank!!!!!!!!!!!!!!!!!!
Bitte warten ..
Mitglied: kruder77
17.12.2008 um 14:45 Uhr
Da es sich um strukturierte Text Dateien handelt, würde ich
den TextFileParser einsetzen...

--> Microsoft.VisualBasic.FileIO.TextFieldParser

Grüße
Kruder
Bitte warten ..
Ähnliche Inhalte
XML
XML Datei mit Powershell splitten
gelöst Frage von LianenSchwingerXML2 Kommentare

Hallo, ich habe eine riesige Exportdatei im XML-Format die ich nicht weiterverarbeiten kann. Der Aufbau ist wie folgt: Ich ...

Batch & Shell
Text Datei in csv-Datei umwandeln
gelöst Frage von Haru777999Batch & Shell2 Kommentare

Hallo zusammen Am liebsten hätte ich den "Biber (Level 5 oder jetzt noch höher?)" für meine Frage. Hallo Biber! ...

VB for Applications
csv Dateien als Text importieren
gelöst Frage von BacchidaVB for Applications7 Kommentare

Hallo :) ich habe ein Makro geschrieben, das .csv Dateien importiert. Nun habe ich folgendes Problem: In den importierten ...

Batch & Shell
Auslesen einer Datei mit einem Anführungszeichen im Text
Frage von c20082005Batch & Shell1 Kommentar

Hallo zusammen, ich habe ein Problem, das ich auch nach einiger Recherche im Internet nicht gelöst bekomme: Ich habe ...

Neue Wissensbeiträge
Windows 10

Windows 10 Fall Creators Update - Neue Funktion Hyper-V Standardswitch kann ggf. Fehler bei Proxy Configs verursachen

Erfahrungsbericht von rzlbrnft vor 4 StundenWindows 101 Kommentar

Hallo Kollegen, Da wir die Gefahr lieben, haben wir bei einigen Usern nun mittlerweile das Creators Update drauf. Einige ...

Sicherheit

TLS-Zertifikat und privater Schlüssel von Microsofts Dynamics 365 geleakt

Information von Penny.Cilin vor 6 StundenSicherheit

Microsoft hat versehentlich das TLS-Zertifikat inklusive dem privaten Schlüssel seiner Business-Anwendung Dynamics 365 geleakt. TLS-Zertifikat und privater Schlüssel von ...

Viren und Trojaner

Deaktivierter Keylogger in HP Notebooks entdeckt

Information von bitcoin vor 1 TagViren und Trojaner2 Kommentare

Ein Grund mehr warum man Vorinstallationen der Hersteller immer blank bügeln sollte Der deaktivierte Keylogger findet sich im vorinstallierten ...

Router & Routing

Lets Encrypt kommt auf die FritzBox

Information von bitcoin vor 1 TagRouter & Routing

In der neuesten Labor-Version der FB7490 integriert AVM unter anderem einen Let's Encrypt Client für Zugriffe auf das Webinterface ...

Heiß diskutierte Inhalte
Netzwerkmanagement
Firefox Profieles im Roaming
gelöst Frage von Hendrik2586Netzwerkmanagement17 Kommentare

Hallo liebe Leute. :) Ich hab da ein kleines Problem, welches anscheinend nicht unbekannt ist. Wir nutzen hier in ...

LAN, WAN, Wireless
Brainstorming, einfachste Option 1 getrenntes LAN (mit WAN zugang)
Frage von 132954LAN, WAN, Wireless13 Kommentare

Hi, folgendes: Wir bekommen eine Glasfaser Leitung, Und das sollte Optional so aussehen: Ein Modem/Router für das WAN, ein ...

Batch & Shell
Trusted Sites für alle User auf dem PC einpflegen
Frage von xXTaKuZaXxBatch & Shell12 Kommentare

Aufgabestellung: Es sollen auf 1 PC (bzw. mehreren PCs) vertrauenswürdige Sites per Powershell eingetragen werden, die für alle User ...

Netzwerkgrundlagen
Hi eine blöde frage. xD
Frage von 132954Netzwerkgrundlagen12 Kommentare

Also: Habe 2012 r2 essentials neuinstalliert, allerdings installiert diese version ja gleich diesen gangen AD kram mit, den hab ...