Programación General > Delphi

 Crecimiento Del Ejecutable Con Archivos Res

<< < (2/2)

Enko:
Me olvide de eso. TE queda meter todas las imagenes tal como son. A lo sumo las podes agrupar en una carpeta.

Al cambiar la extension, no cambias el formato de la imagen, pero podes engañar al usuario haciendolo pensar que el archivo en cuestion, no es una imagen sino otra cosa.
Pero el problema, como te diste cuenta, es que no podes cargarlas en tiempo de diseño.

Amilius:
Bueno, sólo agregar que adicionalmente existe otra ventaja de evitar usar íconos: Ahorras recursos de GDI y no tienes que molestar al sistema operativo para reservar y liberar estos recursos con el riesgo que algún bug en tu código impida liberarlos todos. Es más fácil asegurar que liberamos el bitmap grande que liberar 200 iconos chicos. En windows 98 era casi criminal usar tantos íconos y no era raro ver cuando estos empezaban a cambiar o desaparecer por que tenían límite fijo :P.

Deiv:
Solucioné lo del DAT con un procedimiento de cifrado y descifrado del archivo por código, luego cargo en cualquier: TImage, TPaintBox y TImageList. Gracias muy buena la sugerencia.

Y bien, he dejado Delphi unos cuantos meses (como autodidacta y novato que soy) y retomando nuevamente sobre mis dudas, estoy siguiendo los consejos de todos quienes me orientaron, ahora me nace una duda:

--- Citar ---Inclusive podrias hacer algo as'i:

--- Código: Text ---TElemento = record     Numero: Byte;     Peso: Real;     NroOxidacion: ShortInt; //-127..127     Electronegatividad: ShortInt;            Imagen: TBitmap; // y cargas todo aca;  end;  TTablaPeriodica = array[1..120] of TElemento;end; 
--- Fin de la cita ---

¿Cual sería más óptimo para encarar este trabajo y sus datos de cada elemento?:
1.- ¿Crear un Record?
2.- ¿Crear una Clase?
3.- ¿Crear una Base de Datos (digamos en Access)?

Enko:
Respecto a la base de datos.... mh... podría ser, pero aumentarias la dependencia de tu programa con el BorlandDatabaseEngine (BDE) de Borland.

Entre usar un record y una clase, la diferencia sería que cuando tengas que modificar algo con un procedimiento en un record harías:

--- Código: Text --- ModificarDato(Elemento[1].Dato);  
y si es OOP poria ser algo asi:

--- Código: Text --- TablaPerdica.Elementos[1].Dato;  Donde Dato es una propiedad!

--- Código: Text --- TElemento = classprivate  FDato: Integer;public  propiety Dato read FData write SetData;  // o read FData write SetData;  Y claro, la tabla periodica seria una clase mas como lo mestre arriba:

--- Código: Text --- TTablaPerdica = classprivate   FElementos: array [1..120] of TElemento; public    propiety Elemento[X: Integer]: TElemento read GetElemento write SetElemento; end;  Si llevas esto a una instancia superior... podrias realizar un componente visual de una tabla periodica.

Pd: se nota que me gusta la poo? :whistling:

Navegación

[0] Índice de Mensajes

[*] Página Anterior

Ir a la versión completa