Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   Nombre de usuario (https://www.clubdelphi.com/foros/showthread.php?t=97562)

Saltimbanki 01-07-2025 05:47:31

Nombre de usuario
 
Hola, necesito hacer un programilla para borrar un fichero de forma automatica.
El fichero en cuestion esta en la carpeta usuarios/Nombre Usuario, y no se averiguar el nombre de usuario para acceder a dicha carpeta.
Tambien necesito visualizar los ficheros ocultos:D

Como lo hago ??:cool:

Gracias

Casimiro Noteví 01-07-2025 08:48:54

Creo que para empezar deberías dar un repaso a nuestra guía de estilo, gracias :)
Y después, depende de cuál sea el problema exacto que tengas...

Neftali [Germán.Estévez] 01-07-2025 12:14:39

Cita:

Empezado por Casimiro Notevi (Mensaje 565952)
Creo que para empezar deberías dar un repaso a nuestra guía de estilo, gracias :)
Y después, depende de cuál sea el problema exacto que tengas...

+1

Cita:

Empezado por Saltimbanki (Mensaje 565947)
Hola, necesito hacer un programilla para borrar un fichero de forma automatica.

Eso es sencillo.
https://docwiki.embarcadero.com/Libr...ils.DeleteFile

Cita:

Empezado por Saltimbanki (Mensaje 565947)
El fichero en cuestion esta en la carpeta usuarios/Nombre Usuario

Si no es tu usuario, necesitarás elevación de permisos o permisos de Administrador (o ambas cosas).

Cita:

Empezado por Saltimbanki (Mensaje 565947)
...y no se averiguar el nombre de usuario para acceder a dicha carpeta.

¿Cuál es la lógica para averiguarlo?

Cita:

Empezado por Saltimbanki (Mensaje 565947)
Tambien necesito visualizar los ficheros ocultos

Revisa las funciones de búsqueda de ficheros:
https://docwiki.embarcadero.com/RADS...Finding_a_File

NOTA: Atención al parámetro Attribute, con el valor: "faHidden | $00000002 | Hidden files"

navbuoy 01-07-2025 12:44:45

Código Delphi [-]
uses
  SysUtils;

var
  UserFolder: string;
begin
  UserFolder := GetEnvironmentVariable('USERPROFILE');
  ShowMessage(UserFolder);
end;

o solo el nombre de usuario:

Código Delphi [-]
uses
  Windows;

var
  NombreUsuario: array[0..255] of Char;
  Tam: DWORD;
begin
  Tam := SizeOf(NombreUsuario);
  if GetUserName(NombreUsuario, Tam) then
    ShowMessage('Usuario: ' + NombreUsuario);
end;

Si quieres ir más lejos y obtener cosas como "Mis Documentos", usá SHGetFolderPath:

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

var
  path: array[0..MAX_PATH] of Char;
begin
  SHGetFolderPath(0, CSIDL_PERSONAL, 0, 0, path);
  ShowMessage('Mis Documentos: ' + path);
end;

También puedes usar:

CSIDL_DESKTOP → Escritorio

CSIDL_APPDATA → AppData\Roaming

CSIDL_LOCAL_APPDATA → AppData\Local


La franja horaria es GMT +2. Ahora son las 11:29:11.

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