Autor Beitrag
colaka
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 200
Erhaltene Danke: 4

Win XP, W7
Delphi 2005 Prof.
BeitragVerfasst: So 04.01.09 19:38 
Hallo,

ich erhalte von meinen Lieferanten Preislisten als Textdateien, die ich in Tabellen einlese. Bisher hatte ich nur Dateien, bei denen die einzelnen Spalten durch ein Semikolon getrennt waren. Da war es nicht schwer, die einzelnen Zeilen in Stücken bis zum Semikolon in die einzelnen Datenbankfelder zu übertragen.
Doch jetzt versuche ich eine Preisliste ohne Trennzeichen einzulesen, so wie die folgende:

ausblenden Quelltext
1:
2:
3:
4:
Hersteller_Artikelnummer  Info4  Artikelnummer  Bezeichnung  Obergruppe_S1  Obergruppe_S2  Warengruppe_S1  Warengruppe_S2  Verpackungseinheit  Lagermenge  Verfügbarkeit  Status_Typ  Preis  UST_Typ  Länge  Breite  Höhe  Info3  ArtikelText_S1  Nettogewicht  Bruttogewicht  Bildurl  EAN  ArtikelBez_S3
133313  Equip  ADA0000334  Kab USB 1.1 Parallel Adapter für PC / equip  Kabel+Adapter  Cable+Adapter  Adapter USB  Adapter USB  40  78  0  0  5,67  0  0,117  0,283  0,027  http://www.equip-info.net/german/index.php?main=0&suche=133313&prod=1011&suche=133313  Key Features:• Konverter verbinden PCs (USB Schnittstelle) mit Peripheriegeräten ohne USB-Schnittstelle• Unterstützt Windows 98SE, ME, 2000, XP, Vista• Inkl. Setup CD• Verpackung: equip Blister • USB 1.1 Konverter A Stecker > IEEE-1284 Stecker parallel  0,1127  0,155  http://www.bcom.de/images/productshotspreisliste/173x218/A58588.jpg  4015867579862  Kabel USB 1.1 Parallel Adapter für PC
DA-70118  Digitus  ADA0002144  Kab USB 1.1 Digitus USB>PS-2 Adapter DA-70118  Kabel+Adapter  Cable+Adapter  Adapter USB  Adapter USB  80  68  0  0  2,40  0  0,216  0,1  0,024  http://www.digitus.info/de/produkte/zubehoer/?c=1216&p=3510  Ultra kompaktes Adapterkabel • USB 1.1 und APM 1.2 kompatibel • 2 x Mini DIN 6-pin Buchse für Maus und Tastatur  0,0441  0,061  http://www.bcom.de/images/productshotspreisliste/173x218/A59421.jpg  4016032117933  Kabel USB 1.1 USB>PS-2 Adapter DA-70118
DA-70146  Digitus  ADA0003892  Kab USB 2.0 Digitus Seriell Adapter DA-70146  Kabel+Adapter  Cable+Adapter  Adapter USB  Adapter USB  40  152  0  0  5,81  0  0,091  0,136  0,052  http://www.digitus.info/de/produkte/zubehoer/?c=1216&p=3530  • Entspricht dem USB 2.0 (USB 1.1) Standard • Unterstützt RS 232 serial Interface • Maximale Datentransferrate von über 1Mbps • Einsetzbar für PDA und Modems • USB Verlängerungskabel wird mitgeliefert ca. 80cm lang • Unterstützung für folgende Betriebssysteme: Windows 98SE/2000/XP/Vista/Linux und MAC OS V8.6 • Chipsatz: FTDI / FT232BM  0,0707  0,098  http://www.bcom.de/images/productshotspreisliste/173x218/A60334.jpg  4016032170426  Kabel USB 2.0 Seriell Adapter DA-70146


Leider komme ich damit auf keinen grünen Zweig, weil ich ja schlecht ein Leerzeichen (oder auch 2) als Trenner verwenden kann, weil im Beschreibungstext auch Leerzeichen enthalten sind.

Hat hier vielleicht jemand eine Idee?

Danke Ebi
haentschman
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 285
Erhaltene Danke: 33


DX10 Berlin Professional
BeitragVerfasst: So 04.01.09 19:49 
hmmm...ohne mich festnageln zu lassen. 8)

Ich glaube da hast du wenig Chancen. Du hast es ja schon richtig gesagt...wo ist die Trennung zwischen den Datensätzen.
Ich würde mal beim Lieferanten der Datei "nachhaken :motz:" wer diesen Unsinn verzapft und eine andere Version anfordern.

:wave:
MSCH
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1448
Erhaltene Danke: 3

W7 64
XE2, SQL, DevExpress, DevArt, Oracle, SQLServer
BeitragVerfasst: So 04.01.09 20:40 
tse tse ich würd dem lieferanten das zeug um die Ohren hauen :-)
Wie wäre es mit XML?
Flat files sind zwar einfach aber i.d.R. normalisiert.
*grübel*
grez
msch

_________________
ist das politisch, wenn ich linksdrehenden Joghurt haben möchte?
pesi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 67
Erhaltene Danke: 1



BeitragVerfasst: Mo 05.01.09 13:01 
Titel: Wirklich Leerzeichen als Trennzeichen???
Also ich kann nicht so recht glauben, dass es wirklich Leerzeichen sind, die die einzelnen Felder trennen.
Ich würde ja darauf tippen, dass es TABs sind die dazwischen sind. Hast Du das mal im Texteditor überprüft?
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mo 05.01.09 13:50 
user profile iconcolaka hat folgendes geschrieben Zum zitierten Posting springen:
Leider komme ich damit auf keinen grünen Zweig, weil ich ja schlecht ein Leerzeichen (oder auch 2) als Trenner verwenden kann, weil im Beschreibungstext auch Leerzeichen enthalten sind.
Es sind aber nur zwei Leerzeichen hintereinander zwischen den Spalten. Sonst würden es ja nicht jeweils 23 doppelte Leerzeichen zwischen den Überschriften und in jeder Zeile sein.

Also versuch es doch einfach mal mit zwei Leerzeichen als Trennzeichen.
MSCH
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1448
Erhaltene Danke: 3

W7 64
XE2, SQL, DevExpress, DevArt, Oracle, SQLServer
BeitragVerfasst: Mo 05.01.09 18:49 
user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
Also versuch es doch einfach mal mit zwei Leerzeichen als Trennzeichen.

*ROFL*
bis ein Trollo mehr als ein Leerzeichen in dem Text begräbt. Viel Spass bei der Suche.
Das ist Software von vor-vor-vorgestern.
:-)Msch

Moderiert von user profile iconNarses: Zitat repariert

_________________
ist das politisch, wenn ich linksdrehenden Joghurt haben möchte?
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mo 05.01.09 19:35 
Natürlich ist das keine gute Lösung, aber ohne andere Daten ist es die einzige...

Abgesehen davon verrutschen dann bei dem entsprechenden Eintrag "nur" die Spalten, wenn es wirklich mal vorkommen sollte. Aber wenn das als Trennzeichen benutzt wird, kann man zumindest erstmal hoffen, dass das verhindert wird.

Aber eine andere Lösung (außer sinnvoll formatierte Daten anzufordern) gibt es eben nicht.
MSCH
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1448
Erhaltene Danke: 3

W7 64
XE2, SQL, DevExpress, DevArt, Oracle, SQLServer
BeitragVerfasst: Mo 05.01.09 19:43 
Dann bau wenigstens eine Prüfung rein.
alles mit#32#32 durch | ersetzen und dann schauen,ob die Anzahl der so erzeugten "Spalten" mit der Anzahl der Spalten der Zieltabelle übereinstimmt.

:-)msch

_________________
ist das politisch, wenn ich linksdrehenden Joghurt haben möchte?