C/Visual C - Como insertar texto en un CEDIT multilineas

 
Vista:

Como insertar texto en un CEDIT multilineas

Publicado por toñi (20 intervenciones) el 09/03/2001 20:47:29
Hola, tengo un fichero de texto, que quiero ir leyendo linea a linea e
insertando cada linea en un CEDIT multilineas para poder ver su contenido.
Como puedo manera el CEDIT multilineas?, o sea que instruccion debo utilizar
para la insercion consecutiva de una variable CString en un CEDIT.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Inserción consecutiva de líneas de un archivo de texto en un control CEdit multilineas

Publicado por Alejandro (913 intervenciones) el 09/09/2024 17:14:04
Para insertar líneas consecutivas de un archivo de texto en un control CEdit multilineas en MFC (Microsoft Foundation Classes), puedes utilizar la función SetWindowText o la función ReplaceSel. Aquí tienes un ejemplo de cómo hacerlo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// Supongamos que tienes un control CEdit llamado m_editText en tu diálogo
 
// Abre el archivo de texto
CStdioFile file;
if (file.Open(_T("ruta_del_archivo.txt"), CFile::modeRead)) {
    CString line;
    CString text;
 
    // Lee el archivo línea por línea
    while (file.ReadString(line)) {
        // Agrega la línea al texto existente
        text += line;
        text += _T("\r\n"); // Agrega un salto de línea después de cada línea
    }
 
    // Cierra el archivo
    file.Close();
 
    // Inserta el texto en el control CEdit
    m_editText.SetWindowText(text);
}

En este ejemplo, abrimos el archivo de texto en modo de lectura utilizando la clase CStdioFile. Luego, leemos el archivo línea por línea utilizando la función ReadString y agregamos cada línea al texto existente utilizando el operador +=. Después de cada línea, agregamos un salto de línea utilizando el carácter de retorno de carro "\r\n". Finalmente, utilizamos la función SetWindowText para establecer el texto completo en el control CEdit.

Si prefieres insertar cada línea de forma consecutiva en lugar de reemplazar todo el texto, puedes utilizar la función ReplaceSel en lugar de SetWindowText. Aquí tienes un ejemplo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// Supongamos que tienes un control CEdit llamado m_editText en tu diálogo
 
// Abre el archivo de texto
CStdioFile file;
if (file.Open(_T("ruta_del_archivo.txt"), CFile::modeRead)) {
    CString line;
 
    // Lee el archivo línea por línea
    while (file.ReadString(line)) {
        // Inserta la línea en el control CEdit
        m_editText.ReplaceSel(line + _T("\r\n"));
    }
 
    // Cierra el archivo
    file.Close();
}

En este caso, utilizamos la función ReplaceSel para insertar cada línea en el control CEdit. La función ReplaceSel toma como argumento la cadena que deseas insertar, y en este ejemplo, agregamos un salto de línea después de cada línea.

Espero que esto te ayude a insertar líneas consecutivas de un archivo de texto en un control CEdit multilineas en MFC. ¡Buena suerte con tu proyecto, Toñi!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar