Power Builder - CAPTURAR RUTA

 
Vista:

CAPTURAR RUTA

Publicado por raquel (42 intervenciones) el 09/06/2003 21:11:35
Holas a todos, ante todo gracias x las respuestas q me puedan dar, quisiera saber como puedo capturar la ruta completa de un archivo en power (ejemplo1 : pc01\c\mis documentos\archivo.doc ; ejemplo 2: pc02\c\archivo2.doc)
saludos del peru
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:CAPTURAR RUTA

Publicado por Milson Cardona (613 intervenciones) el 09/06/2003 21:45:47
Un saludo especial desde COLOMBIA

en realidad la pregunta es muy ambigua...

pero creo que con la función GETFILEOPENNAME de PB lograrás hacer lo que deseas.... esta función despliega un ventana de dialogo, donde puedes buscar el archivo deseado en tu equipo o en la red, y devuelve la ruta y el nombre del archivo que se eligió.

para más referencia puedes buscar en la ayuda de PB.

suerte y espero que sea lo que estás buscando
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:CAPTURAR RUTA

Publicado por Oscar (1178 intervenciones) el 09/06/2003 22:51:02
Para ahorrarte el trabajo de buscar, sobre lo que dice Milson:

Si piensas mostrar esa ruta en un DataWindow:
1. En tu tabla creas un campo:
midocumento (varchar).
2. En la ventana que contiene tu control datawindow, insertas un botón llamado Browse, con el siguiente script:
---------------------------
String ruta, nombre
Integer valor
Integer fila
fila=dw_1.GetRow()

// La caja de dialogo buscará por ejemplo, documentos del tipo doc y rtf.
valor = GetFileOpenName("Seleccione el archivo", + ruta, nombre, "DOC", + "Doc Files (*.DOC),*.DOC," + "Rtf Files (*.RTF),*.RTF")

//En el campo midocumento, mostrará la ruta completa del archivo
dw_1.SetItem(fila,"midocumento",ruta)
// Si quisieras mostrar en un StaticText, sería:
// st_1.text=string(ruta)

Nota: Si en el campo midocumento, no deseas mostrar la ruta completa del documento; sinó tan solo su nombre; la última línea del script puedes cambiarlo por:

//En el campo midocumento, mostrará sólo el nombre del archivo
dw_1.SetItem(fila,"midocumento",nombre)
-------------------
Nota: No hice la prueba con la ruta de los equipos de una red; pero creo que funcionará y disculpas a todos por ser tan explícito; es que no tenía nada que hacer ; )
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

NO ME EXPLIQUE BIEN

Publicado por RAQUEL (42 intervenciones) el 10/06/2003 20:19:56
gracias ante todo x su tiempo,no me he esplicado bien miren tengo un usuarios en terminales tengo un administrador (usuario y administrador poseen aplicativo en power ), el usuario guarda en su pc archivos *.rtf, el administrador puede ver los archivos que el usuario aya creado *.rtf desde su aplicativo (puede ver los la informacion que esta contenida en esos archivos).Para que el administrador pueda ver la informacion de los archivos he creado un a tabla donde se guarda la ruta del archivo ejemplo : c:\proyecto\segumiento.rtf, pero el problema es que no se como hacer para que se guarde el archivo asi pc01\\c:\proyecto\segumiento.rtf, tomado la unidad de red(son 10 pcs cada usuario guarda archivos *.rtf en su maquina) ya que de otro modo cuando el administrador quiera leer la informacion solo accedera a la ruta c:\proyecto\segumiento.rtf y no vera la informacion de la pc01, pc02, ya que esta ruta c:\proyecto\segumiento.rtf direcciona su pc del adiministrador y no la del usuario

saludos del peru
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Es sólo una idea...

Publicado por Oscar (1178 intervenciones) el 11/06/2003 00:19:30
Puedes realizar lo siguiente:
1. Mediante una API (u otro medio, creo que se habló en este foro), averiguas el nombre del equipo local.

Ejemplo:
pc01
y lo guardas en una variable, digamos "num_pc"

2. Obtienes la ruta del archivo en el equipo local (con el método que tú ya sabes, o el que se explicó en el anterior post).
Ejemplo:
c:\proyecto\seguimiento.rtf

4. Al nombre del equipo local, lo concatenas la ruta. ejemplo:

\\+num_pc+\+ruta

De esa manera tienes:
\\pc01\C:\proyecto\seguimiento.rtf

pero, como es ilegal esa ruta, debes quitar los dos puntos, por ejemplo con la función REPLACE (ve la ayuda), reemplazas el string ":\", por el string "\". De esa manera, la ruta en el equipo que se está ejecutando, se observará completa, es decir:
\\pc01\C\proyecto\seguimiento.rtf

Nota: Yo sé que es más fácil sugerir que hacerlo; pero la idea está ahí. Ojalá que hayan otros aportes o correcciones.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

La idea detallada y funciona...

Publicado por Oscar (1178 intervenciones) el 11/06/2003 04:32:47
De lo dicho a lo hecho:
1. En la ventana que contiene tu DW, en la ficha Declare Instance Variable (Global External Functions) pegas en una sola línea:
FUNCTION long GetComputerNameA(ref string ComputerName, ref ulong BufferLength) LIBRARY "KERNEL32.DLL"

2. En tu tabla creas un campo:
midocumento (varchar)
3. En la ventana que contiene DW, en el botón Browse, pegas:
String ruta, nombre, ruta_corregida, ruta_completa
Integer valor
Integer fila
fila=dw_1.getRow()

//Obtiene el nombre de la PC
long ll_ret
string ls_ComputerName
ulong BufferLength = 250

ls_ComputerName = Space(BufferLength)
ll_ret = GetComputerNameA(ls_ComputerName, BufferLength)

//Obtienes la "ruta" local. Ejm: C:\proyecto\seguimiento.rtf
valor = GetFileOpenName("Seleccione el archivo", + ruta, nombre, "DOC", + "Bmp Files (*.BMP),*.BMP," + "Jpg Files (*.JPG),*.JPG")

//Quitas los dos puntos. Ejm: C\proyecto\seguimiento.rtf
ruta_corregida=Replace(ruta,2,2,"\")

//Concatenas el nombre de la PC y la ruta corregida
//Ejm: \\pc01\C\proyecto\seguimiento.rtf
ruta_completa=string("\\"+ls_ComputerName+"\"+ruta_corregida)

//Obtienes la ruta completa en un campo de tu DW
dw_1.SetItem(fila,"midocumento",ruta_completa)

Nota: El método es válido para cualquier cantidad de PCs, tampoco importa la ruta donde se halla el archivo. Por ejemplo, otro usuario puede mostrar:
\\pc-18\D\micarpeta\otro.rtf
Suerte!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

GRACIASS!!

Publicado por RAQUEL (42 intervenciones) el 11/06/2003 19:54:02
Gracias a todos x su aporte , saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar