MS-Office-Forum


Google
   

Zurück   MS-Office-Forum > Microsoft Visual Studio /.NET > Visual Basic für Windows (alle Versionen bis 6.0)
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads Der Renner, 11 Entwicklertools für Access, Tipps & Trick und offene Datenbanken zum einzigartigen Preis.
Themen-Optionen Ansicht
Alt 10.03.2010, 14:48   #1
Ali3n
Neuer Benutzer
Neuer Benutzer
Standard Sonstiges - FSO, Zeilensprung bei WriteLine verhindern

Hallo zusammen,
ich lese per VBS aus dem Active Directory Daten aus und schreibe sie in eine Textdatei. Jetzt kann es sein, dass in den Werten ein Zeilensprung drin ist oder "\n" dabei ist. Beides wird dann in der Textdatei als Zeilensprung angezeigt.

Wie kann ich sicherstellen, dass ich diese "ungewollten" Zeilenumbrüche dann nicht im Textfile habe?
Der unsichtbare Zeilensprung kann ruhig rausfliegen. Das müsste denke ich problemlos mit der Replace-Funktion möglich sein. Aber das Vorkommen von "\n" kann ich nicht einfach ersetzen. Das muss auch so im Textfile stehen.

Vielleiche hat jemand einen heißen Tipp.

Danke im Voraus.
Grüße
Ali3n
Ali3n ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 10.03.2010, 16:31   #2
immelmann
MOF Koryphäe
MOF Koryphäe
Standard

sieh Dir mal das an; vielleicht hilft es mit der Idee weiter.
http://www.vbarchiv.net/tipps/details.php?id=128

__________________

Gruss Torsten

WinXP SP3, OXP SP3, OXP Dev, VB6 Pro SP6, VB2005 SP1
immelmann ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 11.03.2010, 06:44   #3
Ali3n
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Danke für den Tipp. Hilft schon mal.

Wie ich mit dem String "\n" umgehe weiß ich aber immer noch nicht. Der soll ja in der Textdatei später auch wirklich drin stehen, und zwar nicht kodiert.

Dazu noch jemand einen Tipp.
Ali3n ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 11.03.2010, 13:02   #4
immelmann
MOF Koryphäe
MOF Koryphäe
Standard

"\n" soll erhalten bleiben, aber nicht kodiert???
oder soll an dieser Stelle ein Zeilenvorschub erfolgen mittels nichtdruckbaren Zeichen, also Chr(10); dann geht es mit Replace.
Chr(10) = vbLf = Zeilenvorschub
Chr(13) = vbCr = Wagenrücklauf
vbCrLf = Chr(13) + Chr(10)

__________________

Gruss Torsten

WinXP SP3, OXP SP3, OXP Dev, VB6 Pro SP6, VB2005 SP1
immelmann ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 16.03.2010, 06:06   #5
Ali3n
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

[quote=immelmann;1291487]"\n" soll erhalten bleiben, aber nicht kodiert???

yepp. "\n" soll als Klartext im Textfile erhalten bleiben. Hast Du dafür eine Idee?
Ali3n ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 16.03.2010, 15:19   #6
immelmann
MOF Koryphäe
MOF Koryphäe
Standard

Zitat:

"\n" soll als Klartext im Textfile erhalten bleiben

... dann lass es doch als Klartext stehen

__________________

Gruss Torsten

WinXP SP3, OXP SP3, OXP Dev, VB6 Pro SP6, VB2005 SP1
immelmann ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 17.03.2010, 06:46   #7
Ali3n
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Zitat: von immelmann Beitrag anzeigen

... dann lass es doch als Klartext stehen

sorry, anscheindend bin ich zu dämlich das zu verstehen oder drücke ich mich nicht richtig aus.

Ich lese aus dem AD per LDAP einige Daten aus. In einem Attribut steht z.B. der UNC-Pfad drin. Da kann es jetzt natürlich sein, dass "\n" in diesem String vorkommt. Die Daten die ich auslese schreibe ich mit WriteLine über die FileSystemObject-Methoden in ein Textfile. Das Problem ist einfach, dass beim Öffnen des Textfiles z.B. UltraEdit, Zeilenumbrüche zumindest angezeigt werden. Wenn ich das Textfile dann wieder mit FSO einlese habe ich doch in manchen Zeilen unvollständige Daten.
Ich hoffe jetzt wird es etwas einleutender. *duck*

Danke Ali3n
Ali3n ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 17.03.2010, 14:35   #8
immelmann
MOF Koryphäe
MOF Koryphäe
Standard

OK.
Ich gehe mal davon aus, dass Du die Daten über ein recordset ausliest. Somit ist dann jeder Datensatz, also Attribut, eine Zeile.
Diese hat einen Zeilenumbruch.
Das ist das letzte Zeichen im String.
Demzufolge musst Du beim erneuten Einlesen das letzte Zeichen im String als Zeilenumbruch auswerten.
Somit ist sichergestellt, dass in "\\meinServer\Pfad1\neuerOrder\Archiv" das '\n' (neuerOrdner) nicht als Umbruch interpretiert wird.

__________________

Gruss Torsten

WinXP SP3, OXP SP3, OXP Dev, VB6 Pro SP6, VB2005 SP1
immelmann ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 18.03.2010, 12:44   #9
Ali3n
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Zitat: von immelmann Beitrag anzeigen

OK.
Ich gehe mal davon aus, dass Du die Daten über ein recordset ausliest. Somit ist dann jeder Datensatz, also Attribut, eine Zeile.
Diese hat einen Zeilenumbruch.
Das ist das letzte Zeichen im String.
Demzufolge musst Du beim erneuten Einlesen das letzte Zeichen im String als Zeilenumbruch auswerten.
Somit ist sichergestellt, dass in "\\meinServer\Pfad1\neuerOrder\Archiv" das '\n' (neuerOrdner) nicht als Umbruch interpretiert wird.

Ein recordset nehme ich bisher nicht, weil ich es nicht zwingend brauche. Dachte ich zumindest.

Hier mal mein Code:
Ich nehme jeden User in einer OU und schreibe die Gruppenmitgliedschaften in eine Textdatei. Zusätzlich hole ich mir noch die Beschreibung der Gruppe. Mehr nichts.

Code:

For Each oUser In container
    strGroup = oUser.MemberOf
    For j = 0 To UBound(strGroup)
        Set objGroup = GetObject("LDAP://" & strGroup(j))
        strZeile = objGroup.sAMAccountName & ";" & oUser.sAMAccountName & ";" & objGroup.Description
        tsOutput.WriteLine strZeile
        strZeile = Nothing
        Set objGroup = Nothing
    Next	
Next
Dann steht in strZeile z.B. folgendes drin:
UserAB;Gruppe1;\\nxyakdjf\neuerOrdner

Beim tsOutput.Writeline wird strZeile weggeschrieben. Wenn ich jetzt mit UltraEdit die Datei aufmache habe ich drei Zeilen drin, weil zwei mal "\n" drin vorkommt. Wie kann ich das verhindern?

Wenn ich es jetzt nicht rübergebracht habe, was ich will, dann geb ich auf. *duck*

Danke und Grüße
Ali3n
Ali3n ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 22.03.2010, 13:42   #10
immelmann
MOF Koryphäe
MOF Koryphäe
Standard

Hast Du mal die Datei mt einem anderen Editor als UltraEdit geöffnet?
Solche Editoren haben selbst im "Betrachten"modus etliche Optionen zur komfortableren Anzeige.

PS: ist mir selbst neulich passiert, als ich eine html-Datei mti dem TotalComander betrachet habe und mich wunderte, warum das kein echtes html ist. Tja, in den Optionen war ein Häkchen bei "Tags entfernen"...

__________________

Gruss Torsten

WinXP SP3, OXP SP3, OXP Dev, VB6 Pro SP6, VB2005 SP1
immelmann ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen erlaubt, neue Themen zu verfassen.
Es ist Ihnen erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:02 Uhr.


Partner und Co.
Access-Paradies -Alles rund um die Datenbank Microsoft Access -Code -Programme-Tools -Tipps   Kostenlose Tipps & Tricks, Downloads und Programme   www.kulpa-online.com - Tipps - Tricks - Tutorials - Meinungen - Downloads uvm...   vb@rchiv · Willkommen in der Welt der VB Programmierung   Access-Home - Hier finden Sie jede Menge Beispiel-Datenbanken zu Access und mehr ...   mcseboard.de   Die Top Seite für Excel-VBA-Makros uvm.

Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.

Copyright ©2000-2010 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günther Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.
Beachten Sie bitte auch unsere Nutzungsbedingungen.