![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
ubicar archivo, con datos sacados de base de datos
Hola,
Tengo una aplicación en delphi 6 con IB7. Le he añadido un procedimiento que me abre la carpeta en la que tengo, a su vez, una carpeta por usuario. Cada usuario de la aplicación tiene una ficha, y un número asociado único. Las carpetas personales de cada usuario tienen la siguiente forma de nombrarse. si el usuario es el 10368 y su apellido es GARCÍA PÉREZ, sería: 0010368 · GARCIA ESto es, 7 valores para el nº de usuario, (con ceros a la izq si es necesario), espacio, el puto catalán, espacio, el primer apellido. Mi problema es el siguiente: Necesito abrir, en cada ficha, la carpeta concreta de cada usuario, sería coger el nº de usuario, que en la base de datos lo tengo en integer, el problema es que si no pongo el nombre exacto de la carpeta no soy capaz de que me la abra. ¿Habría alguna manera de que se buscase el nº de usuario, esto es, que yo pusiese '*' + numerodeusuario.asstring + '*', como pasa en el "buscar archivos o carpetas" del windows. EStoy usando el siguiente ShellExecute: Código:
PathAlumni := xpath+ '*' + FrmDModule.TablaNUMUSUARIO.AsString + '*'; shellexecute(self.Handle, PChar('open'), PChar('explorer.exe'), PChar(PathAlumni), nil, SW_SHOWNORMAL); Muchas Gracias, Virginia Romero
__________________
Sonrie al mundo, y el mundo te sonreirá :) |
#2
|
||||
|
||||
Buenas!
Puedes pasar a String el número de usuario y añadir los ceros por la izquierda hasta que la cadena tenga 7 dígitos?
y te queda en temp el código del usuario correctamente formateado Un saludo Edu |
#3
|
||||
|
||||
Cita:
![]()
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#4
|
|||
|
|||
Hola,
Código:
Puedes pasar a String el número de usuario y añadir los ceros por la izquierda hasta que la cadena tenga 7 dígitos? Código:
ESto es, 7 valores para el nº de usuario, (con ceros a la izq si es necesario), espacio, el punto catalán, espacio, el primer apellido. 0000003 · HERAS. Por cierto, no era el puto catalán, sino el punto catalán, esto es el punto del 3, ha sido un error tipográfico , glup, lo siento. Virginia Romero
__________________
Sonrie al mundo, y el mundo te sonreirá :) |
#5
|
||||
|
||||
Buenas!
Pues como no añadas un campo en la tabla de usuarios en el que dejes el primer apellido separado del resto y lo pilles de ahí... No sé, no sé... Edu |
#6
|
|||
|
|||
Buenas,
¿se te ocurre alguna otra forma de abrir una carpeta?¿algún otro objeto que no sea el shellexecute y que me pueda servir para hacer esto? ¿Algún sitio donde poder documentarme mejor del ShellExecute? Muchas Gracias Virginia
__________________
Sonrie al mundo, y el mundo te sonreirá :) |
#7
|
||||
|
||||
Vale, prueba esto:
Este procedimiento te devuelve una lista de todos los subdirectorios que contiene uno dado; por ejemplo, se puede llamar de la siguiente forma:
y en datos tendrás una lista de todos los subdirectorios de c:\windows. A partir de ahí, si tienes en código del usuario ya formateado a 7 caracteres (y es único) puedes encontrar el nombre completo si buscar el elemento de la lista 'datos' que empieza por éste código. Te sirve? Edu |
![]() |
|
|
![]() |
|