Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-09-2011
cincosoft cincosoft is offline
Miembro
 
Registrado: sep 2008
Posts: 30
Poder: 0
cincosoft Va por buen camino
Error incompatibles types:'integer' and 'extended'

Hola,

Tengo el código:

Código Delphi [-]
procedure TQRClientes.AsignarLogo(ImagenJPG: TJPEGImage;
  corriente: TMemoryStream; nom_campo: string; QRImage: TQRImage);
Var
  AltoOriginal, AnchoOriginal: Integer;
begin
   ImagenJPG := TJPEGImage.Create;
   corriente := TMemoryStream.Create;

   DMCLIENTES.QREMPRESA.Close;
   DMCLIENTES.QREMPRESA.Open;

   try
     if not DMCLIENTES.QREMPRESA.FieldByName(nom_campo).IsNull then begin
       TGraphicField(DMCLIENTES.QREMPRESA.FieldByName(nom_campo)).SaveToStream(corriente);
       corriente.Seek(0,soFromBeginning);
       ImagenJPG.LoadFromStream(corriente);

       AltoOriginal := ImagenJPG.Height;
       AnchoOriginal := ImagenJPG.Width;

       ImagenJPG.Height := QRImage.Height;
       ImagenJPG.Width := (AnchoOriginal*ImagenJPG.Height)/AltoOriginal;

En la última linea me da el error:
incompatibles types:'integer' and 'extended'

Alguien me puede indicar como arreglarlo?

Muchas gracias.
Responder Con Cita
  #2  
Antiguo 10-09-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.009
Poder: 20
oscarac Va por buen camino
me parece que altoordinal debes declararla de otro tipo no integer
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #3  
Antiguo 10-09-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Lo que sucede que la propiedad Width de TJPEGImage es de tipo entero y le estas asignando un número flotante.

Deberías hacer:
Código Delphi [-]
  ...
   ImagenJPG.Width:= Trunc((AnchoOriginal*Img.Height)/AltoOriginal);
  ..

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #4  
Antiguo 11-09-2011
cincosoft cincosoft is offline
Miembro
 
Registrado: sep 2008
Posts: 30
Poder: 0
cincosoft Va por buen camino
Error: "Cannot change the size of a JPEG image."

Hola otra vez,

Así no me da error de compilación pero al ejecutar me da el siguiente error:

"Cannot change the size of a JPEG image."

Alquien me puede como hacer para evitar esto?

Muchas gracias.

Código Delphi [-]
procedure TQRClientes.AsignarLogo(ImagenJPG: TJPEGImage;
  corriente: TMemoryStream; nom_campo: string; QRImage: TQRImage);
Var
  AltoOriginal, AnchoOriginal: Integer;
begin
   ImagenJPG := TJPEGImage.Create;
   corriente := TMemoryStream.Create;

   DMCLIENTES.QREMPRESA.Close;
   DMCLIENTES.QREMPRESA.Open;

   try
     if not DMCLIENTES.QREMPRESA.FieldByName(nom_campo).IsNull then begin
       TGraphicField(DMCLIENTES.QREMPRESA.FieldByName(nom_campo)).SaveToStream(corriente);
       corriente.Seek(0,soFromBeginning);
       ImagenJPG.LoadFromStream(corriente);

       AltoOriginal := ImagenJPG.Height;
       AnchoOriginal := ImagenJPG.Width;

       ImagenJPG.Height := QRImage.Height;
       ImagenJPG.Width := round((AnchoOriginal*ImagenJPG.Height)/AltoOriginal);
Responder Con Cita
  #5  
Antiguo 11-09-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola cincosoft.

Es que no podes cambiar el valor del tamaño de la imágen almacenada, ImagenJPG (al menos no de este modo):
Código Delphi [-]
ImagenJPG.Width := round((AnchoOriginal*ImagenJPG.Height)/AltoOriginal);

Lo que sí podés hacer es cambiar el tamaño de visualización de la misma, QRImage:
Código Delphi [-]
QRImage.Width := round((AnchoOriginal*ImagenJPG.Height)/AltoOriginal);

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 11-09-2011 a las 19:18:40.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Types Incompatibles Paulao Varios 8 21-07-2011 19:19:32
Error de Incompatibles Types Paulao Varios 4 18-07-2011 16:45:19
Integer y extended radge OOP 16 12-08-2008 03:40:40
Incompatible types: 'Integer' and 'Currency' Lore Castillo Varios 2 09-02-2006 22:49:33
incompatible integer and extended emiliu Varios 3 09-12-2005 20:45:16


La franja horaria es GMT +2. Ahora son las 15:08:23.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi