Ausgabe einer Textdatei ein wenig verzerrt !



  • Hallo,

    ich lade eine Textdatei und gebe sie auf einem RTFView aus.
    Das laden und anzeigen funktioniert aber die Anzeige ist etwas verzerrt :

    So sieht es aus:

    #####################
    # # # #
    # # ############# # #
    # # # # #
    # # ###### ###### # #
    # # # # # # # #
    # # # # ##### # # # #
    # # # # # # # # #
    # # # # ## ## # # # #
    # ### ### # # # # #
    # # # # # # #
    # # # # # ### ### #
    # # # # ## ## # # # #
    # # # # # # # # #
    # # # # ##### # # # #
    # # # # # # # #
    # # ###### ###### # #
    # # # # #
    # # ############# # #
    # # # #
    #####################

    So sollte es aussehen:

    #####################
    # #             #   #
    # # ############# # #
    # #        #      # #
    # # ###### ###### # #
    # # # #     #   # # #
    # # # # ##### # # # #
    # # # #    #  # # # #
    # # # # ## ## # # # #
    # ### ###   # # # # #
    # #   #   #   #   # #
    # # # # #   ### ### #
    # # # # ## ## # # # #
    # # # #  #    # # # #
    # # # # ##### # # # #
    # # #   #     # # # #
    # # ###### ###### # #
    # #      #        # #
    # # ############# # #
    #   #             # #
    #####################
    

    es werden alle Spaces entfernt. Ich denke es liegt an der Art un Weise wie ich die Zeichen auf dem RTF ausgebe, aber ich komm nicht drauf, ich machs nur schlimmer 😢 !

    Hier ist der Code:

    void CDialogFelder2Dlg::OnDateiOeffnen() 
    {	
    	CFile	file;								// CFileObjekt zum öffnen der Datei
        TCHAR	*str = NULL;						// Zeiger vom Typ TCHAR um Array af den Heap zu schieben ===> DYNAMISCHES ARRAY
        char	strFilter[] = { "txt Files (*.txt)|*.txt|All Files (*.*)|*.*||" }; // Filterstring für den Windows Dialog Datei - Öffnen
        CFileDialog FileDlg(TRUE, ".txt", NULL, 0, strFilter); 
    
        if( FileDlg.DoModal() == IDOK )						// Dialog modal anzeigen
        { 
            file.Open(FileDlg.GetFileName(), file.modeRead);// File öffnen
            str = new TCHAR[(file.GetLength())+1];			// Array auf den Heap schieben (Muss an dieser Stelle geschehen, da Grösse erst nach Öffnen ermittelbar)
    		str[(file.GetLength())] = '\0';
            file.Read(str, file.GetLength());				// File lesen und Array str mit Werten füllen
    
    		file.Close();										// File schliessen
    
    		m_sTextFeld = str; 
    		delete[]str;										// Zeiger löschen
    
    		UpdateData(FALSE);									// Daten in TextBox anzeigen
        } 
    }
    

    Wäre super wenn Ihr mir helfen könntet !

    Danke für eure Mühe !
    ShadowEater



  • Kann es sein, dass du einfach nur ne andere Schriftart nehmen musst?
    Versuch mal Courir New.



  • Hmmm werde ich gleich ausprobieren, mache ich das mit CHARFORMAT ?

    😉
    ShadowEater



  • 🙂 D*A*N*K*E estartu 🙂 ,

    Dein Tipp wars, es klappt, ich raff zwar nicht was das Spaceweglassen mit einem anderen Font zu tun hat aber es klappt !!!

    Danke
    😉
    ShadowEater



  • Kein Problem. 🙂

    Das hängt vermutlich damit zusammen, dass der "Weglassfont" ein proportionaler Font war.


Anmelden zum Antworten