Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-11-2008
_cero_ _cero_ is offline
Miembro
 
Registrado: abr 2007
Posts: 147
Poder: 18
_cero_ Va por buen camino
Exclamation Propiedades de archivos

Hola a todos, bueno mi pregunta no sé si sea simple pero espero que me puedan ayudar como ya lo han hecho en otras ocasiones, quisiera saber cómo puedo obtener la información de un archivo cualquiera, teniendo ya su ruta, Para llenar un formulario que será parecido al dialogo de propiedades de Windows.

Pues como información estoy trabajando en c++ builder 2007, pero si alguien tiene código delphi para este fin no importa, ya que al menos servirá para orientarme, de antemano gracias.
Responder Con Cita
  #2  
Antiguo 09-11-2008
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.289
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por _cero_ Ver Mensaje
...Para llenar un formulario que será parecido al dialogo de propiedades de Windows.
¿Necesitas alguna información en concreto? ¿Con alguna tienes problemas? Si buscas en los foros y en los trucos encontrarás la mayoría de cosas que aparecen en esa pantalla sin problemas.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 09-11-2008
_cero_ _cero_ is offline
Miembro
 
Registrado: abr 2007
Posts: 147
Poder: 18
_cero_ Va por buen camino
Smile

Muchas gracias por la respuesta Neftali, pues en realidad son 3 datos los que necesito, y serian la fecha decreacion, fecha de modificacion y encaso de ser un lnk el destino de este.
Responder Con Cita
  #4  
Antiguo 09-11-2008
_cero_ _cero_ is offline
Miembro
 
Registrado: abr 2007
Posts: 147
Poder: 18
_cero_ Va por buen camino
Lightbulb !!

Mientras googleaba logre encontrar la función "FindFirstFileA" que al menos me devuelve los tiempos que necesito entre otras cosas, pero sigo sin lograr obtener el destino de un acceso directo.

Les dejo el código por si sirve de algo.

Código:
WIN32_FIND_DATA WFDD;
_SYSTEMTIME  SYST;
_FILETIME FTII;
TDateTime FECC;

FindFirstFileA("C:\\Escritorio.lnk",&WFDD);

FTII=WFDD.ftCreationTime;
FileTimeToSystemTime(&FTII,&SYST);
FECC=IncHour(SystemTimeToDateTime(SYST),-6);
ShowMessage(FECC.DateTimeString());
Por favor si alguien pudiera decirme como saber el destino de los accesos directos, selo agradecería mucho
Responder Con Cita
  #5  
Antiguo 09-11-2008
_cero_ _cero_ is offline
Miembro
 
Registrado: abr 2007
Posts: 147
Poder: 18
_cero_ Va por buen camino
Wink

Pff, ya esta, les dejo esta función que te devuelve el destino de un lnk (con algunas modificaciones te puede crear los accesos directos).

Código:
AnsiString __fastcall TForm1::ResolveLink(AnsiString&   LinkFile)
{
/**/
  IShellLink* pShellLink=NULL;

  AnsiString URL("");
  HRESULT HR = CoCreateInstance(CLSID_ShellLink,   NULL,   CLSCTX_INPROC_SERVER,
								IID_IShellLink, (void**)&pShellLink);
  if (SUCCEEDED(HR)) {
  IPersistFile* pPersistFile=NULL;
  HR=pShellLink->QueryInterface(IID_IPersistFile, (void**)&pPersistFile);
	if (SUCCEEDED(HR)) {
	  wchar_t WSZ[MAX_PATH];
	  MultiByteToWideChar(CP_ACP, 0, LinkFile.c_str(), -1, WSZ, MAX_PATH);
	  HR=pPersistFile->Load(WSZ, STGM_READ);
	  if (SUCCEEDED(HR)) {
		WIN32_FIND_DATA WFDD;
		HR=pShellLink->Resolve(Application->Handle, SLR_NO_UI);
		if (NOERROR==HR) {
		  char STR[MAX_PATH];
		  pShellLink->GetPath(STR, MAX_PATH,&WFDD, SLGP_UNCPRIORITY);
		  URL=STR;
		}
	  }
	  pPersistFile->Release();
	}
	pShellLink->Release();
  }
  return URL;
}
Espero que esto le sea útil a alguien más y gracias por el interés.
Responder Con Cita
  #6  
Antiguo 10-11-2008
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.289
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por _cero_ Ver Mensaje
...y serian la fecha decreacion, fecha de modificacion
Para las fechas, aparte de lo dicho, puedes ver el truco que hay en mi página, en la seción detrucos, titulado: "Obtener las fechas de un fichero (creación, modificación y último acceso)".

En cuanto al lnk, creo que ya se ha hablado en los foros. Échale un vistazo a la búsqueda.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
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
Acceder al resumen de las propiedades de archivos turminator API de Windows 1 07-03-2008 18:12:02
leer las propiedades de los archivos lookmydoom OOP 1 02-06-2007 08:29:33
Acceso a las propiedades de un objeto desde el editor de propiedades Hugo OOP 0 24-11-2006 12:58:22
Propiedades de archivos pborges36 API de Windows 1 14-10-2004 16:54:26
propiedades de archivos TheBearWhite Varios 0 16-06-2004 18:00:18


La franja horaria es GMT +2. Ahora son las 01:08:16.


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