-roTekuGeL- Geschrieben 27. Januar 2003 Geschrieben 27. Januar 2003 Hi Hab folgendes Problem: ich habe eine Textfile in der sich Datensätze befinden die irgendwo mittendrin CR's enthalten (im Editor werden diese Zeichen als so kleine schwarze Kästchen angezeigt) wenn ich das ganze ins Excel lade 'übersetzt' Excel diese Zeichen und macht nen Zeilenumbruch - das zersört mir fast alle Datensätze. Nun wollte ich das Ganze mit VB einlesen die CR's löschen und die file wieder speichern. Nur ist da das Problem das die CR's übersetzt werden wenn ich die File einlese d.h. ich kann die CR's in VB nicht finden/löschen (also das gleiche Prob wie in Excel). Hoffentlich hat jemand von euch ne idee wie ich die CR's da wegbekomm... Gruß |ReDBullet| Zitieren
Gast Geschrieben 27. Januar 2003 Geschrieben 27. Januar 2003 Originally posted by |ReDBullet| ... Nur ist da das Problem das die CR's übersetzt werden wenn ich die File einlese d.h. ich kann die CR's in VB nicht finden/löschen ... Gruß |ReDBullet| Wenn die CR's garnicht angezeigt werden, dann speicher doch die Datensätze so wieder in das Textfile rein. Dann erledigt VB für Dich die Filterarbeit. Sollte ich einen Aspekt nicht berücksichtigt haben, sag bitte bescheid. Zitieren
-roTekuGeL- Geschrieben 27. Januar 2003 Autor Geschrieben 27. Januar 2003 mh super dann hab ich in der Text File statt 'Dies ist ein Datensatz' - ' Dies ist (Zeilenumbruch) ein Datensatz' und das will ich eben net Zitieren
JayN Geschrieben 27. Januar 2003 Geschrieben 27. Januar 2003 Wie versuchst Du es denn zu filtern? (Code) Gruß JayN Zitieren
-roTekuGeL- Geschrieben 27. Januar 2003 Autor Geschrieben 27. Januar 2003 Also ich lese das ganze mit VB ein und innerhalb der einleseprozedur wollte ich halt den string nach dem CR abfragen aber da ist der CR halt schon umgesetzt Zitieren
Gast Geschrieben 27. Januar 2003 Geschrieben 27. Januar 2003 Such Dir doch den ASCII-Code von CR und replace ihn mit "" in dem String. Zitieren
-roTekuGeL- Geschrieben 27. Januar 2003 Autor Geschrieben 27. Januar 2003 Jo klasse, das Problem ist aber wenn ich eine zeile aus der Datei einlese, dann liest der nur bis zum CR, das ist aber schlecht weil es die Datensätze dan in der Mitte trennt. Also wie lese ich weiter als zum CR so das die Datensätze in einer Zeile bleiben??? Zitieren
Gast Geschrieben 27. Januar 2003 Geschrieben 27. Januar 2003 Das Problem ist das Du zwischen den CRs am Ende eines Datensatzes und den CRs innerhalb des Datensatzes unterscheiden musst. Verstehe ich Dich da richtig? Zitieren
-roTekuGeL- Geschrieben 27. Januar 2003 Autor Geschrieben 27. Januar 2003 Der Editor(Win Notepad) zeigt so die Datei an: Daten Daten Daten [sonderzeichen CR] Daten Daten Daten Daten Daten Daten [sonderzeichen CR] Daten Daten Daten Am ende der Zeile ist ein ganz normaler Zeilenumbruch, aber eben die ******* Sonderzeichen in der mitte als Schwarze Box, die aber beim einlesen in VB (oder Excel) durch eine neue zeile ersetzt wird. Hoffentlich hab ichs jetzt besser erklären können Zitieren
JayN Geschrieben 27. Januar 2003 Geschrieben 27. Januar 2003 Ist der CR immer an der gleichen Stelle und in der gleichen Anzahl innerhalb einer Zeile? Dann wäre es ja kein Problem, dann würdest Du halt immer zwei "Zeilen" zu einer zusammenfügen. Gruß JayN Zitieren
-roTekuGeL- Geschrieben 27. Januar 2003 Autor Geschrieben 27. Januar 2003 Die CR's sind an verschiedenen stellen und können auch öffters vorkommen. Ansonsten wärs wirklich kein Problem und ich hätte es nicht hier reingeschrieben. Zitieren
Gast Geschrieben 27. Januar 2003 Geschrieben 27. Januar 2003 Wird ein kompletter Datensatz/zusammengehörende Zeile immer gleich beendet? Wenn ja, dann kannst Du nach diesem Ende suchen und alles bis dahin in einer Zeile ausgeben. Hoffe ich habe das verstanden, was Du meintest. Zitieren
-roTekuGeL- Geschrieben 27. Januar 2003 Autor Geschrieben 27. Januar 2003 Das Problem dabei ist wiederrum nicht jedes Feld muss gefüllt sein auch ist nicht jedes feld gleich lang und wird auch nicht mit nem besonderen zeichen beendet. die einzigste lösung ist also irgendwie den CR in VB zu löschen (aber wie :confused: ). Zitieren
-roTekuGeL- Geschrieben 27. Januar 2003 Autor Geschrieben 27. Januar 2003 ach ähm und nein ein datensatz wird nicht immer gleich beendet Zitieren
Gast Geschrieben 27. Januar 2003 Geschrieben 27. Januar 2003 Also dann kurze Zusammenfassung: 1. Du hast Datensätze in einer Datei 2. Die Datensätze werden von den CRs (als Zeichen, jedoch nicht als tatsächlicher Zeilenumbruch) willkürlich separiert (innerhalb einer Zeile/eines Datensatzes) 3. Die Datensätze weisen keine charakteristischen Merkmale auf Das einzige was mir noch einfallen würde wäre: - Eine Zeile (mit den CRs) in einen String einlesen. - Im String alle Zeichen rausschmeissen, die nicht dahin gehören. (CRs) - Den (CRs-bereinigten)String wieder in die Datei reinschreiben und die alte Zeile (mit den CRs) überschreiben. Zitieren
-roTekuGeL- Geschrieben 27. Januar 2003 Autor Geschrieben 27. Januar 2003 Und das ist genau das was ich schonmal versucht hab aber VB liest eben nur bis zu dem CR ein denn VB macht aus dem CR Sonderzeichen nen zeilenumbruch. Zitieren
Gast Geschrieben 27. Januar 2003 Geschrieben 27. Januar 2003 Dann hast Du IMHO keine Chance, da Du nicht zwischen den notwendigen CRs am Ende des Datensatzes und den bösen CRs inmitten der Datensätze unterscheiden kannst. (Und auch daher, das Du, wie Du beschreibst, in VB nicht die bösen CRs finden/auslesen/beseitigen kannst) </mein_latein> Zitieren
-roTekuGeL- Geschrieben 27. Januar 2003 Autor Geschrieben 27. Januar 2003 mh aber genau desswegen hab ich in dieses Forum geschrieben da vielleicht doch irgendjemand ne idee hat Zitieren
Gast Geschrieben 27. Januar 2003 Geschrieben 27. Januar 2003 Weiss nicht ob es Dir hilft, aber ich bin auf folgendes Phenomän gestossen, wenn Du mal die Textdatei öffnest und sie nicht im Unicodeformat abspeicherst werden die CRs als ? gespeichert. Die müsste man doch normal finden können unter VB, oder? Zitieren
Lord_of_Flames Geschrieben 27. Januar 2003 Geschrieben 27. Januar 2003 jo fragezeichen findet man aber ich bezweifle das des einfach so ersetzt wird Zitieren
eXoCooLd Geschrieben 27. Januar 2003 Geschrieben 27. Januar 2003 Wie wäre die Idee es in VB als Binary zu öffnen, und dann die Datei in ne Variable laden. Darin müsstest du dann die Sonderzeichen durch "" ersetzen können Versuch das mal.... Zitieren
Gast Geschrieben 27. Januar 2003 Geschrieben 27. Januar 2003 Ja, das wird so ersetzt. Hab es bei mir ausprobiert. Zitieren
-roTekuGeL- Geschrieben 27. Januar 2003 Autor Geschrieben 27. Januar 2003 Danke! werd ich mal probieren Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.