| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
JesúsGandia Master


Registrado: 17 Jul 2004Mensajes: 403Ubicación: Gandia, Valencia
|
Publicado: Sab 17 Jul, 2004 8:45 pm Asunto: Cargar imagen desde Paradox a un TSPedButton |
|
|
En la aplicacion que estoy haciendo el usuario puede elegir, los graficos que apareceran en un conjunto de TSpedButton. Las imagenes no me gustarian que estubiesen en archivos independientes en el directorio de la aplicacion, ya que pueden ser borrados sin querer. Tampoco me interesa que puedan ser copiados directamente, por lo que los he creado en la base de datos Paradox con un campo GRAPHIC. Pero he desistido que poder cargarlos en el TSpedButton directamente. Necesito vuestra pericia. Gracias de antemano.  |
|
| Volver arriba |
|
 |
Cesar C. Salazar Gonzalez Master


Registrado: 01 Oct 2002Mensajes: 2155Ubicación: San Cristóbal de Las Casas, Chiapas
|
Publicado: Dom 18 Jul, 2004 3:59 pm Asunto: |
|
|
Esto debe Funcionar
| Código: |
TMemoryStream *pMS = new TMemoryStream;
this->Table1Graphic->SaveToStream(pMS); //este es el campo GRAPHICS de la tabla
this->SpeedButton1->Glyph = this->Image1->Picture->Bitmap;
|
_________________
 |
|
| Volver arriba |
|
 |
JesúsGandia Master


Registrado: 17 Jul 2004Mensajes: 403Ubicación: Gandia, Valencia
|
Publicado: Dom 18 Jul, 2004 7:46 pm Asunto: No lo entiendo. |
|
|
Perdona Cesar, pero, asi entiendo el codigo que me propones, pero lo veo carente de sentido.
Una vez situado en el registro y campo GRAPHIC, lo intento salvar en pMS, pero al compilar me dice que SaveToStream no es miembro de TField y que no combierto el TMemoryStream en TBitmap.
Este codigo está dentro de un bucle for para ir recorriendo todos los TSpeedButon basandome en su numero de componente, para mas tarde una vez me he situado en el registro y campo de la imagen poder cargarlo en lel boton. Perdona mi ignorancia, no sé si me explico bien. Podrías aclararme el codigo que me dices. ¿De donde sale el Image1 que escribes en tu código?
Quizás no haya entendido la instrucción de como cargar el campo imagen en el TMemoryStream.
| Código: |
TMemoryStream *pMS = new TMemoryStream;
ModuloDatosControl->TableBotonGrupos->FieldByName("Imagen")->SaveToStream(pMS);
((TSpeedButton*)Components[N])->Glyph = pMS;
delete pMS:
|
|
|
| Volver arriba |
|
 |
Cesar C. Salazar Gonzalez Master


Registrado: 01 Oct 2002Mensajes: 2155Ubicación: San Cristóbal de Las Casas, Chiapas
|
Publicado: Lun 19 Jul, 2004 9:30 am Asunto: |
|
|
De echo, esa es la manera que dice la ayuda de borland...
si encuentro otra forma te la paso..
saludos... _________________
 |
|
| Volver arriba |
|
 |
Cesar C. Salazar Gonzalez Master


Registrado: 01 Oct 2002Mensajes: 2155Ubicación: San Cristóbal de Las Casas, Chiapas
|
Publicado: Lun 19 Jul, 2004 9:40 am Asunto: |
|
|
Checa la opcion SaveToStream, del componente TImage, en ella viene el ejemplo _________________
 |
|
| Volver arriba |
|
 |
TOÑO Master

Registrado: 26 Ago 2002Mensajes: 223Ubicación: Madrid - España -
|
Publicado: Lun 19 Jul, 2004 1:27 pm Asunto: |
|
|
HOLA:
¿ No te vale ?
SpeedButton1 ->Glyph ->Assign ( (TBlobField *)Table1 ->FieldByName("GRAFICA"));
By. |
|
| Volver arriba |
|
 |
LordNemesis Master


Registrado: 31 Dic 2003Mensajes: 340Ubicación: México
|
Publicado: Mie 21 Jul, 2004 4:27 pm Asunto: |
|
|
pueddes intentar algo asi
| Código: |
TMemoryStream *msImagen = new TMemoryStream;
((TBlobField*)Table1->FieldByName("imagen"))->SaveToStream(msImagen);
msImagen->Seek(0,soFromBeginning);
SpeedButton1->Glyph->LoadFromStream(msImagen);
delete msImagen;
|
Lo que haces es abrir un stream en memoria dponde vas a guatrdar la imagen temporalmente, la cargas a ese stream, posteriormente inicializas el cursor en el inicio y por ultimo jalas la imagen de ese stream y la pasas al Glyph... espero te sirva.. saludos _________________ Dirección Municipal de Informática
H. Ayuntamiento de Tijuana
Arriba Lopez Obrador !!!
Los Mexicanos Merecemos Respeto !!! |
|
| Volver arriba |
|
 |
|