Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   API de Windows (https://www.clubdelphi.com/foros/forumdisplay.php?f=7)
-   -   Cambiar nombre de un fichero desde un explorador (https://www.clubdelphi.com/foros/showthread.php?t=28531)

jabim 22-12-2005 12:11:08

Cambiar nombre de un fichero desde un explorador
 
Hola, agradecería ayuda con este tema.

Tengo una aplicación cliente que muestra un explorador de carpetas en local similar al de windows. Algunos usuarios me han solicitado implementar la opción "Cambiar nombre" con el botón derecho sobre un archivo seleccionado en dicho explorador tal como lo hace el explorador de windows (Cuando ejecutas esta opción en el explorador de windows, éste te permite editar el nombre del fichero ahí mismo (lo muestra encerrado dentro de un cuadro) y cambiarlo (Intro) o cancelar (ESC)).
Mi problema es que supongo que esto lo hace una función de la Shell32.dll, pero no se cual, y la msdn de microsoft ...; Ya he utilizado la función "OpenAs_RunDLLA" (no documentada en la msdn) de dicha biblioteca para implementar la opción "Abrir con" en el explorador de dicho cliente gracias a que vi como la utilizaban en un componente publicado en este club. No tengo ningún problema para programar todo esto y hacer que funcione, únicamente necesito saber que función es la que me permite hacerlo.
Tabajo en Delphi7, con windowsXP, y el cliente corre en todas las versiones de windows desde 95 pero no es necesario que esto funcione en las versiones más antiguas pues tienden a desaparecer usuarios en ellas.
Muchas gracias a todas/os por anticipado

Neftali [Germán.Estévez] 22-12-2005 12:25:20

Creo que te estás liando más de la cuenta.

Cita:

Empezado por jabim
...que muestra un explorador de carpetas en local similar al de windows.

Ese control que usas, ¿no tiene la opción de editar? Si la tiene basta con que la utilices para obtener el nnombre nuevo y luego utilices la funcion RenameFile para cambiarle el nombre en disco.

Si no tiene la opción rename puedes simularlo (creo) visualizando con un edit en esa posición y una vez que el usuario acepte con ENTER cambiar el nombre con la función anterior.

No se si me he explicado bien... (hoy estoy un poco espeso)

jabim 22-12-2005 12:37:24

Perfectamente explicado, voy a ver si así puedo hacerlo. Gracias.


La franja horaria es GMT +2. Ahora son las 15:40:30.

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