Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > API de Windows
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-11-2006
Avatar de walito
walito walito is offline
Miembro
 
Registrado: jun 2005
Posts: 121
Poder: 19
walito Va por buen camino
Unidad de disco

Buenas delphiseros!!

tengo un problema que no se por donde empezar, ya que no se mucho de ese tema.

Es posible hacer una unidad virtual en windows (F: por ejemplo) que al hacer click ahi yo muestre los archivos que yo necesite? por ejemplo me interesa hacer un cliente de ftp que lo tenga en una unidad de windows.

Que tengo que leer para aprender hacer dicha unidad?

gracias
Responder Con Cita
  #2  
Antiguo 20-11-2006
Avatar de walito
walito walito is offline
Miembro
 
Registrado: jun 2005
Posts: 121
Poder: 19
walito Va por buen camino
encontre este link http://www.clubdelphi.com/foros/showthread.php?t=35845 de alguien que preguntaba lo mismo, desde ya muchas gracias!

Última edición por walito fecha: 20-11-2006 a las 11:59:55.
Responder Con Cita
  #3  
Antiguo 20-11-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Vamos por partes, en el enlace que tu mencionas lo que piden es poder asociar un directorio a una letra de unidad, de tal forma que aparezca como un disco mas. Esto lo podemos hacer de la siguiente manera:
Código Delphi [-]
function AsociarLetra(Letra: Char; Ruta: String): Boolean;
var
  Buffer: Array [0..MAX_PATH] of Char;
begin
  if GetShortPathName(PChar(Ruta),@Buffer,Sizeof(Buffer)) > 0 then
    Result:= DefineDosDevice(0,PChar(Letra + String(':')),@Buffer)
  else
    Result:= FALSE;
end;

function BorrarLetra(Letra: Char): Boolean;
begin
  Result:= DefineDosDevice(DDD_REMOVE_DEFINITION,PChar(Letra + String(':')),nil);
end;

// Para hacer una asociacion
AsociarLetra('Z','C:\Archivos de programa');

// Para borrar la asociacion
BorrarLetra('Z');

En el ejemplo anterior asociamos la letra Z al directorio "c:\archivos de programa", ahora si vamos a "Mi PC" veremos que hay un disco nuevo (Z:\) que se corresponde con la carpeta. Esto es lo mismo que hace el comando Subst, ya un viejo conocido.

Ahora bien, leyendo tu primera pregunta, no creo que sea eso lo que quieres. Según entiendo yo, lo que tu quieres es que al abrir ese "disco vitual" tu puedas mostrar lo que a ti te de la gana. Eso ya lo veo mas difícil, para hacer eso necesitas crear un driver, y delphi no puede crear ese tipo de ejecutable.
Responder Con Cita
  #4  
Antiguo 29-11-2006
Avatar de walito
walito walito is offline
Miembro
 
Registrado: jun 2005
Posts: 121
Poder: 19
walito Va por buen camino
gracias seoane!!!

es verdad eso es lo que necesito , es conectarme a un ftp y el listado de archivos y directorios mostrarlo en una unidad en el explorador de archivos por ejemplo, eso me dices que es imposible??

gracias
Responder Con Cita
  #5  
Antiguo 29-11-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Hay veces que hablo de más. Un poco mas arriba te dije que la única forma de hacer lo que tu querías era creando un driver, y eso es verdad si se quiere emular el comportamiento de un disco o un cdrom. Pero leyendo un poquito por ahí me he enterado de que existe una forma mas sencilla crear un directorio virtual, y es creando una "Shell Namespace Extensions", como hacen programas como GMail Drive. Estas creo que si se pueden crear desde delphi sin problemas, pero como ya dije esto es algo nuevo para mi así que sera mejor que leas la información tu mismo.

http://msdn.microsoft.com/library/de.../nse_works.asp
Responder Con Cita
  #6  
Antiguo 29-11-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Tal como menciono en el otro hilo, el explorador de Windows puede perfectamente visualizar un sitio ftp así que quizá no sea necesario gastarse mayormente.

También en el otro hilo di tres enlaces al msdn entre los que se cuentan el que escribe seoane arriba.

Por otra parte, pueden revisar el sitio de Mustankpeak y buscar las componentes EasyNSE que sirven para implementar extensiones al shell, entre ellas, al espacio de nombres. Yo no las he revisadoa profundidad pero probé el ejemplo que trae en donde inserta el registro de windows en el explorador. Tiene algunos problemas pero esencialmente funciona bien.

// Saludos
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Respaldar Tablas (en forma de archivo) enviandola a una unidad de disco MaSSaKKre Varios 3 04-11-2005 20:53:53
Carpeta o Unidad de disco?? triskel API de Windows 5 15-09-2005 17:19:27
Saber unidad de disco donde estoy marceloalegre Varios 4 12-07-2005 16:47:27
Modificar el numero de serie de una unidad de disco duro Sick boy API de Windows 2 06-10-2004 12:45:33
Saber unidad d disco n ordenador remoto.. Muten Firebird e Interbase 4 17-06-2004 17:59:40


La franja horaria es GMT +2. Ahora son las 09:41:07.


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
Copyright 1996-2007 Club Delphi