Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Drag and Drop con archivo adjunto de outlook (https://www.clubdelphi.com/foros/showthread.php?t=66363)

izia 16-02-2010 13:32:13

Drag and Drop con archivo adjunto de outlook
 
Hola!
Tengo un problema con delphi. Quiero poder subir ficheros adjuntos a emails de outlook arrastrándolos a un listbox para subirlos a una base de datos. He estado mirando drag and drop, pero no consigo que funcione con ficheros adjuntos en outlook.
He buscado por google pero no encuentro código para delphi, he encontrado en visualbasic. Pero no lo tengo muy claro para "traducirlo", y si se puede...
¿Álguien sabe hacerlo?

El código en visual es este, por si alguien si tiene idea de como hacerlo:
Cita:

Private Sub Form1_DragEnter(ByVal sender As System.Object, ByVal e As
System.Windows.Forms.DragEventArgs) Handles MyBase.DragEnter
e.Effect = DragDropEffects.Copy
End Sub

Private Sub Form1_DragDrop(ByVal sender As System.Object, ByVal e As
System.Windows.Forms.DragEventArgs) Handles MyBase.DragDrop

Dim memoryStream As System.IO.MemoryStream =
e.Data.GetData("FileGroupDescriptor")
'Sets the position within the current stream to the beginning of the
file name.
memoryStream.Seek(76, IO.SeekOrigin.Begin)

Dim fileName As Byte() = New Byte(256) {}
'return the file name in the fileName variable
memoryStream.Read(fileName, 0, 256)

Dim encoding As System.Text.Encoding = System.Text.Encoding.ASCII
'convert to byte arry to string
Dim strFileName As String = encoding.GetString(fileName)
'trim the strFileName to get the correct file name
strFileName = strFileName.TrimEnd("")

memoryStream = e.Data.GetData("FileContents")
'write the file content to a file under the same path of the exe file.
Dim fs As New IO.FileStream(strFileName, IO.FileMode.Create)
memoryStream.WriteTo(fs)
fs.Close()

End Sub

Y lo he sacado de:
##w#w#w#.devnewsgroups.#net/#group/microsoft.#public.dotnet.framework.windowsforms/topic46776.#aspx

sin las almohadillas

cocute 16-02-2010 17:14:58

Cita:

Empezado por izia (Mensaje 354055)
Quiero poder subir ficheros adjuntos a emails de outlook arrastrándolos a un listbox para subirlos a una base de datos.

aunque no logro entiender lo que quieres hacer exactamente, puedes mirar este post a ver si te sirve:
http://www.clubdelphi.com/foros/showthread.php?t=36523

izia 17-02-2010 09:40:14

Gracias por contestar :) . Lo que me has puesto en el enlace ya lo he conseguido, lo que no me sale es...
Abro un email con outlook y tiene un fichero adjunto, cojo ese fichero, lo arrastro al formulario y no "entra".
Con ficheros normales de windows, del escritorio por ejemplo, si que funciona, puedo arrastrarlos, soltarlos y se "meten" en mi formulario.
Solo tengo problemas con los ficheros adjuntos a los emails en outlook.

izia 22-02-2010 11:04:44

Nadie sabe nada? :(

fjcg02 22-02-2010 16:39:51

Puedes probar a copiarlos en un directorio temporal, y de ahí a tu BBDD.

Coméntanos si puedes hacer el primer paso ( de outlook a fichero temporal).

Saludos

izia 22-02-2010 22:15:31

sii, eso lo pense, pero no se hacer ese paso..
si me lo explicais luego coger el fichero creo que no sera problema, si tengo la ruta.
Porque subir ficheros con la ruta lo tengo ya hecho.

roman 24-02-2010 06:13:50

1 Archivos Adjunto(s)
No había tenido la oportunidad de probar con Outlook pero veo ahora que sí se pueden "arrastrar" los adjuntos a un formulario. El único punto a observar aquí es que, al menos con Outlook Express, para arrastrar los adjuntos debes abrir el mensaje en una ventana aparte



y arrastrar los archivos. Porque si lo haces directamente desde la lista de mensajes, lo que arrastras en realidad es el mensaje en sí y eso es lo que al parecer sólo se puede a una ventana del explorador.

Dejo aquí un ejemplo en el que los archivos (y adjuntos) se arrastran diectamente a un ListBox y no a cualquier parte del formulario, y pueden arrastrarse múltiples archivos a la vez.

// Saludos

izia 24-02-2010 08:29:28

Hola
me he bajado lo que has puesto, pero no va con los ficheros adjuntos de outlook, va con los ficheros normales. Lo he probado abriendo el email aparte y sin abrirlo y nada.
Eso ya lo tengo yo, lo que quiero es que funcione con los ficheros adjuntos de outlook, arrastrándolos directamente sin tener que guardarlos antes.
Gracias por el interés ;).


La franja horaria es GMT +2. Ahora son las 18:45:19.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi