| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
peneboy Cdt

Registrado: 14 Oct 2002Mensajes: 20
|
Publicado: Jue 01 May, 2003 12:01 am Asunto: Urgente insertar imagen |
|
|
Quiero insertar una imagen en una base de datos y en un mensaje mepusieron este codigo y no se donde lo tengo que poner en el programa:
Para insertar la imagen en el campo
Código:
Tbl->Edit();
//meto la imagen en el TImagen Imagen->Picture->LoadFromFile(DialogoImagen1->FileName);
//meto la imagen en el campo
static_cast<TGraphicField *>(Tbl->FieldByName("Foto"))->LoadFromFile(DialogoImagen1->FileName);
Tbl->Post();
Para recuperar en un TImage una imagen que ya fue grabada en un campo
Código:
TJPEGImage *JPeg;
TMemoryStream *Corriente;
JPeg = new TJPEGImage;
Corriente = new TMemoryStream;
static_cast <TGraphicField *>(DataModule2->tbSociosFOTO)->SaveToStream(Corriente);
Corriente->Seek(0,soFromBeginning);
JPeg->LoadFromStream(Corriente);
ImageFoto->Picture->Assign(JPeg); //Imagen es un TImage
Corriente->Free();
JPeg->Free();
Y ME GUSTARIA SABER DONDE LO TENGO QUE METER???EN QUE EVENTO O FUNCION??? |
|
| Volver arriba |
|
 |
_Tugui Invitado
|
Publicado: Jue 01 May, 2003 3:02 pm Asunto: |
|
|
Para poder utilizar este código lo primero que necesitas es insertar un TOpenPictureDialog en tu formulario (está en la pestaña Dialogs de la paleta de componentes) y una vez insertado llamarlo DialogoImagen1, luego insertar un TImage en el formulario y llamarlo Imagen. La pregunta de dónde insertar el código puede ser muy elástica ya que puede ponerse en varios sitios dependiendo de la estructura del programa y lo que el programador quiera hacer pero en fin, lo más normal es escribirlo en el evento OnClick de un botón quedando algo así:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
if (DialogoImagen1->Execute()){
Tbl->Edit();
Imagen->Picture->LoadFromFile(DialogoImagen1->FileName);
static_cast<TGraphicField *>(Tbl->FieldByName("Foto"))->LoadFromFile(DialogoImagen1->FileName);
Tbl->Post();
}
}
/*Y la segunda parte del código lo pondríamos en el OnClick de un segundo botón:*/
void __fastcall TForm1::Button2Click(TObject *Sender)
{
TJPEGImage *JPeg;
TMemoryStream *Corriente;
JPeg = new TJPEGImage;
Corriente = new TMemoryStream;
static_cast <TGraphicField *>(DataModule2->tbSociosFOTO)->SaveToStream(Corriente);
Corriente->Seek(0,soFromBeginning);
JPeg->LoadFromStream(Corriente);
ImageFoto->Picture->Assign(JPeg);
Corriente->Free();
JPeg->Free();
}
/*PD.: No he probado el código, cuando lo pruebe te digo cosas.*/
Taluego! |
|
| Volver arriba |
|
 |
Peruzzi Invitado
|
Publicado: Jue 01 May, 2003 4:05 pm Asunto: Urgente |
|
|
| y si uso un DBnavigator para ver,modificar y añadir elementos donde tengo que introducir ese trozo de codigo???? |
|
| Volver arriba |
|
 |
|