Delphi - subir fotos para credenciales

 
Vista:

subir fotos para credenciales

Publicado por Antonio (75 intervenciones) el 21/09/2009 17:21:49
Estimados amigos:
Estoy haciendo un programa de credenciales, donde pongo los datos del empleado y tengo que sacarle una foto y logicamente tiene que aparecer en el programa, ya tengo todo hecho.. lo unico que me falta es como meter la foto en la base de dato (access) y despues verla en el mismo programa.. yo se que se pueden ver con DBImage, pero como hago para meterla a la base de datos en el programa???
Si alguien sabe como hacerlo se lo agradesco me apoye.. mandeme los codigos o las formas de hacerlo.. gracias...
Buen dia.
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
sin imagen de perfil
Val: 65
Oro
Ha mantenido su posición en Delphi (en relación al último mes)
Gráfica de Delphi

RE:subir fotos para credenciales

Publicado por E.T. (1244 intervenciones) el 22/09/2009 17:09:54
Esto es lo que necesitas, está probado:

Table1.Append;
table1.FieldByName('clave').AsInteger:=SpinEdit1.Value;
TBlobField(Table1.FieldByName('imagen')).LoadFromFile('ruta completa de la imagen');
Table1.Post;
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:subir fotos para credenciales

Publicado por Antonio (75 intervenciones) el 24/09/2009 05:21:19
perdon mi ignorancia.. pero dentro de los parentices ('clave') que pongo?? otra cosa el SpinEdit1 de donde lo saco.. puse un Edit y le arregle el nombre.. le puse SpinEdit1... asi sera??, en los parentices ('imagen') pongo .jpg y sin las comas??? o como es??,... en los parentices de la ruta ya puse toda la direccion completa de la carpeta donde estan las imagenes... C:\Documents and Settings\PEPE\Escritorio\ProgConsulta\Images... asi sera???... y todo esto lo hago con un BitBtn1..ok

pues bien amigo.. yo tengo lo siguente, dime tu si estoy bien con esto.

Tengo un DirectoryListBox1 y tambien FileListBox1 vinculados para queme vaya mostrando los archivos de cada carpeta... escojo el archivo imagen.jpg pero despues no se como mandarlo a la base de datos y poder verlo en DBImage1... ahora tu que sabes de esto.. esto que estoy haciendo esta bien o necesito hacerlo como tu me lo indicas... si es como tu me dices.. explicame por favor los pasos que puse.
muchas gracias amigo... este es mi primer programa que hago... y estoy aprendiendo recien.. lo estoy haciendo con Delphi 5
un abrazo desde Chile
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
sin imagen de perfil
Val: 65
Oro
Ha mantenido su posición en Delphi (en relación al último mes)
Gráfica de Delphi

RE:subir fotos para credenciales

Publicado por E.T. (1244 intervenciones) el 24/09/2009 20:30:05
Ok, deja te explico mezclando lo que tenemos los dos.

Digamos que tu tabla (la de credenciales) tiene un campo que se llama clave, que es el indice de dicha tabla, y el campo imagen, que es donde va la foto:

ultimaclave, es una variable tipo integer que tiene la clave de la ultima credencial que ingresaste a tu tabla, puedes omitir el campo clave si no lo tienes en tu tabla, yo solo lo puse pues nunca he usado access para un sistema, solo hice una base de datos con una tabla y dos campos en esa tabla, que son lo que puse en el ejemplo

Table1.Append;
table1.FieldByName('clave').AsInteger:=ultimaclave+1;
TBlobField(Table1.FieldByName('imagen')).LoadFromFile(DirectoryListBox1.Directory+FileListBox1.FileName);
Table1.Post;

Con ese codigo pones la imagen que tengas entre el DirectoryListBox1.Directory y el FileListBox1.FileName, ya solo faltaría poner un dbImage, para que vieras la foto de tu base de datos.

NOTA. hay que ver que tipos de imagen acepta delphi, no se si te vaya a funcionar con jpg, lo probé con bmp
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:subir fotos para credenciales

Publicado por Antonio (75 intervenciones) el 24/09/2009 23:39:04
MI amigo no se si sere muy cerrado pero no tengo ninguna clave, no tengo ninguna credencial puesta, esto es totalmente nuevo la base de dato esta limpia, sin foto.

Nombre de la Tabla DatosEmpleados
Table1

Campo
Table1Imagen

asi esta mi base de datos

gracias
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:subir fotos para credenciales

Publicado por Antonio (75 intervenciones) el 25/09/2009 00:14:15
No pasa de:
(table1.FieldByName('clave').AsInteger:=ultimaclave) aqui se queda..
mira estoy haciendo pruebas con una base de datos que se llama :

Table1 Datos base de datos Access Microsoft

campo campo campo
imagen Clave Numero

el Campo Imagen es de OLEObjet (Blob)

tengo un boton button1
DirectoryListBox1
FileListBox1

haslo y checa donde stoy mal.. porfa.. gracias amigo por tu paciencia, pero nunca he estudiado programacion.. estoy aprendiendo solito.. jeje..
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
sin imagen de perfil
Val: 65
Oro
Ha mantenido su posición en Delphi (en relación al último mes)
Gráfica de Delphi

RE:subir fotos para credenciales

Publicado por E.T. (1244 intervenciones) el 25/09/2009 01:53:54
Ok, con esa base de datos que estas usando, debe funcionar el codigo que te pasé, intenta esto:

Table1.Append;
table1.FieldByName('clave').AsInteger:=1;
table1.FieldByName('numero').AsInteger:=1;
TBlobField(Table1.FieldByName('imagen')).LoadFromFile(DirectoryListBox1.Directory+FileListBox1.FileName);
Table1.Post;

suponiendo que la tabla esté vacia, eso te debe insertar un registro en ella, intentalo

Sabes que el componente Table1, debe estar enlazado a la base de datos de alguna forma, cierto? además debe estar activa

Lo más snecillo sería registrar tu base de datos en el BDE administrator, o en el ODBC de windows
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:subir fotos para credenciales

Publicado por Antonio (75 intervenciones) el 26/09/2009 03:37:54
gracias mi hermano.. no sabes cuanto te lo agradesco.. solo un ultimo problemita.. jejeje .. dice que no puede ingresar imagen como integer... que hago, ???? juro que no te molesto mas.. jejeje

gracias..
un abrazo
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
sin imagen de perfil
Val: 65
Oro
Ha mantenido su posición en Delphi (en relación al último mes)
Gráfica de Delphi

RE:subir fotos para credenciales

Publicado por E.T. (1244 intervenciones) el 26/09/2009 17:05:52
Casi seguro que tienes una liea así:

table1.FieldByName('imagen').AsInteger:=1;

Pero si no, pon el codigo tal cual como lo tienes para buscar el error
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:subir fotos para credenciales

Publicado por Antonio (75 intervenciones) el 26/09/2009 18:34:12
dice ..
cannot open file C:\Documents and Settings\PEPE\Escritorio\ProgConsulta\ImagesC:\Documents and Settings\PEPE\Escritorio\ProgConsulta\Images\maria.jpg

hice pruebas con varias.. jpj, bmp, gif, png.. y ninguna funciona..
el codigop esta igual me lo mandaste..

Table1.Append;
table1.FieldByName('clave').AsInteger:=1;
table1.FieldByName('numero').AsInteger:=1;
TBlobField(Table1.FieldByName('imagen')).LoadFromFile(DirectoryListBox1.Directory+FileListBox1.FileName);
Table1.Post;

también lo puse así.

Table1.Append;
table1.FieldByName('clave').AsInteger:=1;
table1.FieldByName('numero').AsInteger:=1;
table1.FieldByName('imagen').AsInteger:=1;
TBlobField(Table1.FieldByName('imagen')).LoadFromFile(DirectoryListBox1.Directory+FileListBox1.FileName);
Table1.Post;

Aqui sale este error:

Canot access field ?imagen? as type Integer.

Pregunta... no tendria que declarar el integer en alguna parte???? solo pregunto.. no lo se..

la base de dato esta en el ODBC puesta correctamente..

Gracias mi hermano.. te agradesco tu atencion..

Antonio desde Chile
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
sin imagen de perfil
Val: 65
Oro
Ha mantenido su posición en Delphi (en relación al último mes)
Gráfica de Delphi

RE:subir fotos para credenciales

Publicado por E.T. (1244 intervenciones) el 28/09/2009 18:17:48
Ok, el problema está al cargar la imagen

Table1.Append;
table1.FieldByName('clave').AsInteger:=1;
table1.FieldByName('numero').AsInteger:=1;
TBlobField(Table1.FieldByName('imagen')).LoadFromFile(FileListBox1.FileName);
Table1.Post;

El directoryListBox carga esto C:\Documents and Settings\PEPE\Escritorio\ProgConsulta\Images
y el fileListBox esto C:\Documents and Settings\PEPE\Escritorio\ProgConsulta\Images\maria.jpg
por lo tanto solo ahy que poner el FileListBox
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:subir fotos para credenciales

Publicado por Antonio (75 intervenciones) el 28/09/2009 23:39:46
Gracias mi amigo ya me resulto yupiii, muchisimas gracias.. puedo subir las fotos .. solo en bmp pero con eso es suficiente.

te lo agresco...
Unsaludos y un abrazo mi amigazo..
desde Chile
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