Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-01-2007
fdoterre fdoterre is offline
Registrado
 
Registrado: ene 2007
Posts: 2
Poder: 0
fdoterre Va por buen camino
Exclamation Como crear una carpeta

hola les queria pedir si me podian decir comopuedo crear una carpeta de forma automatica sin que el usuario la tenga que crear, es para almacenar la clave de un programa, quiero que el archivo de la clave quede dentro de esa carpeta.
Responder Con Cita
  #2  
Antiguo 09-01-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Código Delphi [-]
CreateDir('C:\nueva carpeta');
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 09-01-2007
Avatar de Bicho
[Bicho] Bicho is offline
Miembro Premium
 
Registrado: jul 2003
Ubicación: Inca - Mallorca
Posts: 1.776
Poder: 22
Bicho Va por buen camino
Hola,

tan fácil como ésto:

Código Delphi [-]
uses Sysutils;

...

procedure CreaDirectorio(nombredir : String);
begin
   if not DirectoriExists(nombredir) then CreateDir(nombredir);
end;

Espero te sirva.

Saludos

EDITO: Se me ha adelantado David, ojo por ojo...
Responder Con Cita
  #4  
Antiguo 09-01-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Donde las dan las toman...

Por cierto... al cabo "CreateDir" termina usando (en Windows) la función "CreateDirectory", que también podríamos usar nosotros directamente:

Código Delphi [-]
  if not CreateDirectory(PChar('C:\Nueva carpeta'), nil) then
    ShowMessage(SysErrorMessage(GetLastError));
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #5  
Antiguo 03-09-2007
jymy788 jymy788 is offline
Miembro
 
Registrado: jun 2004
Posts: 120
Poder: 20
jymy788 Va por buen camino
Por seguir con el hilo, CreateDir y CreateDirectory, que hacen lo mismo, no permite crear directamente la estructura de directorios de forma "recursiva", es decir, si yo hago CreateDir(PChar('c:\temp\kk')); no se crea el directorio C:\Temp\kk directamente.

Hay que programarse esto o hay alguna función extendida que lo haga

Saludos y perdón por la ignorancia

Gracias
Responder Con Cita
  #6  
Antiguo 03-09-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Cita:
Hay que programarse esto o hay alguna función extendida que lo haga
Creo que hablamos de ello esta mañana en otro Hilo. La función que buscas es "ForceDirectories" y se encuentra en la unidad "SysUtils.pas".
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #7  
Antiguo 03-09-2007
jymy788 jymy788 is offline
Miembro
 
Registrado: jun 2004
Posts: 120
Poder: 20
jymy788 Va por buen camino
eres un crack DEC.

Yo no participé en el hilo que comentas pero bueno, ya he aprendido algo más.

Solo me queda una cosa que preguntar:

Si yo hago lo siguiente

Código:
fileDir := 'c:\temp\kk';
CopyFile('aplicacion.exe', PChar(fileDir), true);
No se supone que busca aplicacion.exe en el directorio donde se está ejecutando la aplicación Dephi en ese momento y debería de hacer una copia de este fichero al directorio especificado en "fileDir" ??
Responder Con Cita
  #8  
Antiguo 03-09-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Si no estableces la ruta completa del archivo... si no me equivoco se "buscará" en el directorio "activo" en ese momento (revisa las funciones "GetActiveDir", "SetActiveDir"). Pero si lo que quieres es copiar el ejecutable de tu aplicación nada te impide usar "ParamStr(0)",... que contiene la ruta completa del ejecutable de tu aplicación.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #9  
Antiguo 03-09-2007
jymy788 jymy788 is offline
Miembro
 
Registrado: jun 2004
Posts: 120
Poder: 20
jymy788 Va por buen camino
Dec, la verdad es que he probado eso ya y nada.

De hecho, me he ido al ejemplo tonto

Código:
ok := CopyFile(PChar('c:\CLDMA.LOG'), PChar('c:\JYM'), true);
donde 'c:\CLDMA.LOG' existe y 'c:\JYM' también y no copia el fichero CLDMA.LOG al directorio C:\JYM y no tengo ni idea de por qué
Responder Con Cita
  #10  
Antiguo 03-09-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Pues debería copiarlo... tal vez puedas echar un vistazo a "GetLastError()" cuando la función falle de modo que obtengas algo más de información. Y no sé si quizás hay que indicar el directorio de destino con una barra al final: "c:\JYM\", o bien incluso hay que indicar un nombre para el archivo en cuestión, es decir, en este caso: "c:\JYM\CLDMA.LOG".
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #11  
Antiguo 03-09-2007
jymy788 jymy788 is offline
Miembro
 
Registrado: jun 2004
Posts: 120
Poder: 20
jymy788 Va por buen camino
No puedo hacer otra cosa que quitarme el sobrero.

Había probado a poner las barras "\" a quitarlas, todo menos a ponerle el nombre al fichero de destino.

Lo dicho anteriormente, mil gracias
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
Crear carpeta en Linux y asignar permisos kikecg Varios 0 18-12-2006 12:23:30
no se puede crear carpeta en discos mg1821 Linux 0 12-01-2006 20:56:58
crear una carpeta desde php srangel PHP 1 13-12-2005 17:14:48
como crear una carpeta en otro equipo? JuanErasmo C++ Builder 2 04-11-2005 17:48:22
¿Cómo puedo añadir una carpeta para crear el instalador de mi palicación?? nuri Varios 1 09-08-2005 14:48:39


La franja horaria es GMT +2. Ahora son las 23:47:09.


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