منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[مثال] برنامج تخزين الصور في قاعدة بيانات في Lazarus - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : البيئات التطويرية ولغات البرمجة (http://vb4arb.com/vb/forumdisplay.php?fid=81)
+--- قسم : البيئات التطويرية للغات البرمجة (http://vb4arb.com/vb/forumdisplay.php?fid=82)
+---- قسم : Lazarus / Free Pascal (http://vb4arb.com/vb/forumdisplay.php?fid=191)
+---- الموضوع : [مثال] برنامج تخزين الصور في قاعدة بيانات في Lazarus (/showthread.php?tid=17055)

الصفحات: 1 2


RE: برنامج تخزين الصور في قاعدة بيانات في Lazarus - سعود - 29-08-16

(29-08-16, 03:59 PM)abulayth كتب : السلام عليكم

Save_Pictures_To_Dataabase.lpi

يعطيك العافية

الله يعافيك
ايضا سؤال اخر ماهي قاعدة البيانات؟
وكيف يتم فتحها والتعديل عليها؟


RE: برنامج تخزين الصور في قاعدة بيانات في Lazarus - أبو ناصر - 29-08-16

(29-08-16, 02:42 PM)abulayth كتب :
ما شاء الله عمل ممتاز تستحق الشكر الجهد المبذول فيه

ارجو منك الانتباه الى التالي

1 - اضافة امكانية استخراج الصورة من قاعدة البيانات وتخزينها الى القرص الصلب بنفس اسم الصورة القديم
2 - تحديد انواع الملفات التي يدعمها البرنامج لانني خزنت ايقونة البرنامج وظهرت معي الرسالة التالية:



يعطيك العافية.

شكرا جزيلا أخي . هدفي من البرنامج ليس عمل برنامج متكامل فكل واحد يضيف له ما يراه مناسب لاحتياجاته  أردت توضيح فكرة تخزين الصور في قاعدة البيانات على شكل 

data و ليس رابط كما يفعل البعض  و بالنسبة للحفظ عل القرص يمكن ان تضيف مكون SavePictureDialog1 و  زر و تكتب فيه الكود :
كود :
procedure TFormMain.Button1Click(Sender: TObject);
var stream : TMemoryStream ;
begin
      SavePictureDialog1.FileName:= Query.FieldByName('pictureDescription').AsString;
     if SavePictureDialog1.execute = true then
    begin

     stream:= TMemoryStream.Create;
    stream.Position:=0;
    Image1.Picture.SaveToStream(stream);
     stream.SaveToFile(SavePictureDialog1.FileName);
     stream.Free;
    end;
end;      
 أما بالنسة لتخزين الأيقونات  يمكن استثناءها بعملية فلترة في المكون  OpenPictureDialog1




RE: برنامج تخزين الصور في قاعدة بيانات في Lazarus - abulayth - 29-08-16

السلام عليكم

بعد اذن اخي ابو ناصر 

نوع قاعدة البيانات sqlite
اما اسم قاعدة البيانات mydb.db

وهذا مثال لكود الاضافة من نفس البرنامج

PHP كود :
     Stream := TMemoryStream.Create;

 
     Image1.Picture.SaveToStream(Stream);
 
     Stream.Position := 0;
 
     FormMain.Query.SQL.Text := ' insert into pictures (pictureDescription,pictureStore,pictureDate) values (:pictureDescription,:pictureStore,:pictureDate)'  ;
 
     FormMain.Query.ParamByName('pictureDescription').AsString := EditDescription.Text;
 
     FormMain.Query.ParamByName('pictureStore').LoadFromStream(Stream,ftBlob);
 
     FormMain.Query.ParamByName('pictureDate').AsDate:= Now ;

 
     FormMain.Query.ExecSQL;
 
     FormMain.trans.Commit;
 
     Stream.Free        

وايضا تستطيع استخدام قواعد بيانات access + Mysql 

يعطيك العافية


RE: برنامج تخزين الصور في قاعدة بيانات في Lazarus - أبو ناصر - 29-08-16

(29-08-16, 04:09 PM)سعود كتب :
(29-08-16, 03:59 PM)abulayth كتب : السلام عليكم

Save_Pictures_To_Dataabase.lpi

يعطيك العافية

الله يعافيك
ايضا سؤال اخر ماهي قاعدة البيانات؟
وكيف يتم فتحها والتعديل عليها؟

قاعدة البيانات هي من نوع SQLite3  و البرنامج الذي استعمله هو المحرر SQLiteMaestro

أخي سعو د يمكنك بالمحرر SQLiteMaestro انشاء قاعدة البيانات أو الاتصال بها و اجراء تعديلات عليها  و اضافة بيانات 
رابط تحميل المحرر 
[url= https://www.sqlmaestro.com/products/sqlite/maestro][/url]https://www.sqlmaestro.com/products/sqlite/maestro/


RE: برنامج تخزين الصور في قاعدة بيانات في Lazarus - أبوبكر سويدان - 29-08-16

ما شاء الله على الشباب... منورين والله.


RE: برنامج تخزين الصور في قاعدة بيانات في Lazarus - أبو عمر - 31-08-16

ABuLayth
يا جدي
اللي في الصورة فورم والا messagebox
مع انه اغلب ضني انها MessageBox  اللي خلاني افكر وجود الايقونات على زري OK & Cancel
Huh Huh Huh
????????????????????????



RE: برنامج تخزين الصور في قاعدة بيانات في Lazarus - abulayth - 31-08-16

ماشي يا جدو هاي msgbox من النظام

واظن انه نظام رائع لانه يعمل على كل الانظمة بما فيها Linux

يعطيك العافية


RE: برنامج تخزين الصور في قاعدة بيانات في Lazarus - أبو ناصر - 31-08-16

نعم هي msgbox من Lasarus  مصصمة هكذا .

بالنسبة للازاروس شبيهة جدا جدا بالدلفي من ناحية الأكواد فهما يعملان تحت منصتين مصممتين بلغة باسكال
هما توربو باسكال و فري باسكال  و من لديه خبرة في الدلفي لن يجد صعوبة في لازاروس


RE: برنامج تخزين الصور في قاعدة بيانات في Lazarus - أبوبكر سويدان - 19-11-16

ماذا لو أحببنا عرض الصورة في تقرير Lazreport؟


RE: برنامج تخزين الصور في قاعدة بيانات في Lazarus - أبو ناصر - 25-11-16

(19-11-16, 12:20 AM)أبوبكر سويدان كتب : ماذا لو أحببنا عرض الصورة في تقرير Lazreport؟

    السلام عليكم و رحمة الله ، أولا أعتذر عن انقطاعي عن المنتدى بسبب ظروف شغلي 
   أما بالنسبة لعرض الصورة في تقرير قبل ذلك فأستسمح أستاذنا أبو بكر أن يتضمن شرحي فكرة بسيطة عن اضافة و تصميم تقرير لكي تعم الفائدة و الذي سنخصص له ان      شاء الله شرحا وافيا في احدى المشاركات ان سنحت الفرصة .
   1 - نضيف لفورم المشروع الموجود في بداية المشاركة زر BUTTON1 لعرض التقرير و  ومن التبويب LazReport نضيف المكونين  frReport1  و frDBDataSet1  ونغير                      الخصائص من المحرر كمايلي :
     Button1.Caption  الى عرض التقرير
     frReport1.Dataset  الى frDBDataSet1
     frDBDataSet1.DataSet الى Query حيث Query هو الاسم البرمجي للمكون SQLQuery  في المشروع الأصلي الموجود في بداية المشاركة
   2- نضغط ضغطا مزدوجا على المكون frReport1 لعرض مصمم التقارير و ندرج له :
    * band من نوع Page header  و ندرج فوق هذا الباند عدد 2 من  Rectangle Object  نكتب في الأول النص : و صف الصورة  و في الثاني النص عرض الصورة 
    * و Band  من نوع  Master data ونغير  له data source من [None] الى frDBDataSet1  و ندرج فوقه :
                       -   Rectangle Object و نكتب فيه الكود [Query.pictureDescription]  و ذلك لربطه باسم حقل وصف الصورة في قاعدة البيانات ، Query تم شرحا آنفا 
                      -  و Picture  التي نضغط عليها ضغطا مزدوجا ثم نختار Memo و نكتب الكود [Query.pictureStore] و ذلك لربطها باسم حقل تخزين الصورة في قاعدة البيانات
    ثم نحفظ التقرير المصمم باسم report  في مجلد المشروع و نغلق التقرير لنعود للفورم الرئيسية .
   3 - نضغط ضغطا مزدوجا على زر عرض التقرير و نكتب الكود :
                                                                   frReport1.LoadFromFile('report.lrf');
                                                                   frReport1.ShowReport; 

 وأخيرا نحفظ المشروع . و عند تنفيذ البرنامج و عرض التقرير يظهر كما في الصورة