Zeilenumbruch



  • Ich lade eine Datei in mein EditFeld, jetzt habe ich aber statt einer neuen Zeile
    dieses Zeichen -> [], was mach ich falsch?



  • Das Editfeld ist auf Mehrzeilig umgestellt? (ES_MULTILINE)
    Zeilenumrüche bei Editfeldern gehen mit \r\n, in der Datei steht aber nur \n



  • Du kannst anstatt CFile auch CStdioFile benutzen,
    damit kannst du die Datei Zeilenweise auslesen:

    CStdioFile file;
    CString sLine;
    
    if (!file.Open("Data\\pcb.pcb", CFile::modeRead))
    {
    	AfxMessageBox("File kann nicht geöfnet werden");
    	return;
    }
    while ( file.ReadString(sLine) != NULL ){
    ...//Hier tust du was auch immer du willst ^^
    }
    

    Mit ReadString bzw WriteString liest/schreibst du in die Datei



  • CString COpen::open()
    {
    	CString strTemp,strDateiInhalt="";
    
    	//CFileDialog dlg(TRUE, ".asm", NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, "Assembler (*.asm)|*.asm||", NULL);
    	CString extension = m_description + " ("  +"*" +m_type + ")|" + "*"+m_type + "||"; 
    	CFileDialog dlg(TRUE, m_type, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, extension, NULL);
    
    	if (dlg.DoModal() == IDOK) 
    	{
    
    		CStdioFile Datei(dlg.GetPathName(), CFile::modeRead);
    
    		while(Datei.ReadString(strTemp)!= NULL )
    		{
    			strDateiInhalt+= strTemp;
    		}
    
    		Datei.Close();
    	}
    	return strDateiInhalt;
    }
    

    und das editfeld -> mehrfachzeile = True

    aber funktionieren tuts trotzdem nicht



  • um einen zeilenumbruch in dem editfeld zu erzwingen, musst du lediglich \r\n zu deinen variable hinzufürgen:
    --> zB deinString = deinString + textZeile + "\r\n";

    dat wars auch schon 🙂



  • flow1000 schrieb:

    um einen zeilenumbruch in dem editfeld zu erzwingen, musst du lediglich \r\n zu deinen variable hinzufürgen:
    --> zB deinString = deinString + textZeile + "\r\n";

    dat wars auch schon 🙂

    danke danke danke 🙂 endlich


Anmelden zum Antworten