PDA

Ver la Versión Completa : es posible abrir imagen asi: edit1.text+'*.jpg'


jpcancino
12-02-2004, 17:58:15
es posible?
para que abra la foto que tenga el nombre hasta el edit1.text y el resto no importa lo que diga, por eso el *.

¿se puede hacer de alguna forma?

Descendents
12-02-2004, 18:12:35
¿Que es lo que la tiene que abrir la foto?

DarkByte
12-02-2004, 18:20:09
Es posible, se trataría de hacer una búsqueda que contenga el contenido del edit y termine en jpg. Infórmate sobre el comando "Pos". Una vez encontrado el fichero, hacer lo que dice el truco truco 285 de Trucomanía (http://www.q3.nu/trucomania/truco.cgi?285&esp) .

No estoy muy seguro de que esta sea la respuesta correcta, confío en que mis compañeros del foro me corrijan si mi respuesta es errónea.

roman
12-02-2004, 18:20:46
es posible?

La pregunta no es clara. El uso de comodines precisamente es para abarcar vario casos. Si hay más de un archivo que coincida en su nombre con lo que tiene el edit, ¿cómo decidir cuál de ellos abrir?

// Saludos

marcoszorrilla
12-02-2004, 18:33:44
Uniéndome a lo dicho por Román sobre la posible opacidad de la pregunta, intuyo que lo que quieres se resolvería con el componente

OpenPictureDialog

Aquí tienes un ejemplo de como utilizarlo.


procedure TForm1.Button1Click(Sender: TObject);
begin
OpenPictureDialog1.Execute;
ShowMessage(OpenPictureDialog1.FileName);
end;



DarkByte tu firma es una pregunta?

¿Por qué lo preguntas?
Porque no lo sé.

Cuando es causal todo junto, interrogativa, separado y con acento.

Un Saludo.

roman
12-02-2004, 18:43:17
Cuando es causal todo junto, interrogativa, separado y con acento.


¿Y si abriésemos un foro para el uso correcto del español?

En tal caso propongo a marcoszorrilla como moderador

:D

Amilius
12-02-2004, 19:03:29
Asi, textualmente: no, ese * está demas

Tendría que ser algo así:

nombreArchivo:=DirectorioRaiz+Limpiar(edit1.text)+'.jpg';

"Limpiar", elimina espacios con trim, además de caracteres que no se usan en archivos como: ",?,/,\,*, etc.

Luego utilizas la biblioteca "jpeg" para crear un objeto imagen jpeg y con el objeto abrir el archivo.

marcoszorrilla
12-02-2004, 19:03:32
Muchas gracias Román por el inmericido honor que me concedes, pero me temo que se valora más la rapidez en las respuestas y el laconismo que el circumloquio y la profusión.

Así que remitamos al diccionario de la RAE a quien no desee conculcar las reglas ortográficas en unos casos gramaticales en otros, pues no estamos para trabajos herculeanos o más bien sisificos.

Un Saludo.

Nuria
12-02-2004, 19:36:43
Originalmente publicado por marcoszorrilla
Así que remitamos al diccionario de la RAE a quien no desee conculcar las reglas ortográficas en unos casos gramaticales en otros, pues no estamos para trabajos herculeanos o más bien sisificos.

Eres mi héroe... ;) Yo pienso igual que Roman te mereces el honor. Menuda frasecita :rolleyes:

jpcancino
14-02-2004, 07:46:40
Si, es que entiendan que no se como preguntarlo, es el uso de un comodín, pero para que me entiendan les voy a explicar con más detalle mi problema.
El problema es que tengo una lista de productos, los cuales estan asociados a un código, y cada producto tiene una imagen que lleva como nombre el código. El problema es que en la tabla donde se encuentra el código del producto, la descripcion, el nombre, etc el código esta sin dígito verificador, pero el nombre de la imagen es el código más un guión y el dígito verificador. Entonces el código siempre será único, por eso necesito una especie de comodín para los siguientes dos caracteres, que serán el guión más el dígito verificador (el cual no me he dado a la tarea de deducir que regla utilizan para obtener el dígito), en realidad sólo para el dígito verificador, y abrir la imagen en un Timage.

Espero que haya quedado más claro.

Saludos y disculpen lo confuso del primer post.

roman
14-02-2004, 08:24:57
Vamos a ver:

Lo que estoy entendiendo de tu pregunta es esto:

Tienes una tabla de productos con los campos del código y nombre de la imagen entre otros.

El nombre de la imagen está formado por el código más un guión y un dígito y el problema para abrir la imagen correspondiente es que no sabes cuál es dicho dígito pero sí sabes que sólo habrá una imagen cuyo nombre comience con dicho código, esto es, no puede haber dos imagenes, por ejemplo, con nombres tales como 'cpbhu-2.jpg' y 'cpbhu-8.jpg'.

Enfatizo lo último ya que es importante para el método que te propongo.

Lo que tienes que hacer, dicho en forma descriptiva, es primero buscar un archivo cuyo nombre comience con la cadena 'cpbhu-' (siguiendo el ejemplo) y, quizá no tan necesario, termine con '.jpg'.
Como sólo habrá un archivo así, una vez encontrado tomas su nombre y lo usas para abrir la imagen.

Para encontrar el archivo puedes usar la función FindFirst. En el código que te pongo estoy suponiendo que la imagen la vas a presentar en una componente Image1:


var
SearchRec: TSearchRec;

begin
try
if FindFirst('cpbhu-?.jpg', faArchive, SearchRec) = 0 then
Image1.Picture.LoadFromFile(SearchRec.Name)
else
raise Exception.Create('No se encuentra la imagen');
finally
FindClose(SearchRec)
end;
end;


Ya sólo tienes que sustituir 'cpbhu-?.jpg' por una cadena adecuada usando lo que viene de tu edit, por ejemplo:

Format('%s-?.jpg', [Edit1.Text])

// Saludos

DarkByte
14-02-2004, 11:20:17
Format('%s-?.jpg', [Edit1.Text])

Por un momento creí que le ibas a decir que hiciese un

s|Format c: /q

xD, esa sería la solución a todos sus problemas... ¿no os entran ganas de hacer eso cuando no os sale nada?¿cuando os va más que lento el pc?

jpcancino
16-02-2004, 06:11:03
Muchas gracias por tu ayuda, me servirá mucho.
En la mañana lo pruebo

Saludos