الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مشروع C# - Vcl.net - Prism

رائج
بدأه mohfa في 28 يناير 2009 · 445 رد · 47,607 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#151
var

 sqlCmd:TADOStoredProcu
   O_SqlClient:TF_SqlClient;
BEGIN
	 O_SqlClient:=TF_SqlClient.Create(nil);

	  _sqlCmd:=TADOStoredProc.Create(nil);
	  TRY
		_sqlCmd.Connection:= O_SqlClient.sqlCnx;

		_sqlCmd.ProcedureName := 'AddFournisseurProc';
		_sqlCmd.Parameters.Refresh;
		_sqlCmd.Parameters.ParamByName('@nom')	  .value := edit1.Text;
		_sqlCmd.Parameters.ParamByName('@Telephone').value := edit2.Text;
		_sqlCmd.Parameters.ParamByName('@Adresse')  .value := edit3.Text;
		_sqlCmd.Parameters.ParamByName('@Email')	.value := edit4.Text;
		_sqlCmd.Parameters.ParamByName('@SiteWeb')  .value := edit5.Text;
		_sqlCmd.Parameters.ParamByName('@Situation').value := edit6.Text;
		_sqlCmd.Parameters.ParamByName('@Remarques').value := memo1.Text;
		_sqlCmd.Prepared   := true;
		_sqlCmd.ExecProc;

	  FINALLY
		 O_SqlClient.Free;
		 _sqlCmd.Free;
	  END;
	self.Close;

تم تعديل هذه المشاركة بواسطة طلال بلال في 28 مارس 2009 في 12:16

#152

بارك الله فيك ارجوا ان تعطينا الاسم الحقيق فاسمك صعب عليا

اعجبتني الكلاس ParametersDescriptor كثير قكرة ممتازة لاني كنت ابحث عن حل مثلها لكن لم استطع فاستعملت الجداول .

شكرا علمتني شئ جديد .

اما اخي طلال ساضع الشرح االكامل اليوم بحول الله .

#153

السلام عليكــم ورحمـة الله وبركاتــه ،،

اسف لم استطع الانتهاء اليوم لاني استقبلت ضيوف لكن حسنت في التابع الذي ينفذ الاجراء المخزن

 

METHOD SqlClient[color= #339933;].RunStoredProc[color= #009900;](sProcName[color= #339933;]:string[color= #339933;];sParams[color= #339933;]:list[color= #339933;]<SqlParameter[color= #339933;]>[color= #009900;])[color= #339933;]:boolean[color= #339933;];

[color= #000000; font-weight: bold;]var i[color= #339933;]:Integer[color= #339933;];

BEGIN

      _sqlCmd [color= #339933;]:=[color= #000000; font-weight: bold;]new SqlCommand[color= #009900;](sProcName[color= #339933;], _sqlCnx[color= #009900;])[color= #339933;];

      TRY

      BEGIN

        _sqlCmd[color= #339933;].CommandType [color= #339933;]:= CommandType[color= #339933;].StoredProcedure[color= #339933;];

        [color= #b1b100;]for i[color= #339933;]:=[color= #cc66cc;]0 to sParams[color= #339933;].[color= #990000;]Count[color= #cc66cc;]-1 [color= #b1b100;]do

        _sqlCmd[color= #339933;].Parameters[color= #339933;].Add[color= #009900;](sParams[color= #009900;][i[color= #009900;]][color= #009900;])[color= #339933;];

        _sqlCmd[color= #339933;].ExecuteReader[color= #009900;]([color= #009900;])[color= #339933;];

      Result[color= #339933;]:= [color= #000000; font-weight: bold;]true[color= #339933;];

      [color= #990000;]END[color= #339933;];

      EXCEPT ON E[color= #339933;]:Exception [color= #b1b100;]DO 

      BEGIN [color= #666666; font-style: italic;]// gestionErreur(SQLEx);

        [color= #990000;]System[color= #339933;].Windows[color= #339933;].Forms[color= #339933;].MessageBox[color= #339933;].Show[color= #009900;](E[color= #339933;].Message[color= #009900;])[color= #339933;];

      Result[color= #339933;]:= [color= #000000; font-weight: bold;]false[color= #339933;];

      [color= #990000;]END[color= #339933;];

      [color= #990000;]END[color= #339933;];

      _sqlCmd [color= #339933;]:= nil[color= #339933;];

[color= #990000;]END[color= #339933;];

method F_Fournisseur.Btn_SaveFournisseur_Click(sender: System.Object; e: System.EventArgs);
begin
	  var O_SqlClient:=new SqlClient;
	  if(O_SqlClient.connect())then
	  begin
	   var  vParams := new list<SqlParameter>;
		vParams.Add(new SqlParameter('@Nom'	   ,Txb_NomF.Text));
		vParams.Add(new SqlParameter('@Telephone' ,Txb_TelF.Text));
		vParams.Add(new SqlParameter('@Adresse'   ,Txb_AdrF.Text));
		vParams.Add(new SqlParameter('@Email'	 ,Txb_MAilF.Text));
		vParams.Add(new SqlParameter('@SiteWeb'   ,Txb_SitwF.Text));
		vParams.Add(new SqlParameter('@Situation' ,Txb_sutF.Text));
		vParams.Add(new SqlParameter('@Remarques' ,Txb_RemF.Text));
		O_SqlClient.RunStoredProc('AddFournisseurProc',vParams);
		O_SqlClient.deconnect();
	  end;
   self.Close;
end;
#154

السلام عليكم ،،،

شغلك يحتاج الى شرح لاني ما ادري لماذا تستخدم هذه الدالة METHOD SqlClient.RunStoredProc ، لماذا لا تعمل على الاجراء مباشرة وتقوم باسناد المتغيرات له وتنفيذه .

#155

الجواب سهل هو لكي لا نقوم بتكرار الخطوات في كل مرة نريد تنفيذ الاجراء ولكي يتمل حصر كل ماهوا عمل على الداتا بيز في كلاس واحدة وكما قلت سابقا هذا المشروع هو مرحلة تمهيدية لمشاريع 3-tier اي OOP التي نفصل فيها كل الامور عن بعضها .

انا الان اعمل على ادراج رمز المؤسسة و سارفق المشروع إن شاء الله اليوم .

#156

وماذا عن VCL اخي ذكيري . كيف سأعرف الاجراء المخزن :angry:

#157

السلام عليكم ممكن الانضمام اليكم

#158

اخي طلال بلال

انا مازلت مع البريسم ووجدت مشكلة بسيطه ثم انتقل الى vcl

ان شاء الله المرحلة 1.1 ستكتمل في اقرب وقت و اتكل عليك في المرحلة 1.2اي في جدول اخر.

---------------------------------------------------------------

مرحبا اخ الكريم ياسين صابري وما هذا السؤال يارجل

الدار دارك منتدي الدلفي نت مفتوح الابواب وليس لدينا شروط .

سوى اسألة

1- هل انت مبرمج دلفي ام دوت نت

2- هل ستشارك مع فريق vcl.net او مع فريق البريسم .

3-هل لك عزيمة كبيرة في اكمال المشروع الى النهاية .

شكرا

تم تعديل هذه المشاركة بواسطة زكيري عبد العالي في 29 مارس 2009 في 15:55

#159

انا مبرمج دالفي

و هدفي صنع برنامج صيدلية

#160

اهلا اخي ياسين

للتوضيح على سؤال الاخ ذكيري

هذه المشروع برنامج صيدلية ويتم انشاءه بطريقتين , الاولى على ديلفي بريسم . والثانية على DELPHI.NET-VCL فأين تحب ان تشارك .

#161

السلام عليكم ورحمة الله وبركاته

كيف حال الجميع اتمنى ان تكونو بخير

اين وصلت الامور هنا

اللهم علمنا ما ينفعنا وانفعنا بما علمتنا وانفع الناس بنا واغفر لنا وارحمنا

#162

الحمد لله على سلامتك اخي علي

#163

الله يسلمك اخي طلال اتمنى ان تكون في صحة جيدة

اللهم علمنا ما ينفعنا وانفعنا بما علمتنا وانفع الناس بنا واغفر لنا وارحمنا

#164

الحمد لله على عودتك اخي على ارجوا ان تعمل لدنياك كانك تعيش ابدا و ان تعمل لاخرتك كانما تموت غدا.

------------------------------------------------------------------------------------------------------

اذن انا اعمل على ايجاد ابسط كود ممكن لربط الصور الموجودة في القاعدة مع المكوناة

سارفق اليوم كلما عماته لتم اضافة ما نريد بعدها .

#165

كما قلت اني ابحث عن كود مختصر للصور فقط و بقية عملية البحث بالاسم

-----------------------------------------------------------

UpadteFournisseurProc

-----------------------------------------------------------

set ANSI_NULLS ON set QUOTED_IDENTIFIER ON GO
-- =============================================
-- Author:        <Author,,Name>
-- Create date: <Create Date,,>
-- Description:    <Description,,>
-- =============================================
ALTER procedure [dbo].[UpadteFournisseurProc] 
(
@Idx_fournisseur       int,
@Nom       varchar(50),
@Telephone varchar(20),
@Adresse   varchar(50),
@Email     varchar(50),
@SiteWeb   varchar(50),
@Situation varchar(10),
@Remarques varchar(50),
@Logo     image
)
AS BEGIN UPDATE Fournisseurs 
   SET Nom=@Nom,Telephone=@Telephone,Adresse=@Adresse,Email=@Email,SiteWeb=@SiteWeb,Situation=@Situation,Remarques=@Remarques,Logo=@Logo
   WHERE Idx_fournisseur = @Idx_fournisseur
END

-----------------------------------------------------------

AddFournisseurProc

-----------------------------------------------------------

set ANSI_NULLS ON set QUOTED_IDENTIFIER ON GO
-- =============================================
-- Author:        <Author,,Name>
-- Create date: <Create Date,,>
-- Description:    <Description,,>
-- =============================================
ALTER procedure [dbo].[AddFournisseurProc] 
(
@Nom       varchar(50),
@Telephone varchar(20),
@Adresse   varchar(50),
@Email     varchar(50),
@SiteWeb   varchar(50),
@Situation varchar(10),
@Remarques varchar(50),
@Logo     image
)
AS BEGIN INSERT INTO Fournisseurs 
   (Nom,Telephone,Adresse,Email,SiteWeb,Situation,Remarques,Logo)
   VALUES
   (@Nom,@Telephone,@Adresse,@Email,@SiteWeb,@Situation,@Remarques,@Logo) 
END

post-1034-1238445641_thumb.jpg

Gpharm2009.rar

post-1034-1238447591_thumb.jpg

تم تعديل هذه المشاركة بواسطة زكيري عبد العالي في 31 مارس 2009 في 00:13

#166

السلام عليكــم ورحمـة الله وبركاتــه ،،

اهلين اخي علي توحشناك يا راجل....

اخ زكيري اسمي امين :D

متأسف على التأخر لليومين الاخيرين لان الانترنت كانت مقطوعة علي و المتدى اصلا كان رافض دخولي اليه -_-

الملف المرفق يحتوي على مرحلة الممول

في حالة اضافة الممول بدون صورة للشركة فاني قمت بتخزين صورة افتراضية في الريسورسز ressources (شكرا لكتاب charles petzold على الفكرة :lol:)

post-64798-1238475207_thumb.jpg

قمت ايضا باضافة تعديل الممول و يعمل بصورة جيدة يكفي فقط ان تحدد السطر المراد تعديله

post-64798-1238475373_thumb.jpg

بخصوص ازالة الممول تعمل ايضا بصورة جيدة

post-64798-1238475403_thumb.jpg

ارجو ان يكون عملي جيدا :lol:

GestionPharmacie.rar

بقيت مرحلة البحث سوف اقوم بعملها و و اضيفها هنا ان شاء الله

تم تعديل هذه المشاركة بواسطة fkugd2003 في 31 مارس 2009 في 08:15

العمل كثير و الوقت قليل أعاننا الله

seo zen SEO Enlightment amazon danbo

#167

السلام عليكم

شكرا اخي امين عمل جيد بارك الله فيك

اقتباس
بخصوص ازالة الممول تعمل ايضا بصورة جيدة

لا يوجد زر الازالة ممنوع حذف الممول والا حذفت كل فواتير الشراء .....

يرجي حذف هذا / هناك حالة الممول هي مغلقة اي انه حذف من السوق .

سانضر كيف تعاملت مع الصور لكن اعلم ان هناك ما اسهل في حالت العرض لاننا نملك الداتاست و الدتا تابل و بذلك يكون الربط فقط بلا كود التحويل اما الاضافة فيجب وضع كود التحويل الا البيناري .

-بقيه لديك عمل :

1- عند عدم كتابه الاسم و الهاتف في الاضافة او التعديل تضهر القرص الاحمر كما عملت على البريسم .الكتابة الخاطئ للبريد الاكتروني

2-عملية الفترة حسب الاسم و الكل و غير مفعل مفعل

3-حذف العنوان الموجود في tabcontrol

4-رابط المموقع اي عند النقر عليها نفتح موقع الممول .

شكرا

---------------------------------------------------------هكذا تتم المرحلة 1.1--------------------------------------------------

شكرا

اين انت يا محمد :tantrum:

---------------------------------------------------------

علي ارجوا ان تدرس ما عملته و تتابع معنا الاضافات و ان كان ليد اي مشكل انا في الخدمت .

شكرا

#168

وعليكــم السـلام ورحمة الله وبركاتـه..

اهلا اخي زكيري

سأقوم بازالة الزر و اقوم بالمطلوب الباقي

بخصوص الكود فاني قمت بما اعرفه لتحويل الصورة المحملة الى Binary لكي اتمكن من اضافتها الى قاعدة البيانات

اما بخصوص تحميل الصورة لعرضها في ال DataGridView او pictureBox فان الربط يكون مباشر

يمكن ان تلاحظ مباشرة القسم البرمجي في FrmUpdateFournisseur.cs

if (o_SqlClient.Connect(ConnStr))
			{
				//SqlCommand cmd = new SqlCommand("SELECT * FROM Fournisseurs where idx=@idx",o_SqlClient.SqlCnx());
				string SQL = "SELECT * FROM FOURNISSEURS WHERE IDX=" + idx.ToString();
				if(o_SqlClient.Remplir(SQL) == ""){
					bindingSource1.DataSource = o_SqlClient.SqlDs().Tables[0];
				}

				txtNom.DataBindings.Add(		new Binding("Text", bindingSource1, "Nom", true));
				cbSituation.DataBindings.Add(   new Binding("Text", bindingSource1, "Situation", true));
				txtTelephone.DataBindings.Add(  new Binding("Text", bindingSource1, "Telephone", true));
				txtAdresse.DataBindings.Add(	new Binding("Text", bindingSource1, "Adresse", true));
				txtEmail.DataBindings.Add(	  new Binding("Text", bindingSource1, "Email", true));
				txtSiteWeb.DataBindings.Add(	new Binding("Text", bindingSource1, "SiteWeb", true));
				txtRemarques.DataBindings.Add(  new Binding("Text", bindingSource1, "Remarques", true));
				picFournisseur.DataBindings.Add(new Binding("Image", bindingSource1, "ImageFournisseur", true));

			}

قمنا بتحديد النوع Image في خاصية DataBindings و .NET سوف يقوم بالباقي بتحويل الBinaryStream الى صورة

العمل كثير و الوقت قليل أعاننا الله

seo zen SEO Enlightment amazon danbo

#169

جيد هذا ما اريده لكن لم يشتغل معي ساحاول من جديد شكرا

لقد نسيت عمل exit اي return في عملية تاكيد دخول الاسم .

 

     [color= #b1b100;]IF [color= #009900;](Txb_NomF[color= #339933;].Text[color= #009900;])[color= #339933;].[color= #990000;]Trim [color= #339933;]=[color= #0000ff;]'' THEN begin ErrP_Fournisseur[color= #339933;].SetError[color= #009900;](Txb_NomF[color= #339933;],[color= #0000ff;]'ÃÏ
06;á ÇÓã Çáããæá'[color= #009900;])[color= #339933;]; [color= #990000;]exit[color= #339933;];end[color= #339933;];

     [color= #b1b100;]IF [color= #009900;](Txb_TelF[color= #339933;].Text[color= #009900;])[color= #339933;].[color= #990000;]Trim [color= #339933;]=[color= #0000ff;]'' THEN begin ErrP_Fournisseur[color= #339933;].SetError[color= #009900;](Txb_TelF[color= #339933;],[color= #0000ff;]'ÇÏ
06;á åÇÊÝ Çáããæá'[color= #009900;])[color= #339933;];exit[color= #339933;];end[color= #339933;];

ربما لانها null ساحاول وضع صور افتراضية كما فعلت انت .

#170

اعانك الله سأضطر للذهاب بسبب مشاغل حاليا اعود في ما بعد ان شاء الله

العمل كثير و الوقت قليل أعاننا الله

seo zen SEO Enlightment amazon danbo

#171

:resentful: :resentful: :resentful: :mad: :mad: :mad: :mad:

#172

مهلا اخي طلال لم يبقي الا ان اضع كود الصورة ثم اتقل الى vcl

وادع اخ امين و علي و محمد يعملون على 1.2 في البريزم

---------------------------------------------------------------

وساقدم لك شرح كل ما اعمله لا تقلق لكن عليك ان تحضر نفسك بالاضلاع على الاجراءات المخزنة ; و كيفيه استدعاءها من الدلفي هناك مواضيع في منتدي win32 :rose:

---------------------------------------------------------------

للاسف انت وحيد على هدا المشروع في vcl ارجوا ان تسرق اعضاء من win32 كي يعينك

يقول المثل الشعبي : لمعاونة تغلب السبع

#173
زكيري عبد العالي كتب:
---------------------------------------------------------------

للاسف انت وحيد على هدا المشروع في vcl ارجوا ان تسرق اعضاء من win32 كي يعينك

يقول المثل الشعبي : لمعاونة تغلب السبع

لم تبقى طريقة لآحضارهم سوى الخطف . وهذه عقوبتها صعبة كما تعلم

اما عن طرق استدعاء الاجراء فإني ابحث لكن لم اجد شيىء

بالتوفيق اخي ذكيري

#174

ساحاول ان ابحث لك عن حل الليلة اخ طلال

العمل كثير و الوقت قليل أعاننا الله

seo zen SEO Enlightment amazon danbo

#175
 

[color= #000000; font-weight: bold;]var

 

 sqlCmd[color= #339933;]:TADOStoredProcu

   O_SqlClient[color= #339933;]:TF_SqlClient[color= #339933;];

BEGIN

     O_SqlClient[color= #339933;]:=TF_SqlClient[color= #339933;].Create[color= #009900;](nil[color= #009900;])[color= #339933;];

 

      _sqlCmd[color= #339933;]:=TADOStoredProc[color= #339933;].Create[color= #009900;](nil[color= #009900;])[color= #339933;];

      TRY

        _sqlCmd[color= #339933;].Connection[color= #339933;]:= O_SqlClient[color= #339933;].sqlCnx[color= #339933;];

 

        _sqlCmd[color= #339933;].ProcedureName [color= #339933;]:= [color= #0000ff;]'AddFournisseurProc'[color= #339933;];

        _sqlCmd[color= #339933;].Parameters[color= #339933;].Refresh[color= #339933;];

        _sqlCmd[color= #339933;].Parameters[color= #339933;].ParamByName[color= #009900;]([color= #0000ff;]'@nom'[color= #009900;])      [color= #339933;].value [color= #339933;]:= edit1[color= #339933;].Text[color= #339933;];

        _sqlCmd[color= #339933;].Parameters[color= #339933;].ParamByName[color= #009900;]([color= #0000ff;]'@Telephone'[color= #009900;])[color= #339933;].value [color= #339933;]:= edit2[color= #339933;].Text[color= #339933;];

        _sqlCmd[color= #339933;].Parameters[color= #339933;].ParamByName[color= #009900;]([color= #0000ff;]'@Adresse'[color= #009900;])  [color= #339933;].value [color= #339933;]:= edit3[color= #339933;].Text[color= #339933;];

        _sqlCmd[color= #339933;].Parameters[color= #339933;].ParamByName[color= #009900;]([color= #0000ff;]'@Email'[color= #009900;])    [color= #339933;].value [color= #339933;]:= edit4[color= #339933;].Text[color= #339933;];

        _sqlCmd[color= #339933;].Parameters[color= #339933;].ParamByName[color= #009900;]([color= #0000ff;]'@SiteWeb'[color= #009900;])  [color= #339933;].value [color= #339933;]:= edit5[color= #339933;].Text[color= #339933;];

        _sqlCmd[color= #339933;].Parameters[color= #339933;].ParamByName[color= #009900;]([color= #0000ff;]'@Situation'[color= #009900;])[color= #339933;].value [color= #339933;]:= edit6[color= #339933;].Text[color= #339933;];

        _sqlCmd[color= #339933;].Parameters[color= #339933;].ParamByName[color= #009900;]([color= #0000ff;]'@Remarques'[color= #009900;])[color= #339933;].value [color= #339933;]:= memo1[color= #339933;].Text[color= #339933;];

        _sqlCmd[color= #339933;].Prepared   [color= #339933;]:= [color= #000000; font-weight: bold;]true[color= #339933;];

        _sqlCmd[color= #339933;].ExecProc[color= #339933;];

 

      FINALLY

         O_SqlClient[color= #339933;].Free[color= #339933;];

         _sqlCmd[color= #339933;].Free[color= #339933;];

      [color= #990000;]END[color= #339933;];

    self[color= #339933;].Close[color= #339933;];

كما قلت سابقا ان طريقة تنفيذ الاجراء المخزن عن طريق ado هي بالمكونين التالين لا غير .

لكن سنستعمل نفس الطريقة التي استعملناها في البريز و السي شارب وبنفس التسميات كي تستطيع الانتقال بسرعة بعدها الى البريسم و كل من يدرس هذا المشروع اعرف ان هناك طرق ابسط كالتعامل مع المكونات مباشرة لكن ان احب ان اتعامل مع الاشاء برمجيا الى في حالة الضرورة و التسهيل لغرض واحد.

post-1034-1238509464_thumb.jpg

تم تعديل هذه المشاركة بواسطة زكيري عبد العالي في 31 مارس 2009 في 17:25

مواضيع مشابهة