![]() |
Grabar Bitmap en un record
Hola a todos. Estoy haciendo una simple agenda utilizando record. Los registros los guardo en un archivo. Me pregunte, si podria almacenar imagenes (en mi caso la cara de la persona). Al correr el programa no protesta al guardar la imagen. El problema es al leer desde el archivo, me da un error como "Access Violation 00000000". Al principio pense que no se podia ya que al guardarlo, lo hace con un formato propio. ¿Es esto asi? De caso contrario como podría hacerlo.
Desde ya muchas gracias |
Los bitmaps son archivos con formatos predefinidos, es cierto, pero esto no quita que no puedas almacenarlo de la forma que mas te plazca. Ten en cuenta que la longitud del archivo variará considerablemente de un archivo a otro, por lo que si utilizas records de tamaño fijo, es muy posible que en algunos casos falle.
Para manipular la memoria ocupada por un bitmap, te recomiendo estudiar los métodos SaveToStream y LoadFromStream, es la forma mas sencilla y portable de hacerlo. Saludos! |
Si es una simple agenda, usa una solución simple: :)
Supongo que cada persona tiene un código, generalmente de 4 bytes. Lo que puedes hacer es guardar en una carpeta los .bmp, o .jpg.. , El nombre del bmp sería el código de la persona en hexadecimal, que ocuparía 8 caracteres para 4 bytes. Es una alternativa buena y que no exige otro campo más en base de datos, pero algo más de programación. No te recomiendo guardar los bmp en records, es información que no sirve para búsquedas y ese tipo de información (que no sirve para búsquedas, no es práctico/posible indexarla y además ocupa un buen espacio) mejor tenerla aparte. |
| La franja horaria es GMT +2. Ahora son las 01:23:59. |
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