Datei als Text- oder Binärdatei erstellen

  • VB.NET
  • .NET (FX) 4.0

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Datei als Text- oder Binärdatei erstellen

    Hallo zusammen,

    mal ein forderndes Problem ;)

    Also ich erstelle mit meinem Tool eine *.ini-Datei mit ganz normalem Text als Inhalt. Diese Datei wird wie folg erstellt:

    VB.NET-Quellcode

    1. Dim Datei As String = SaveFileDialog1.FileName 'mit .ini als Endung
    2. Dim Text As String = RichTextBox1.Text
    3. My.Computer.FileSystem.WriteAllText(Datei, Text, False, System.Text.Encoding.GetEncoding(1252))


    So nun kann diese Textdatei mittels dem bekannten Terminalprogramm "ZOC" als "Textdatei" zu einem bestimmten Gerät gesendet werden. Was nicht klappt ist die Datei als "Binärdatei" zum besagtem Gerät zu senden.

    Erstelle ich nun über Windows (Rechtsklick-->Neu) eine neue Textdatei und kopiere dort den Inhalt meiner bereits erstellten Datei hinein, so kann ich das sowohl als Text- als auch als Binärdatei übertragen!!!

    Jetzt die Frage, habe ich bei der Erstellung der Datei einen Einfluss darauf, ob die Datei als "Text" oder "Binär" "gebrandmarkt" ist?

    Ist ein außergewöhnliches Problem, aber ich hoffe jemand hat eine Idee :/

    Lt.Winters schrieb:

    Was nicht klappt ist die Datei als "Binärdatei" zum besagtem Gerät zu senden.
    Mit welchem Code?
    Wie äußert sich das?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Wie meinst du das mit welchem Code?

    Das äußert sich darin, dass das Gerät ein Problem hat die INI-Datei als Konfiguration zu verstehen. Scheint hier am Schluss der Zeilen zu liegen. Sollte an sich mit CrLf abgeschlossen sein. Ich vermute das hier ZOC iwas anderes daraus macht, weil die Datei iwie anders behandelt wird und diese Ursache vermute ich bei der Erstellung.

    Lt.Winters schrieb:

    Terminalprogramm
    OK.
    Gib der Datei eine andere Endung.
    Sind beide Dateien gleich lang?
    Ist der Inhalt vom Typ UNICODE?
    ==> Erstell eine ASCII-Datei
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Ich habe die beiden Dateien eben mal verglichen. Im Hexdump sehen die absolut identisch aus. Schaue ich mir aber über Eigenschaften die Größe an, so ist die Datei, welche ich über Rechtsklick-->Neu-->TXT erstellt habe etwas größer als die, die mit dem VB-Tool erstellt worden ist, obwohl der Inhalt identisch ist.

    Als Encoding verwende ich Windows1252. ASCII scheint es tatsächlich zu sein, hab ich aber ein Problem mit, da in der INI-Datei Umlaute Verwendet werden. Stelle ich im oben genannten Code das Ecoding auf ASCII um, so werden diese durch "?" ersetzt.

    Lt.Winters schrieb:

    etwas größer
    Wieviel Bytes genau?
    Poste bitte beide Längen.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!