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 18-10-2005
Giniromero Giniromero is offline
Miembro
 
Registrado: may 2003
Ubicación: Madrid
Posts: 296
Poder: 22
Giniromero Va por buen camino
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?
Si, lo he pensado, pero que pasa con la parte del apellido, es el primer apellido, nada más, y el campo en el que tengo los apellidos, tengo los dos apellidos guardados, por lo que no tengo manera de identificar ese primer apellido, y como tengo que poner el nombre exacto de la carpeta para que me la abra...

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.
esto es: si por ejemplo el nº de usuario es el 3, y el primer apellido es DE LAS HERAS, sería,
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á :)
Responder Con Cita
  #2  
Antiguo 18-10-2005
Avatar de epuigdef
epuigdef epuigdef is offline
Miembro
 
Registrado: jul 2005
Posts: 196
Poder: 19
epuigdef Va por buen camino
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
Responder Con Cita
  #3  
Antiguo 18-10-2005
Giniromero Giniromero is offline
Miembro
 
Registrado: may 2003
Ubicación: Madrid
Posts: 296
Poder: 22
Giniromero Va por buen camino
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á :)
Responder Con Cita
  #4  
Antiguo 18-10-2005
Avatar de epuigdef
epuigdef epuigdef is offline
Miembro
 
Registrado: jul 2005
Posts: 196
Poder: 19
epuigdef Va por buen camino
Vale, prueba esto:


Código Delphi [-]
procedure ListFileDir(Path: string; FileList: TStrings);
var
SR: TSearchRec;
begin
if FindFirst(Path + '*.*', faAnyFile, SR) = 0 then
begin
repeat
if (SR.Attr = faDirectory) then
begin
FileList.Add(SR.Name);
end;
until FindNext(SR) <> 0;
FindClose(SR);
end;
end;

Este procedimiento te devuelve una lista de todos los subdirectorios que contiene uno dado; por ejemplo, se puede llamar de la siguiente forma:

Código Delphi [-]
 
var datos : TStringList;
begin
datos := TStringList.create;
ListFileDir('c:\windows\', datos);
 
...
 
end;

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
Responder Con Cita
  #5  
Antiguo 18-10-2005
Giniromero Giniromero is offline
Miembro
 
Registrado: may 2003
Ubicación: Madrid
Posts: 296
Poder: 22
Giniromero Va por buen camino
Buenas,

si, en principio esto sería perfecto, lo único, es que no sé como se busca en un tipo de dato tStringList.

Gracias,

Virginia
__________________
Sonrie al mundo, y el mundo te sonreirá :)
Responder Con Cita
  #6  
Antiguo 18-10-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Déjame ver si entiendo.

Por un lado tienes carpetas nombradas así:

Código:
0004896 . PEREZ
0023548 . GARZA
0000563 . ALVAREZ

etc.
pero en tu base de datos tienes

Código:
+---------+----------------+
| 0004896 | PEREZ MEJIA    |
+---------+----------------+
| 0023548 | GARZA ESTRADA  |
+---------+----------------+
| 0000563 | ALVAREZ SIERRA |
+---------+----------------+
En un momento dado tú tienes seleccionado un usuario, digamos GARZA ESTRADA y quieres abrir su carpeta.

Si formas el nombre de la carpeta con todo el campo de los apellidos te quedaría así:

Código:
0023548 . GARZA ESTRADA
Si repasas los folders de la carpeta inicial- por ejemplo usando un ciclo similar al de epuigdef - encontrarás uno de nombre

Código:
0023548 . GARZA
Nunca coincidirá pero sí puede suponerse que el nombre del folder es el comienzo del nombre que formas con el número y los apellidos, y esto es algo que puedes probar fácilmente:

Código Delphi [-]
if Pos(Folder, Format('%0.7d . %s', [NoUsuario, Apellidos])) <> 0 then
  ShowMessage('Folder encontrado');

El Format de arriba te forma el nombre a probar: '0023548 . GARZA ESTRADA' y Folder sería el nombre del folder contra el que pruebas.

En resumen, podrías proceder asi:

Caundo requieres abrir el folder de un usuario dado, primero formas el nombre de la carpeta con ambos apellidos:

Mask := Format('%0.7d . %s', [NoUsuario, Apellidos]);

Recorres los folders de la carpeta inicial y en cada paso comparas el nombre del folder con el de Mask usando Pos. Si para alguno se cumple la condición, sales del ciclo y devuelves el nombre del folder encontrado.

// Saludos
Responder Con Cita
  #7  
Antiguo 18-10-2005
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.096
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Jamás había oido/leido nada sobre el punto catalán, es la primera vez que veo esa expresión . Algunos editores de textos usan ese punto para indicar que hay un espacio, pero es lo único que he visto sobre eso.

¿Para qué y cómo se usa en la "vida real"?, ¿tiene algún significado especial?
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


La franja horaria es GMT +2. Ahora son las 17:31:52.


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