Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-12-2010
oscjae oscjae is offline
Miembro
 
Registrado: may 2005
Posts: 70
Poder: 19
oscjae Va por buen camino
Buscar ficheros en la red

Buenas, he buscado esto por todas partes y no he he encotrado nada, estoy ejecutando una aplicacion que busca un fichero, utilizo FileExists, cuando el fichero que busco esta en el equipo desde el que se esta ejecutando la aplicacion va bien, el problema es cuando el fichero esta en otro equipo, y el otro equipo no tiene compartido todo el disco, ya que el protocolo netbeui necesita, si es por red, que tenga compartida la unidad o la carpeta donde se encuentra el fichero, mi pregunta es si existe alguna funcion en la que se pueda buscar ese archivo por protocolo TCPIP.

Gracias.
Responder Con Cita
  #2  
Antiguo 27-12-2010
Avatar de dalyla2010
dalyla2010 dalyla2010 is offline
Miembro
NULL
 
Registrado: dic 2010
Posts: 16
Poder: 0
dalyla2010 Va por buen camino
Yo no creo que se pueda, porque simplemente windows lo tiene bloqueado, tendrias ke hackearlo para accesarlo y por algun componente del tipo tcp/ip, supongo que su protocolo llega hasta donde windows lo permite.
Responder Con Cita
  #3  
Antiguo 28-12-2010
oscjae oscjae is offline
Miembro
 
Registrado: may 2005
Posts: 70
Poder: 19
oscjae Va por buen camino
Gracias por responder dalyla.

Mi caso es el siguiente, estoy ejecutando una aplicacion desde un terminal, una aplicacion que esta en el servidor, y en un momento determinado de la aplicacion necesito saber si existe un archivo que hay en el servidor, por si existe actualizarlo descargando otro, me las he ingeniado probando rutas, porque la ruta practicamente la tengo, porque depende de la del ejecutable, pero claro, no se cual puede ser la carpeta compartida, ya que el programa al instalarse crea un arbol de directorios, y probando probando, llego a conseguir la ruta, lo del tcpip es porque la conexion a la base de datos la hago por ese protocolo, y claro, buscar el archivo seria mucho mas facil.

Gracias por responder.
Responder Con Cita
  #4  
Antiguo 28-12-2010
Avatar de dalyla2010
dalyla2010 dalyla2010 is offline
Miembro
NULL
 
Registrado: dic 2010
Posts: 16
Poder: 0
dalyla2010 Va por buen camino
Mmm pero entonces piensas buscar el archivo por toda la red. Pues para mi, de entrada tiene que estar compartida la carpeta, esto quizas lo puedas hacer desde el servidor, una vez, que tengas la carpeta la compartes, y a tu aplicacion le configuras que haga la busqueda en la carpeta tal debe. Que es lo que yo he hecho. En mi caso yo creaba mi carpeta compartia la carpeta y cuando queria actualizar mi aplicacion buscaba en esa carpeta si el archivo era mas nuevo y lo actualizaba. Es algo similar, si vas a actualizar minimo tienes que saber de donde que no? Ademas perderas mucho tiempo si dejas que siempre busque por toda la red o todo el servidor. Saludos y suerte
Responder Con Cita
  #5  
Antiguo 30-12-2010
oscjae oscjae is offline
Miembro
 
Registrado: may 2005
Posts: 70
Poder: 19
oscjae Va por buen camino
En realidad no es en toda la red, creo que me he explicado mal, te pongo un ejemplo practico.

Tengo dos equipos: SERVIDOR y TERMINAL

La estructura de las carpetas en el servidor es la siguiente,

c:\carpeta1\carpeta2\Programa\Programa.exe

y el archivo que tengo que buscar esta en:

c:\carpeta1\carpeta2\carpeta3\archivo.ext

Y la base de datos esta en:

c:\carpeta1\carpeta2\basedatos\bd.fdb

Imaginate que en el servidor se comparte la carpeta "carpeta1", desde el terminal se conecta a la base de datos de la siguiente forma, por tcpip,

SERVIDOR:c:\carpeta1\carpeta2\basedatos\bd.fdb

A partir de esa ruta, por el protocolo netbeui:

//SERVIDOR/carpeta1/carpeta2/programa/programa.exe

A partir de la de tcpip y la del programa, voy probando diferentes rutas

//SERVIDOR/c/carpeta1/carpeta2/carpeta3/archivo.ext
quito de la ruta "c"
//SERVIDOR/carpeta1/carpeta2/carpeta3/archivo.ext

y de esta forma encuentro el archivo desde TERMINAL.

Supongo que es lo que tu dices, que no hay otra forma, de todas formas, si encuentro algo lo posteare.

Gracias
Responder Con Cita
  #6  
Antiguo 30-12-2010
Avatar de dalyla2010
dalyla2010 dalyla2010 is offline
Miembro
NULL
 
Registrado: dic 2010
Posts: 16
Poder: 0
dalyla2010 Va por buen camino
Ahh ok entonces no estas empezando de la nada, entonces no es tan complicado :P

Código:
procedure TfrmDirectorios.muestra_dir(path:string; carpetas:boolean; lista:TRzListBox);
var S:string;
    SearchRec:TsearchRec;
    Result:integer;
begin
try
  chdir(path);   //Cambia el directorio
except
  application.MessageBox('El directorio no existe o no puede ser accesado.', 'Aviso', MB_ICONINFORMATION);
end;
//FindFirst(path+'*.*', faAnyFile,SearchRec);
lista.items.Clear;
if carpetas then
  begin
  FindFirst(path+'*.*', faDirectory,SearchRec);
    Repeat
      if (SearchRec.Name<>'.') and (SearchRec.Name<>'..') and not AnsiContainsStr(SearchRec.Name, '.') then
        lista.Items.Add(s+SearchRec.Name);
      Result:=FindNext(SearchRec);
    until result <> 0;
  end
else
  begin
  FindFirst(path+'*.*', faAnyFile,SearchRec);
   Repeat
      if (SearchRec.Name<>'.') and (SearchRec.Name<>'..') and AnsiContainsStr(SearchRec.Name, '.') then
        lista.Items.Add(s+SearchRec.Name);
      Result:=FindNext(SearchRec);
    until result <> 0;
  end;
lista.Sorted := true;
end;
Mira yo use este codigo en delphi 7, enlisto carpetas y/o archivos, lo que tu harias en vez de enlistarlos es recorrerlos y compararlo con el nombre de archivo que buscas.

Espero esto te ayude, es solo un fragmento del codigo pero creo es lo que ocupas.
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
como buscar ficheros recursivamente kenychy C++ Builder 11 14-12-2010 17:47:12
buscar ficheros con mascara en un directorio petete2008 API de Windows 2 06-09-2010 14:44:16
ficheros.NTX perillan Conexión con bases de datos 10 24-03-2008 21:16:48
Ficheros *.dfm -Galadriel- Varios 3 17-08-2007 13:59:22
ficheros con eof guantxo Varios 9 25-07-2003 16:58:52


La franja horaria es GMT +2. Ahora son las 15:06:25.


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