Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Gráficos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-10-2008
sultan sultan is offline
Miembro
 
Registrado: oct 2008
Posts: 10
Poder: 0
sultan Va por buen camino
Exclamation convertir un tbitmap a integer

hola a todos!
acabo de ingresar en el foro, y os pido ayuda en un problema que tengo.
estoy haciendo un juego en delphi , y la pregunta es la siguiente.
tengo un bitbuton en el cual le pongo 1 imagen.
lo que qiero hacer es que con un timer, a los 3 segundos me canvie a una segunda imagen, y que 2 o 3 segundos mas tarde el bitbuton se encoga hasta desaparecer, y con el un progres bar. digamos que seria como los juegos flash que te pone el "loading", pero con la diferencia que el mio en cuando se cargue toda la progresbar, empieze a encogerse toda la imagen, con el progres bar incluido.

esto se podria hacer??? seria posible hacerlo??? como lo tendria que hacer??
el tema del timer lo tengo solucionado, pero no consigo por codigo, decir que si la bitbuton.glyph= a una imagen, que se cambie a otra.
como lo hago?

gracias de antemano

os dejo un trozo de codigo por si os interesa

procedure TForm1.BitBtn4Click(Sender: TObject);
var x: integer;
var y: integer;
begin
if (bitbtn4.Glyph:=x) then;==>me dice que es incompatible el tbitmap con el integer
begin
timer2.enabled:=true;
bitbtn4.Glyph=y;
progressbar3.Position:=progressbar3.Position+1;
Responder Con Cita
  #2  
Antiguo 26-10-2008
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
Hola, lo que quieres es cambiar la propiedad anchura y altura (width y height) del dibujo, por lo que tendrias que asignar glyph.width, glyph.height. En el codigo que has puesto hay ademas bastantes fallos (se compara con :=, se asigna con =, se compara x antes de darle un valor) seria bueno que echaras algun vistazo a ejemplos. saludos.
Responder Con Cita
  #3  
Antiguo 26-10-2008
sultan sultan is offline
Miembro
 
Registrado: oct 2008
Posts: 10
Poder: 0
sultan Va por buen camino
Question compatible tbitmap con integer o string

creo que me he explicado mal:
tengo dos imagenes (1.jpg, y 2.jpg).
tengo un bitbuton al cual le asigno una imagen. (1.jpg)
luego tengo tambien un timer, que en el momento de ejecucion del programa, se pone en marcha.
cuando estoy en ejecucion, lo que yo quiero, es que en el bitbuton se cambie de 1.jpg a 2.jpg
El problema es que al hacer el "if" lo que hago es comparar la imagen del bitbuton con la que hay, y si no es la correcta pues que se cambie.
te pongo el ejemplo como lo quisiera hacer yo:

if (bitbtn4.glyph= '1.jpg') then
begin
bitbtn4.glyph='2.jpg'
end;

esto da error porque me dice que son incompatibles los tbitmaps con los integer, y con los string, i viceversa.
por eso quiero saber como hacer que los tbitmaps puedan ser compatibles con los strings o integers. si hay alguna funcion o algo parecido al "strtoint, inttostr" nose algo por el estilo.
espero que ahora quede mas claro.

dime algo si sabes como hacerlo, porfavor.

muchas gracias
Responder Con Cita
  #4  
Antiguo 26-10-2008
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 22
enecumene Va por buen camino
Hola, Intenta poner la Unidad JPEG en el Uses del form, ya que Glyph es un formato bitmap de dos tonos y estas tratando de comparar con archivos Jpeg, que talvez el problema anda por ahí

Saludos.

EDITO: Los BitButtons tampoco soportan archivos Jpeg
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
  #5  
Antiguo 26-10-2008
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
Bueno, esto es algo completamente diferente a lo anterior.
No puedes comparar un TBitmap y una string, pues la string que tu estas mostrando no es mas que el nombre del fichero, y no su mapa de bits. Lo mejor que puedes hacer es cargar antes los n TBitmaps en un array y irlos colocando/comparando segun necesidad.

Código Delphi [-]
var
    b : array [0..n] of TBitmap;
 
...
procedure Inicio;
var
   i : integer;
begin
         for i := 0 to n - 1 do
         begin
                  b[i] := TBitmap.Create;
                  b[i].LoadFromFile(inttostr(i+1)+'.jpg');
         end;
end;
 
...
 
procedure OnTimer;
begin
       if BitBtn.Glyph = b[0] // esto si lo podemos comparar, pues son dos 
//punteros a TBitmap. Ahora bien, los glyph deberas haberlos asignado antes 
//de la manera BitBtn.Glyph := b[n], pues si no tendrian direcciones diferentes
//aun verse el mismo mapa de bits
       ...
end;
 
...

despues de todo esto (y no porque no funcione), creo q lo mejor seria que guardases en una string global cual ha sido tu ultimo glyph guardado, y comparar esta string. Mas que nada para que no te confundas con el codigo. Saludos.

PD: deberas, si creas los TBitmaps asi, liberarlos tambien 'manualmente' antes de salir de la aplicación

Última edición por coso fecha: 26-10-2008 a las 22:14:44.
Responder Con Cita
  #6  
Antiguo 26-10-2008
sultan sultan is offline
Miembro
 
Registrado: oct 2008
Posts: 10
Poder: 0
sultan Va por buen camino
muchas gracias gente, ahora me lo mirare haber si encuentro solucion.ya mañana si hay algo os comento el que.

gracias

adios
Responder Con Cita
Respuesta



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
¿Cómo convertir de word a integer? bluegene Varios 16 19-03-2007 23:31:18
convertir un integer en hh:mm:ss jmlifi SQL 1 02-11-2005 19:00:44
Convertir un String a Integer Rafe Varios 2 12-08-2005 18:43:38
convertir a integer acrophet Varios 1 03-11-2003 13:01:43
Convertir una Variable de String a Integer y Viceversa. aleidania Varios 1 13-07-2003 17:35:37


La franja horaria es GMT +2. Ahora son las 00:59:39.


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