Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Drag & Drop

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Drag & Drop Responder citando

Hola foro mi pregunta es la siguiente, estoy creando una aplicación un pequeñó editor y ahora quiero que soltando un documento .txt ó un documento .doc automáticamente lo abra, con el documento .txt no hay ningún problema, pero cuando suelto uno con extensión .doc a parte del texto, me salen algunos símbolo extraños supongo que debido a que ciertas palabras están en negrita, etc.

Pero no entiendo el porqué, ya que estoy utilizando un RichEdit. Si voy al Word copia todo el documento al portapales y luego voy a mi editor y lo pego lo copia bien, pero si lo suelto encima de mi editor, no lo abre correctamente.

Memo1 es un componente de tipo TRichEdit lo que pasa es que cómo había empezado a realizar esta aplicación con un Memo por no tener que cambiar el nombre lo he llamado Memo1 al componente RichEdit1.

//---------------------------------------------------------------------------

#ifndef Unit9H
#define Unit9H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <Menus.hpp>
#include <ComCtrls.hpp>
//---------------------------------------------------------------------------
class TForm9 : public TForm
{
__published: // IDE-managed Components
TButton *Button1;
TButton *Button2;
TButton *Button3;
TButton *Button4;
TButton *Button5;
TButton *Button6;
TButton *Button7;
TButton *Button8;
TMainMenu *MainMenu1;
TMenuItem *Fichero1;
TMenuItem *Guardar1;
TMenuItem *N1;
TMenuItem *Edit1;
TMenuItem *Copiar1;
TMenuItem *Pegar1;
TMenuItem *Cortar1;
TButton *Button9;
TButton *Button10;
TRichEdit *Memo1;
void __fastcall Button1Click(TObject *Sender);
void __fastcall Button2Click(TObject *Sender);
void __fastcall Button3Click(TObject *Sender);
void __fastcall Button4Click(TObject *Sender);
void __fastcall Button5Click(TObject *Sender);
void __fastcall Button6Click(TObject *Sender);
void __fastcall Button7Click(TObject *Sender);
void __fastcall Button8Click(TObject *Sender);
void __fastcall Copiar1Click(TObject *Sender);
void __fastcall Pegar1Click(TObject *Sender);
void __fastcall Cortar1Click(TObject *Sender);
void __fastcall N1Click(TObject *Sender);
void __fastcall Guardar1Click(TObject *Sender);
void __fastcall FormShow(TObject *Sender);
void __fastcall Button9Click(TObject *Sender);
void __fastcall Button10Click(TObject *Sender);

private: // User declarations
void WMDropFiles(TMessage Mensaje);
public: // User declarations
__fastcall TForm9(TComponent* Owner);

BEGIN_MESSAGE_MAP
MESSAGE_HANDLER(WM_DROPFILES, TMessage, WMDropFiles)
END_MESSAGE_MAP(TComponent)
};
//---------------------------------------------------------------------------
extern PACKAGE TForm9 *Form9;
//---------------------------------------------------------------------------
#endif

__fastcall TForm9::TForm9(TComponent* Owner)
: TForm(Owner)
{
// indicar que aceptamos archivos del Explorador
DragAcceptFiles(Handle, true);
}
//---------------------------------------------------------------------------
void TForm9::WMDropFiles(TMessage Mensaje)
{
char NombreArchivo[256];
AnsiString Extension;

// Obtenemos el nombre del primer archivo
DragQueryFile((HANDLE)Mensaje.WParam, 0, NombreArchivo, 255);
DragFinish((HANDLE)Mensaje.WParam); // liberamos el bloque de datos

// Espacio para la extensión y el terminador NULL
Extension.SetLength(5);
// obtenemos la extensión
fnsplit(NombreArchivo, NULL, NULL, NULL, Extension.c_str());
Extension.SetLength(4); // Eliminamos el NULL
Extension = Extension.LowerCase(); // Convertir a minúsculas

if (Extension == ".txt") { // Se trata de un archivo de texto
Memo1->Lines->LoadFromFile(NombreArchivo); // Cargar el archivo

} else if (Extension == ".doc")Memo1->Lines->LoadFromFile(NombreArchivo); // Cargar el archivo
else ShowMessage("Sólo se admiten ficheros con extensión .txt");// Si no es ninguna de las extensiones anteriores
}


Gracias por leer el mensaje

Volver arriba
Mensaje    Asunto: Drag & Drop Responder citando

Creo que puede ser por no tener habilitada la propiedad plain text. debes de ponerla a false. prueba a ver si hay suerte
Volver arriba
Mensaje    Asunto: Drag & Drop Responder citando

La propieda Plain Text la tengo a false, por lo que no tengo ni idea porque no lo abre,
de todos modos gracias.
Volver arriba
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.