20-02-2009, 11:46 PM
إقتباس :الحقل الثالث نوع بينار ، إلا أنه يظهر رسالة الخطأ عند محاولة ادخال صورة Jpg ، أي أنه مثل الحقل جرافيك ، لا يقبل إلا Bmpلاعلاقة لنوع الحقل بالخطا
الخطأ من المكون DBImage لانه يقبل فقط الصور BITMAP (لا يقبل JPEG)
يمكن تحويل الصورة الى BMP قبل اضافتها للمكون DBImage
يمكن استعمال مكون Image (الذي يقبل JPEG) بدلا من المكون DBImage وتبرمج ما تبقى
إقتباس :هل يمكن الحفظ مباشرة بالجدول ؟نعم
يمكن تحويل الصورة بالذاكرة دون المرور بملف وسيط كما بالمثال تحت
إقتباس :هل من طريقة للتحقق من اللاحقة ، إذا كانت Bmp
نعم
يمكن اخذ ثلاث احرف من اسم الملف ومقارنتها بBMP (طريقة سهلة لكنها غير فعالة 100%)
يمكن التعامل مع ملف الصورة مثل اي ملف وقراءة 2 bytes من البداية في حالة BMP يجب ان تكون BM وهي بصمة هذا النوع من الصور
خلاصة القول كمثال يمكن تغيير احد الازرار وكتابة شيئ مثل
PHP كود :
Var
Im: TPicture;
sExt,sFileName : String;
begin
if OpenPictureDialog2.Execute then Begin
sFileName:= OpenPictureDialog2.FileName;
sExt:= UpperCase(ExtractFileExt(sFileName));
if (sExt='.JPEG') or (sExt='.JPG') then Begin
Im:= TPicture.Create;
Im.LoadFromFile(sFileName);
DBImage3.Picture.Bitmap.Assign(Im.Graphic);
Im.Free;
End Else if (sExt='.BMP') then
DBImage3.Picture.LoadFromFile(sFileName)
Else ShowMessage('unsupported image');
End;
end;

