Abriendo un documento

Hola, please ayudame por fa', estoy haciendo un programa en donde tengo lo siguiente, haciendo doble doble click en una lista donde me muestran documentos quiero que los abra y muestre, así es el código que uso... Estoy usando el ejemplo de la ayuda para abrir documentos pero ahí trabaja con una variable tipo char* pero yo tengo la ruta del documentos en una CString (strTexto) pero no me acepta esta ultima...
void CBuscadorDlg::OnDblclkList(NMHDR* pNMHDR, LRESULT* pResult)
{
int nIndex = m_list.GetSelectionMark();
CString strTexto=m_list.GetItemText(nIndex,1)+m_list.GetItemText(nIndex,0);
CFile MiFichero;
CFileException e;
//char* sNombre11="D:Copia Juandocdewiparaborrarasa.txt";
if(!MiFichero.Open(sNombre11,CFile::modeRead,&e))
{
AfxMessageBox("prueba");
return;
}
UINT tam=(UINT)(MiFichero.GetLength());
char *texto=new char[tam+1];
MiFichero.Read(texto,tam);
texto[tam]=0;
GetDlgItem(IDC_EDIT1)->SetWindowText(texto);
m_nTexto=texto;
delete[] texto;
MiFichero1.Close();
MiFichero.Close();
EndDialog(IDCANCEL);
}
Obviamente lo que quiero usar es la variable CString strTexto que tendrá por ejemplo "c:docdewidewi.txt" en vez de la variable tipo char* sNombre11 al momento de hacer el OPEN pero no me funciona el cast que me recomendaron o es que mi maquina es media caprichosa...
please de nuevo una ayudita por fa' se lo agradecería
1

1 respuesta

Respuesta
Realmente no conozco de Visual C++ pero intenta algo como esto:
CString strTexto=m_list.GetItemText(nIndex,1)+m_list.GetItemText(nIndex,0);
CFile MiFichero;
CFileException e;
LPTSTR p = strTexto.GetBuffer();
if(!MiFichero.Open(p,CFile::modeRead,&e))
{
AfxMessageBox("prueba");
return;
}
strTexto.ReleaseBuffer();
--**--
Espero haber captado el problema y que te sea útil mi respuesta

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas