مشاهدة النسخة كاملة : عرض الصورة في قاعدة البيانات
سيل الجليد
13-04-2010, 03:46 AM
عندي مشكلة في التعامل مع قاعدة البيانات لدراج صورة في قاعدة البيانات
مع العلم ان اضفت Jpeg في قسم USER
وادرجت قاعدة جديدة فيها الحقل G الي هو خاص بدراج الصور
المشكلة تكمن في الكود زر الادخال :
Table1Image.LoadFromFile(Edit2.Text);
هذي صورة توضح المشكلة باتمام
http://img94.imageshack.us/img94/5626/er1d.jpg
Unprogramme
13-04-2010, 06:50 AM
أولا مرحبا بك معنا أخي الحبيب تُفيد و تستفيد إن شاء الله .
يمكنك استخدم مكون TSMDBGrid الذي طرحه أخونا الافضل Kachwahed
استخدم مكون TSMDBGrid
وهو مكون مجاني ومفتوح المصدر ويحتوي هذه الخاصية أيضا.
رابط الموضوع هنا :
http://www.delphi4arab.com/forum/showthread.php?t=2787
ملاحظة لك أخي الحبيب :
لا تنس طرح السلام أولا في كتاباتك اللاحقة.:disgust:
دمت في رعاية الرحمن و حفظه.
بالتوفيق.
:monster1:
kachwahed
13-04-2010, 01:08 PM
السلام عليكم
http://www.delphi4arab.com/forum/showpost.php?p=6267&postcount=2
تجدهما هنا:
http://www.delphi4arab.com/forum/showthread.php?t=22
شخصيا أفضل هذه:
procedure TForm1.btnLoadClick(Sender: TObject);
var
Photo: TPicture;
begin
if OpenPhoto.Execute then
begin
Photo := TPicture.Create;
try
Photo.LoadFromFile(OpenPhoto.FileName);//OpenPhoto is TOpenPictureDialog
DBPhoto.Picture.Graphic.Assign(Photo.Graphic);
finally
Photo.Free;
end;
end;
end;
procedure TForm1.btnDeleteClick(Sender: TObject);
begin
if MessageDlg('Do you want to delete this photo?',
mtConfirmation, [mbYes, mbNo], 0) = mrYes then
DBPhoto.Picture.Graphic.Assign(nil);
end;
وهذه طريقة لحفظ أي ملف:
{
If you develop a database related software, then a very popular task is to
save some files (documents/images/reports/etc) in some BLOB field of table
and use these saved data later.
In this tip I want to show how this task could be solved.
}
// To save a file to BLOB:
procedure TForm1.Button1Click(Sender: TObject);
var
blob: TBlobStream;
begin
blob := yourDataset.CreateBlobStream(yourDataset.FieldByNa me('YOUR_BLOB'), bmWrite);
try
blob.Seek(0, soFromBeginning);
fs := TFileStream.Create('c:\your_name.doc', fmOpenRead or
fmShareDenyWrite);
try
blob.CopyFrom(fs, fs.Size)
finally
fs.Free
end;
finally
blob.Free
end;
end;
// To load from BLOB:
procedure TForm1.Button1Click(Sender: TObject);
var
blob: TBlobStream;
begin
blob := yourDataset.CreateBlobStream(yourDataset.FieldByNa me('YOUR_BLOB'), bmRead);
try
blob.Seek(0, soFromBeginning);
with TFileStream.Create('c:\your_name.doc', fmCreate) do
try
CopyFrom(blob, blob.Size)
finally
Free
end;
finally
blob.Free
end;
end;
{
Using this code you can work with any database engine (BDE/ADO/DAO/ODBC/etc)
and any file format (document of MS Word, spreadsheet of MS Excel, bitmap or
jpeg pictures, wav-files etc)
}
بالتوفيق.
سيل الجليد
14-04-2010, 10:44 AM
ولا واحدة نفعت
المشكلة عندي ليست في الكود المشكلة تكمن ماذا اضيف في uses حتى تعمل الصور من قاعدة البيانات
هذا الكود الذي استعملته هل هو صحيح ام فية خلل
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Buttons, StdCtrls, DBCtrls, DB, Grids, DBGrids, DBTables, Jpeg,
ExtDlgs;
type
TForm1 = class(TForm)
Table1: TTable;
DBGrid1: TDBGrid;
DataSource1: TDataSource;
DBImage1: TDBImage;
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
Table1Name: TStringField;
Table1Image: TGraphicField;
Edit1: TEdit;
Edit2: TEdit;
OpenPictureDialog1: TOpenPictureDialog;
procedure SpeedButton3Click(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.SpeedButton3Click(Sender: TObject);
begin
if OpenPictureDialog1.Execute then
Edit2.Text:= OpenPictureDialog1.FileName;
end;
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
Table1.Insert;
Table1Name.Value :=Edit1.Text;
Table1Image.LoadFromFile(Edit2.Text);
end;
procedure TForm1.SpeedButton2Click(Sender: TObject);
begin
Form1.Close;
end;
end.
kachwahed
04-09-2010, 09:04 PM
أنت تحاول رفع صورة بصيغة Gif وهي غير مدعومة
استخدم مكون أو صيغة أخرى.
سيل الجليد
10-04-2011, 02:14 AM
سوف ادرج لكم مثال يوضح اين هي المشكلة
لم يكتمل برمجتة لاكن اول ما انتهي منه اعرضه بالمنتدى
السلام عليكم
انظر في هذا الرابط لعلك تجد مايفيدك
http://www.delphi4arab.com/forum/showthread.php?t=3375
kachwahed
10-04-2011, 06:57 PM
طبعا يحدث خطأ لأنك تحاول كتابة TPicture في Boolean!
استبدل سطر الخطأ بـ
Table1Image.Assign(Image1.Picture);
سيل الجليد
12-04-2011, 12:51 AM
كود:
Table1Image.Assign(Image1.Picture);
مشي الحال مع هذا الكود
لاكن هل يسقوم بحفظ الصورة في قاعدة البيانات كيف استطيع معرفه ذلك
هل استطيع ادرج DBImage1 عند الوضع على الحقل يظهر صورته ,,
kachwahed
12-04-2011, 06:40 AM
هل يسقوم بحفظ الصورة في قاعدة البيانات كيف استطيع معرفه ذلك
أجل، يمكنك التأكد من ذلك عند استرجاع الصورة، وعدم ظهور أي رسالة خطأ :)
هل استطيع ادرج dbimage1 عند الوضع على الحقل يظهر صورته ,,
أجل، لِم لا تُجرب ؟
سيل الجليد
12-04-2011, 12:22 PM
أجل، يمكنك التأكد من ذلك عند استرجاع الصورة، وعدم ظهور أي رسالة خطأ :)
أجل، لِم لا تُجرب ؟
بفعل كلامك صحيح لم يضهر اي رسالة خطأ
بخصوص عرض الصورة اضفت dbimage1 وعملت التعديلات لاكن لم تظهر الصور فية
هل استطيع تفعيل زر الطباعة واقوم بأضافة صانع التقارير وايضاً يجلب الصورة في الهيدر الي في صانع التقارير واطبع الصورة
kachwahed
12-04-2011, 03:02 PM
dbimage1 وعملت التعديلات لاكن لم تظهر الصور فية
TDBImage لا يتعامل مع كل أنماط الصور، مواضيع وأمثلة كثيرة في المنتدى حول ذلك...
طالع كمثال، الجزء المتعلق بالصور في هذا الكتاب (http://www.delphi4arab.com/forum/showthread.php?t=22).
هل استطيع تفعيل زر الطباعة واقوم بأضافة صانع التقارير وايضاً يجلب الصورة في الهيدر الي في صانع التقارير واطبع الصورة
أجل يمكنك ذلك.
سيل الجليد
12-04-2011, 07:26 PM
tdbimage لا يتعامل مع كل أنماط الصور، مواضيع وأمثلة كثيرة في المنتدى حول ذلك...
طالع كمثال، الجزء المتعلق بالصور في هذا الكتاب (http://www.delphi4arab.com/forum/showthread.php?t=22).
هل يوجد مكون اخر يعرض لي صور من نوع jpg
الكتاب للأسف لا يفتح بعد التحميل يقول الملف معطوب
kachwahed
12-04-2011, 07:51 PM
هل يوجد مكون اخر يعرض لي صور من نوع jpg
أجل، يمكن بطرق أخرى مع استخدام المكتبة JPEG
الكتاب للأسف لا يفتح بعد التحميل يقول الملف معطوب
الملف سليم، جرب الرابط الآخر (الصفحة 106-108 الصور):
http://www.delphi4arab.com/forum/showpost.php?p=26317&postcount=2
السلام عليكم
أخي جرب المثال الذي في المرفقات فقد وضعت فيه زر إضافة سجل يحتوي على عدة حقول ومن بينها حقل صورة أو مكون وزر لإضافة صورة وزر للحفظ جرب لعله يكون هو ما تريـد
علما أني لم أرفق قاعدة بيانات بل وضعت المثال على قاعدة بيانات دلفي المعروفة DBDEMOS بما أنك تملك برنامج الدلفي .
وأيضا لا تنسى أن تضيف الوحدة JPEG إلى uses وكذلك أنبه أن المثال يعتمد الصيغ الثلاث JPEG,jpg,bmp
بالتوفيق
vBulletin® , Copyright ©2008-2012