Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-01-2008
dtomeysoto dtomeysoto is offline
Miembro
 
Registrado: dic 2005
Posts: 173
Poder: 19
dtomeysoto Va por buen camino
obtener la ruta de la carpeta temporal de un usuario

Amigos del club como puedo obtener para el usuario que ha ejecutado una aplicacione que estoy desarrollando la ruta de la carpeta temporal de este?

por ejemplo: para el usuario pepe sería algo así como C:\Documents and Settings\pepe\Configuración local\Temp

Gracias.
Responder Con Cita
  #2  
Antiguo 18-01-2008
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.730
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
la ruta temporal se guarda en la variable de sistema %temp%

si haces cd %temp% te llevará a donde tu quieres.

Supongo que podrás utilizarla en tu aplicación ...
Responder Con Cita
  #3  
Antiguo 18-01-2008
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.730
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Esto lo he encontrado aqui

El directorio de Windows

Código Delphi [-]
uses SysUtils, Windows;

function GetWindowsDir: TFileName;
var
  WinDir: array [0..MAX_PATH-1] of char;
begin
  SetString(Result, WinDir, GetWindowsDirectory(WinDir, MAX_PATH));
  if Result = '' then
    raise Exception.Create(SysErrorMessage(GetLastError));
end;

El directorio de los archivos de sistema

Código Delphi [-]
function GetSystemDir: TFileName;
var
  SysDir: array [0..MAX_PATH-1] of char;
begin
  SetString(Result, SysDir, GetSystemDirectory(SysDir, MAX_PATH));
  if Result = '' then
    raise Exception.Create(SysErrorMessage(GetLastError));
end;

El directorio de los archivos de programa

Código Delphi [-]
function GetProgramFilesDir: TFileName;
begin
  Result := GetRegistryData(HKEY_LOCAL_MACHINE,
    '\Software\Microsoft\Windows\CurrentVersion',
    'ProgramFilesDir');  // o 'ProgramFilesPath'
end;

El directorio temporal

Este es el directorio donde las aplicaciones guardan archivos temporales. No debería usar para este propósito el directorio donde se encuentra su aplicación por dos razones: 1) Usar un directorio temporal común facilita a los usuarios el proceso de limpieza cuando quieren recuperar espacio no usado en el disco duro, y 2) En Windows NT el usuario (y consiguientemente también su aplicación) puede que no tenga suficientes permisos para crear archivos en el directorio donde está instalada la aplicación.

La siguiente función devuelve la ubicación del directorio temporal, e intenta crearlo si no existe.

Código Delphi [-]
function GetTempDir: TFileName;
var
  TmpDir: array [0..MAX_PATH-1] of char;
begin
  try
    SetString(Result, TmpDir, GetTempPath(MAX_PATH, TmpDir));
    if not DirectoryExists(Result) then
      if not CreateDirectory(PChar(Result), nil) then begin
        Result := IncludeTrailingBackslash(GetWindowsDir) + 'TEMP';
        if not DirectoryExists(Result) then
          if not CreateDirectory(Pointer(Result), nil) then begin
            Result := ExtractFileDrive(Result) + '\TEMP';
            if not DirectoryExists(Result) then
              if not CreateDirectory(Pointer(Result), nil) then begin
                Result := ExtractFileDrive(Result) + '\TMP';
                if not DirectoryExists(Result) then
                  if not CreateDirectory(Pointer(Result), nil) then begin
                    raise Exception.Create(SysErrorMessage(GetLastError));
                  end;
              end;
          end;
      end;
  except
    Result := '';
    raise;
  end;
end;
Responder Con Cita
  #4  
Antiguo 18-01-2008
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 18
Chris Va por buen camino
Hola dtomeysoto
Si lo único que quieres es obtener la ruta de la carpeta temporal para el usuario activo, utiliza este código:
Código Delphi [-]
function GetTempDir: string;
var
  Buffer : Array[0..Max_path] of char;
begin
  FillChar(Buffer,Max_Path + 1, 0);
  GetTempPath(Max_path, Buffer);
  Result := String(Buffer);
  if Result[Length(Result)] <> '\' then Result := Result + '\';
end;

Saludos.
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita
  #5  
Antiguo 16-03-2018
Avatar de gatosoft
[gatosoft] gatosoft is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Bogotá, Colombia
Posts: 833
Poder: 21
gatosoft Va camino a la fama
también está:

Código Delphi [-]
ElPath:= System.SysUtils.GetEnvironmentVariable('TEMP')


Wiki
Responder Con Cita
  #6  
Antiguo 17-03-2018
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.195
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
El problema de encontrar la carpeta temporal no radica tanto en ello como en que el sistema devuelve un nombre corto de archivo y puede que nos interese el largo. Mi propuesta ya le dejé aquí, pero la repito.

Código Delphi [-]
function GetLongPathName(ShortPath, LongPath: PAnsiCHAR; size: DWORD): DWORD; stdcall; external 'Kernel32.dll' name 'GetLongPathNameA';



function GetTempFolder: String;
var
  buffer: array [0..MAX_PATH-1] of AnsiChar;
begin
  GetLongPathName(PAnsiCHAR(GetEnvironmentVariable('temp')), buffer, sizeof(buffer));
  Result:= buffer;
end;
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
obtener la ruta de una carpeta zanetti26 API de Windows 9 10-03-2007 03:23:20
Capturar ruta de acceso a la carpeta mis documentos y a la carpeta activa. Pepe Torres API de Windows 1 24-02-2007 00:02:21
Donde esta la carpeta temporal ? Coco_jac Varios 3 29-05-2005 04:06:08
Averiguar la ruta de una carpeta!! kye_z Varios 3 05-11-2004 17:21:29
Obtener la ruta real de una carpeta compartida en mi ordenador Javi2 API de Windows 0 14-07-2004 12:17:12


La franja horaria es GMT +2. Ahora son las 04:50:27.


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