Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Como Obtener las carpetas del sistema? (https://www.clubdelphi.com/foros/showthread.php?t=26419)

bustio 22-10-2005 08:01:10

Como Obtener las carpetas del sistema?
 
HOla:
Esta vez deseo obtener todas las carpetas del sistema asociadas a un usuario. Es decir, deseo obtener el camino a las carpetas siguientes, sin importar la version de sistema operativo Windows instalado ni el lenguaje del mismo:

1.- Application Data(*)
2.- My Document's(*)
3.- Cookies
4.- Desktop
5.- Favorites
6.- Local Settings(*)
7.- My Recent Documents
8.- NetHood
9.- PrintHood
10.-SendTo
11.-StartMenu
12.-Template
13.-UserData(*)

y de las que estan marcadas con(*) necesito saber tambien las subcarpetas qeu ellas contienen.

dec 22-10-2005 08:08:15

Hola,

Está feo que lo diga yo, pero, en fin, tal vez puede serte de utilidad el componente "TDirsWin" que puedes encontrar dentro del paquete "DecComp", el cual hallarás en el apartado de componentes del ClubDelphi y también en mi página Web personal. Si no quieres hacer uso de dicho componente al menos puedes ver cómo hace lo que hace, valga la redundancia.

Respecto de la segunda cuestión tal vez la siguiente función, si bien no te proporciona exactamente lo que quieres, puede darte alguna idea:

Código Delphi [-]
 // Devuelve el número de subdirectorios de
 // un determinado directorio. Pueden contarse
 // los subdirectorios ocultos, de sistema y de
 // "solo lectura". Como parámetros hay que pasar
 // la ruta del directorio cuyos subdirectorios
 // quieren contarse, además de si hay que tener
 // en cuenta los subdirectorios cuyos atributos
 // coincidan con los mencionados arriba.
 //
 function NumeroSubDirectorios(directorio: string;
   ocultos, sistema, soloLectura: boolean) : integer;
 var
   SR: TSearchRec;
   atributos: Cardinal;
 begin
   Result := 0;
   atributos := faDirectory;
   if ocultos then atributos := atributos or faHidden;
   if sistema then atributos := atributos or faSysFile;
   if soloLectura then atributos := atributos or faReadOnly;
   directorio := IncludeTrailingPathDelimiter(directorio);
   if FindFirst(directorio +'*', atributos, SR) = 0 then
   begin
     repeat
       if (SR.Name <> '.') and (SR.Name <> '..')
         and DirectoryExists(directorio + SR.Name) then
           Inc(Result);
     until FindNext(SR) <> 0;
     SysUtils.FindClose(SR);
   end;
 end;

bustio 22-10-2005 19:54:26

A Dec
 
Vi tu web y no me parece para nada que sea feo indicarme algo que hayas hecho.. todo lo cntrario. No he probado tus ideas, pero muy pronto lo hare.. voy a almorzar!!!!!!
Y por cierto.. me gstaria mucho poder colaborar con tu pagina web.. pues ,e [arece muy buena y creo que se puede explotar mucho. Tu diras en que puedo ayudarte...

dec 22-10-2005 22:07:08

Hola,


Cita:

Empezado por bustio
(...) me gstaria mucho poder colaborar con tu pagina web.. pues ,e [arece muy buena y creo que se puede explotar mucho. Tu diras en que puedo ayudarte...

Bueno. Yo te agradezco tu interés, pero, se trata de una página personal, no hay ningún proyecto en ella aparte de algunos sencillos componentes, un poco de código Delphi, algo de código escrito en C#, en fin,... yo creo que si quieres colaborar puedes hacerlo con el propio ClubDelphi, que cuenta con un apartado (Colaboradores) desde donde poder hacerlo. De todas formas, si es que se te ha ocurrido algo en concreto, pues no tienes sino hacérmelo saber, que será bienvenido. :)

Juvencio 26-02-2007 21:50:40

Soy un miembro nuevo en el club y estoy leyendo su respuesta y creo que es más sencillo con el componente, si alguno de Uds. pueden ingresar el componente o hacer el favor de mandarlo al correo electrónico de un servidor se lo voy a agradecer.
se les dan las gracias a los miembros de este club y a los moderadores por su ayuda.

dec 27-02-2007 02:21:52

Hola,

Puedes descargar los componentes "DecComp" (entre los que se encuentra "TDirsWin") desde Archivos del ClubDelphi. :)

el_barto 04-05-2007 19:41:03

Como se puede obtener la ruta exacta donde esta ubicado un .exe de delphi desde la ejecucion de este mismo.

Gracias por la colaboracion.

dec 04-05-2007 19:49:57

Hola,

A qué te refieres con "un .exe de Delphi"... Si te refieres al ejecutable de tu aplicación (desarrollada con Delphi) cuentas con "ParamStr", que retorna cada uno de los parámetros pasados a tu ejecutable. El parámetro número cero es la ruta del ejecutable de tu aplicación:

Código Delphi [-]
var
  ruta: string;
begin
  ruta := ParamStr(0);
end;

Luego si quieres obtener el directorio de tu aplicación puedes hacerlo de este modo:

Código Delphi [-]
uses
  SysUtils;

{...}

var
  ruta: string;
begin
  ruta := ExtractFilePath(ParamStr(0));
end;


La franja horaria es GMT +2. Ahora son las 20:38:38.

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