Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #7  
Antiguo 21-11-2019
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
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.

Estuve mirando tu código y funciona correcto mostrando las caras el único problema que veo es que el archivo caraalegre.jpg es en realidad una cara triste, de allí que dos ítems diferentes muestren la misma imágen.

Para resolver tu planteo tenes dos opciones, una es copiar los archivos .JPG junto con tu ejecutable y cargarlos del modo que lo haces, pero el programa fallaría si por ejemplo alguien borra alguna imágen.

Y la otra, la mejor, es la que te comentaron y es poner esas imágenes en un archivo de recurso. Los pasos a hacerlo de modo simple:
  1. Copia el archivo BRC32.EXE (buscalo en la carpeta donde esté instalado Delphi) a tu carpeta PRUEBA.
  2. Con el block de notas crea un archivo de texto con el siguiente contenido:

    1 RCDATA caraalegre.jpg
    2 RCDATA caratriste.jpg
    3 RCDATA carallorando.jpg

    y guardalo, por ejemplo con el nombre de 'CARAS.RC'.
  3. Desde el explorador de windows te situas en la carpeta PRUEBA y:

    luego del click derecho del mouse te quedará así:

    borras lo pintado en azul con la tecla Backspace, escribes CMD y presionas la tecla Enter.
  4. Ya en consola escribes la línea de comando: BRC32 -R -V CARAS.RC

    y la ejecutas presionando la tecla Enter, te creará un archivo CARAS.RES.

Luego tu código Delphi debería ser algo así:
Código Delphi [-]
...
implementation

implementation

uses JPeg;

{$R *.dfm}
{$R CARAS.RES}

procedure TForm1.FormCreate(Sender: TObject);
begin
  cbb1.Items.Clear;
  cbb1.Items.Add('cara alegre');     // 1
  cbb1.Items.Add('cara triste');     // 2
  cbb1.Items.Add('cara llorando');   // 3
end;

procedure TForm1.cbb1Change(Sender: TObject);
const
  CARAS: array[1..3] of string = ('#1','#2','#3');
var
  RS: TResourceStream;
  JPG: TJPegImage;
begin
  if cbb1.ItemIndex > -1 then
  begin
    RS := TResourceStream.Create(hInstance,CARAS[cbb1.ItemIndex+1], RT_RCDATA);
    JPG := TJPegImage.Create;
    try
      RS.Position := 0;
      JPG.LoadFromStream(RS);
      img1.Picture.Assign(JPG);
    finally
      RS.Free;
      JPG.Free;
    end;
  end;
end;
...

Saludos
__________________
Daniel Didriksen

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

Última edición por ecfisa fecha: 21-11-2019 a las 19:59:53. Razón: corrección
Responder Con Cita
 



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
Girar un Timage con respecto a otro Timage Tuvan Gráficos 1 05-11-2016 21:30:50
TImage RoyTan Conexión con bases de datos 3 01-12-2012 12:51:27
como Hacer que un TImage siga a un Timage? j_flores3000 OOP 8 27-03-2008 18:47:50
Copiar Bitmap de un TImage a otro TImage quinqui Gráficos 2 24-01-2008 15:22:30
como combinar 2 Timage en un tercer Timage JefeNet Gráficos 10 02-09-2004 16:51:35


La franja horaria es GMT +2. Ahora son las 11:41:23.


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