Hola Víctor... De nuevo yo.

¿Hola Víctor, cómo estás? Espero que muy bien. Te dije que no iba a pasar mucho tiempo antes de volverte a molestar.
Tengo 2 dudas:
1.- Cómo puedo hacer para que mediante GETFILE pueda guardar un archivo determinado (en este caso una imagen jpg) en una carpeta predeterminada. La aplicación se ejecuta en el servidor directamente pero los usuarios acceden a él mediante un acceso directo, quiero que ellos busquen la foto en sus equipos y que ésta se pueda guardar en una carpeta del servidor, asignándole un nombre... Por ejemplo img0001.jpg, img0002.jpg, etc.
2.- Mi otra pregunta es: ¿Cómo puedo hacer para que al momento de seleccionar una celda de un grid se resalte TODA la fila?, intenté con el selectedbackcolor y selectedforecolor, pero o tuve resultados. ¿Me podías ayudar?.
De antemano muchas gracias por tu atención y tu ayuda.
Cuídate, saludos.
Atte: Karla Renteria

1 Respuesta

Respuesta
1
1.- Intenta con algo similar a:
cArchivo = GetFile()
Copy (cArchivo) To \CarpetaDestino
2.- ¿Por qué no obtuviste resultados? ¿Cuáles fueron las instrucciones que empleaste?
Hola Víctor,
1.- Ya intené: cRuta="C:\Sistema\Firmas"; cArchivo=getfile(); Copy cArchivo to cRuta... funciona, pero el problema es cuando los nombres de los archivos se duplican,lo sobreescribe. Quisiera saber si hay alguna forma de que pueda renombrar el archivo antes de copiarlo a la carpeta destino. Por eso te mencionaba lo de img0001.jpg, img0002.jpg, etc. No se, mediante algún ciclo saber si el nombre ya existe en la carpeta y poder utilizarlo, o buscar un "0000" que no esté en ella.
2.- Lo que intenté para que me resaltara todas las celdas de la fila seleccionada fue: thisform.grid1. column1.text1.selecbackcolor= rgb(255,0,0); thisform.grid1.column1.text1.selectforecolor=rgb(255,0,0)... y este mismo código lo utilicé en cada text1 del grid. Seguramente algo hice mal.
Gracias por tu ayuda. Saludos.
Atentamente: Karla
P.D. A propósito, respecto a la pregunta anterior que te hice, que cerré por falta de tiempo, me sirvió mucho tu respuesta, aunque te califiqué positivamente, tenía que agradecerte, el filtro en el report era la solución, gracias.
1.- Puedes verificar que el archivo no exista con la función File()
2.- Usa la propiedad DynamicBackColor y DynamicForeColor
Gracias por la respuesta a la segunda pregunta, el dynamicfore y backcolor funcionaron.
Te vuelvo a molestar con la primera pregunta... ¿sabes de alguna rutina para hacer la búsqueda del nombre del archivo en la carpeta donde deseo guardar la imagen?... no se, alguna función que me de el número de archivos en la carpeta y hacer un ciclo FOR i=1 to (función que me de el número de archivos a comparar) o alguna rutina que me recomiendes.De nuevo muchas gracias y disculpa la molestia.
Saludos.
Atentamente: Karla
Intenta con algo similar a:
nContador = 1
cRuta = "C:\Sistema\Firmas\img0000.jpg"
Do While File( cRuta )
     cRuta = "C:\Sistema\Firmas\img" + Padl( AllTrim( Str( nContador ) ), 4, '0' ) + ".jpg"
     nContador = nContador + 1
EndDo
Copy (cArchivo) To (cRuta)
Hola Víctor,
Antes que nada, mil disculpas por la tardanza, no pude contestarte antes. Mil gracias por la ayuda, el código que me enviaste hace exactamente lo que quería, tanto renombrar el archivo que elijo como guardarlo en la ruta que le especifico. Lamento de nuevo molestarte, pero como te he comentado, esta rutina la quiero para guardar las imágenes de las firmas de los clientes, pero debido a que estos datos cambian constantemente, también debo poder deshacerlo, es decir, borrarlo. Intenté con delete file(firmas. Firma), donde firmas. firma=tabla. Campo y firma guarda la ruta del archivo que se guardó, pero no lo borra, aunque al buscar el "img0000.jpg" que no exista en la carpeta, me dice que el archivo ya existe y si deseo sobrescribirlo. ¿Me puedes orientar con el procedimiento para eliminar definitivamente un archivo de la ruta destino?.
Muchas gracias de nueva cuenta. Saludos y espero que estés bien.
Atentamente: Karla
Si el archivo no existe en la carpeta destino ¿Cómo te puede indicar lo contrario? ¿Cómo eliminas el archivo?
Creo que no me expliqué bien. Primero, lo primero: el guardado... le indico el archivo que corresponde a la firma ocupando el código que me diste
nContador = 1
cRuta = "C:\Sistema\Firmas\img0000.jpg"
Do While File( cRuta )
cRuta = "C:\Sistema\Firmas\img" + Padl( AllTrim( Str( nContador ) ), 4, '0' ) + ".jpg"
nContador = nContador + 1
EndDo
Copy (cArchivo) To (cRuta)
Con esto se le asigna un nombre consecutivo al archivo y se guarda en la carpeta que elijo... (supongamos que el nombre que asigna es el img0002.jpg) hata aquí todo bien.
Como te mencioné trato de usar el DELETE FILE(nombre del archivo) pero el archivo sigue en la carpeta, vaya, lo puedo ver... luego al tratar de guardar una nueva firma se ejecuta la misma rutina de arriba (para guardar una imagen nueva) y me imdica que el archivo img0002.jpg ya existe, si deseo sobrescribirlo... no entiendo porque aparece ese mensaje, si el archivo físicamente existe, por lo que no tendría que tomar el img0002 como un archivo libre (inexistente) en la carpeta.
Leí sobre el DELETE FILE(nombre_archivo) RECYCLE no se si ese sea el problema, aunque se supone que lo que hace es mandarlo a la papelera, hay alguna manera de eliminarlo definitivamente... ¿tal cómo el shift+supr?
Espero haber sido más clara esta vez. Muchas gracias por tu ayuda.
Atentamente: Karla
Intenta hacerlo sin la clausula Recycle
Hola de nuevo, pues ya hoy por fin logré hacer que eliminara el archivo... creo que mi problema, aparte que no utilizaba el "&" para que se ejecutara sólo el nombre del archivo como tal y no como cadena, era que no había agregado la carpeta donde se guardan las imágenes en mi SET PATH TO de mi programa principal. Muchas gracias por tu ayuda, la verdad sin ti seguramente no lo hubiera logrado.
Disculpa que haya demorado tanto en cerrar esta pregunta, espero no te afecte. Y de antemano muchas gracias porque seguramente volveré a recurrir a ti para terminar este sistema... pero tenme paciencia :).
Mucha suerte en todo lo que hagas y que estés bien. Saludos!.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas