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

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

رائج
بدأه mohfa في 28 يناير 2009 · 445 رد · 47,607 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#176
fkugd2003 كتب:
ساحاول ان ابحث لك عن حل الليلة اخ طلال

شكرا جزيلا اخي الكريم

اخي ذكيري , هذا ماقمت به وتوقفت عنده

اذا كانت هذه هي oop كيف استطيع توريث مواصفات هذا الصنف لكي لايتوقف عنده

او ماهي المشكله

post-169385-1238517914_thumb.jpg

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

#177

المشكلة في تعريف المكتبه فقط اخي طلال

uses

Borland.Vcl.Db , Borland.Vcl.ADODB

#178

لم يتغير شيىء اخي ذكيري, المشكلة نفسها يتوقف عند المتغير استدعاء الاجراء

unit UF_Fornisseur;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Borland.Vcl.StdCtrls, System.ComponentModel, Borland.Vcl.Buttons, Borland.Vcl.Db , Borland.Vcl.ADODB;

type
  TF_Fournisseur = class(TForm)
	Edit1: TEdit;
	Edit2: TEdit;
	Edit3: TEdit;
	Edit4: TEdit;
	Edit5: TEdit;
	Edit6: TEdit;
	Label1: TLabel;
	Label2: TLabel;
	Label3: TLabel;
	Label4: TLabel;
	Label5: TLabel;
	Label6: TLabel;
	Label7: TLabel;
	Memo1: TMemo;
	BTN_SaveFournisseur: TSpeedButton;
	procedure BTN_SaveFournisseurClick(Sender: TObject);
  private
	{ Private declarations }
  public
	{ Public declarations }
  end;

var
  F_Fournisseur: TF_Fournisseur;

implementation
  uses Unit2;
{$R *.nfm}

procedure TF_Fournisseur.BTN_SaveFournisseurClick(Sender: TObject);
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;

end;
end.
#179

السلام عليكم

اخي طلال لا عليك ساكمل الصورة فقط و انتبه الي vcl

 

Method F_Fournisseur[color= #339933;].LoadImage[color= #009900;]([color= #009900;])[color= #339933;];

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

    strFn[color= #339933;]:String[color= #339933;];

    fiImage[color= #339933;]:FileInfo[color= #339933;];

    fs[color= #339933;]:FileStream[color= #339933;];

begin

     try

		  	self[color= #339933;].OpnFDlogo[color= #339933;].ShowDialog[color= #009900;](self[color= #009900;])[color= #339933;];

				strFn [color= #339933;]:= self[color= #339933;].OpnFDlogo[color= #339933;].FileName[color= #339933;];

				self[color= #339933;].img_Logo[color= #339933;].Image [color= #339933;]:= Image[color= #339933;].FromFile[color= #009900;](strFn[color= #009900;])[color= #339933;];

				fiImage [color= #339933;]:= [color= #000000; font-weight: bold;]new FileInfo[color= #009900;](strFn[color= #009900;])[color= #339933;];

				self[color= #339933;].m_lImageFileLength [color= #339933;]:= fiImage[color= #339933;].Length[color= #339933;];

				fs[color= #339933;]:=[color= #000000; font-weight: bold;]new FileStream[color= #009900;](strFn[color= #339933;],FileMode[color= #339933;].Open[color= #339933;],FileAccess[color= #339933;].Read[color= #339933;],FileShare[color= #339933;].Read[color= #009900;])[color= #339933;];

				m_barrImg [color= #339933;]:= [color= #000000; font-weight: bold;]new byte[color= #009900;][Convert[color= #339933;].ToInt32[color= #009900;](self[color= #339933;].m_lImageFileLength[color= #009900;])[color= #009900;]][color= #339933;];

				[color= #000000; font-weight: bold;]var iBytesRead [color= #339933;]: Integer [color= #339933;]:= fs[color= #339933;].Read[color= #009900;](m_barrImg[color= #339933;],[color= #cc66cc;]0[color= #339933;],Convert[color= #339933;].ToInt32[color= #009900;](self[color= #339933;].m_lImageFileLength[color= #009900;])[color= #009900;])[color= #339933;];

				fs[color= #339933;].Close[color= #009900;]([color= #009900;])[color= #339933;];

		except 

 

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

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

[color= #009900;][gcode[color= #009900;]]

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

[color= #009900;][gcode[color= #009900;]]

method F_Fournisseur[color= #339933;].Set_Params[color= #009900;]([color= #009900;])[color= #339933;]:list[color= #339933;]<SqlParameter[color= #339933;]>;

begin

        [color= #000000; font-weight: bold;]var sParams[color= #339933;]:= [color= #000000; font-weight: bold;]new list[color= #339933;]<SqlParameter[color= #339933;]>;

        sParams[color= #339933;].Add[color= #009900;]([color= #000000; font-weight: bold;]new SqlParameter[color= #009900;]([color= #0000ff;]'@Nom'       [color= #339933;],Txb_NomF[color= #339933;].Text[color= #009900;])[color= #009900;])[color= #339933;];

        sParams[color= #339933;].Add[color= #009900;]([color= #000000; font-weight: bold;]new SqlParameter[color= #009900;]([color= #0000ff;]'@Telephone' [color= #339933;],Txb_TelF[color= #339933;].Text[color= #009900;])[color= #009900;])[color= #339933;];

        sParams[color= #339933;].Add[color= #009900;]([color= #000000; font-weight: bold;]new SqlParameter[color= #009900;]([color= #0000ff;]'@Adresse'   [color= #339933;],Txb_AdrF[color= #339933;].Text[color= #009900;])[color= #009900;])[color= #339933;];

        sParams[color= #339933;].Add[color= #009900;]([color= #000000; font-weight: bold;]new SqlParameter[color= #009900;]([color= #0000ff;]'@Email'     [color= #339933;],Txb_MAilF[color= #339933;].Text[color= #009900;])[color= #009900;])[color= #339933;];

        sParams[color= #339933;].Add[color= #009900;]([color= #000000; font-weight: bold;]new SqlParameter[color= #009900;]([color= #0000ff;]'@SiteWeb'   [color= #339933;],Txb_SitwF[color= #339933;].Text[color= #009900;])[color= #009900;])[color= #339933;];

        sParams[color= #339933;].Add[color= #009900;]([color= #000000; font-weight: bold;]new SqlParameter[color= #009900;]([color= #0000ff;]'@Situation' [color= #339933;],Txb_sutF[color= #339933;].Text[color= #009900;])[color= #009900;])[color= #339933;];

        sParams[color= #339933;].Add[color= #009900;]([color= #000000; font-weight: bold;]new SqlParameter[color= #009900;]([color= #0000ff;]'@Remarques' [color= #339933;],Txb_RemF[color= #339933;].Text[color= #009900;])[color= #009900;])[color= #339933;];

 

        [color= #000000; font-weight: bold;]var picSqlParameter [color= #339933;]:=[color= #000000; font-weight: bold;]new SqlParameter[color= #009900;]([color= #0000ff;]'@Logo'[color= #339933;],[color= #990000;]System[color= #339933;].Data[color= #339933;].SqlDbType[color= #339933;].Image[color= #009900;])[color= #339933;];

        picSqlParameter[color= #339933;].Value[color= #339933;]:= self[color= #339933;].m_barrImg[color= #339933;];        

        sParams[color= #339933;].Add[color= #009900;](picSqlParameter[color= #009900;])[color= #339933;];

 

        result[color= #339933;]:=sParams[color= #339933;]; 

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

لم يبقي الا عرض الصورة في الداتا قريد بالحجم اللائق

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

 

method F_Fournisseur[color= #339933;].F_Fournisseur_Load[color= #009900;](sender[color= #339933;]: [color= #990000;]System[color= #339933;].Object[color= #339933;]; e[color= #339933;]: [color= #990000;]System[color= #339933;].EventArgs[color= #009900;])[color= #339933;];

begin

     [color= #b1b100;]if vidxFournisseur[color= #339933;]<>[color= #0000ff;]'-1' then 

     begin

       [color= #000000; font-weight: bold;]var O_SqlClient[color= #339933;]:=[color= #000000; font-weight: bold;]new SqlClient[color= #339933;];

      [color= #b1b100;]if[color= #009900;](O_SqlClient[color= #339933;].connect[color= #009900;]([color= #009900;])[color= #009900;])then

        [color= #b1b100;]if O_SqlClient[color= #339933;].Remplir[color= #009900;]([color= #0000ff;]'SELECT Idx_fournisseur,Nom,Telephone,Adresse,Email,SiteWeb,Situ
ation,Remarques FROM Fournisseurs WHERE Idx_fournisseur ='[color= #339933;]+vidxFournisseur[color= #009900;])[color= #339933;]=[color= #0000ff;]'' then

        begin

            BDS_Fournisseur[color= #339933;].DataSource[color= #339933;]:=O_SqlClient[color= #339933;].SqlDs[color= #339933;].Tables[color= #009900;][[color= #cc66cc;]0[color= #009900;]][color= #339933;];

            Txb_NomF[color= #339933;].DataBindings[color= #339933;].Add [color= #009900;]([color= #0000ff;]'Text'[color= #339933;], BDS_Fournisseur[color= #339933;], [color= #0000ff;]'Nom'       [color= #009900;])[color= #339933;];

            Txb_TelF[color= #339933;].DataBindings[color= #339933;].Add [color= #009900;]([color= #0000ff;]'Text'[color= #339933;], BDS_Fournisseur[color= #339933;], [color= #0000ff;]'Telephone' [color= #009900;])[color= #339933;];

            Txb_AdrF[color= #339933;].DataBindings[color= #339933;].Add [color= #009900;]([color= #0000ff;]'Text'[color= #339933;], BDS_Fournisseur[color= #339933;], [color= #0000ff;]'Adresse'   [color= #009900;])[color= #339933;];

            Txb_MAilF[color= #339933;].DataBindings[color= #339933;].Add[color= #009900;]([color= #0000ff;]'Text'[color= #339933;], BDS_Fournisseur[color= #339933;], [color= #0000ff;]'Email'     [color= #009900;])[color= #339933;];

            Txb_SitwF[color= #339933;].DataBindings[color= #339933;].Add[color= #009900;]([color= #0000ff;]'Text'[color= #339933;], BDS_Fournisseur[color= #339933;], [color= #0000ff;]'SiteWeb'   [color= #009900;])[color= #339933;];

            Txb_sutF[color= #339933;].DataBindings[color= #339933;].Add [color= #009900;]([color= #0000ff;]'Text'[color= #339933;], BDS_Fournisseur[color= #339933;], [color= #0000ff;]'Situation' [color= #009900;])[color= #339933;];

            Txb_RemF[color= #339933;].DataBindings[color= #339933;].Add [color= #009900;]([color= #0000ff;]'Text'[color= #339933;], BDS_Fournisseur[color= #339933;], [color= #0000ff;]'Remarques' [color= #009900;])[color= #339933;];

            img_Logo[color= #339933;].DataBindings[color= #339933;].Add [color= #009900;]([color= #0000ff;]'Image'[color= #339933;], BDS_Fournisseur[color= #339933;], [color= #0000ff;]'Logo'     [color= #009900;])[color= #339933;];

            O_SqlClient[color= #339933;].deconnect[color= #009900;]([color= #009900;])[color= #339933;];

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

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

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

مشكلتي في السطر

img_Logo.DataBindings.Add ('Image', BDS_Fournisseur, 'Logo'	 );

حيث تضهر الرسالة التاليه

[consol]

Impossible d'effectuer une liaison à la propriété ou la colonne Logo sur le DataSource.

Nom du paramètre : dataMember

[/consol]

#180

بسيطة يا رجل :hmm: اظن ان الخطأ Run Time Error قم بتغيير استعلام سيكوال لانك نسيت ان تستدعي في الاستعلام Logo لذلك رفض ان يربطه لك مع الصورة

اقتباس
if O_SqlClient.Remplir('SELECT Idx_fournisseur,Nom,Telephone,Adresse,Email,SiteWeb,Situation,Remarques FROM Fournisseurs WHERE Idx_fournisseur ='+vidxFournisseur)='' then

اين متغير لlogo لكي تربطه :resentful:

if O_SqlClient.Remplir('SELECT Idx_fournisseur,Nom,Telephone,Adresse,Email,SiteWeb,Situation,Remarques,Logo FROM Fournisseurs WHERE Idx_fournisseur ='+vidxFournisseur)='' then

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

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

seo zen SEO Enlightment amazon danbo

#181

:clapping: :clapping: :clapping:

:cry: يومين وانا احاول لم انتبه الى هذا الخطأ .

#182

و الان ساترككم مع البريسم لتصحيح و تحسين الكود اي المرحة 1.1 طبعا بعد ان اضع الرابطة اسف على الرابط الاخيرة بها صور ضننت ان المشاؤيع مثل الدلفي يهفضها بداخل الرسورس .

لست اعلم كيف نحفض صور الازرار و الواجهة في المشروع دون اضافة مجلد في المشروع .????

في المساء ساضع الرابطة النهائية 1.1 ان شاء الله .

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

المجال مفتوح لمناقشة الخطوة 1.2

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

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

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

طلال شمر على ساعديك الان . :nose_patch:

#183

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

و توجد دوال مباشرة لتحميلها الى البرنامج في لحظة الحاجة

كمثال الكود الذي كتبته لتحميل الصورة الافتراضية من الريسورس

Bitmap bmp = null;
			if (imagebuffer == null) {
				Assembly asm = Assembly.GetExecutingAssembly();
				string[] resNames = asm.GetManifestResourceNames();
				foreach (string s in resNames) {
					if (s.EndsWith(".gif"))
					{
						Stream imgS = asm.GetManifestResourceStream(s);
						if (!(null == imgS)) {
							bmp = Bitmap.FromStream(imgS) as Bitmap;
						}
						break;
					}
				}			  


				imagebuffer = (byte[])TypeDescriptor.GetConverter(bmp).ConvertTo(bmp, typeof(byte[]));


				pImage = new ParametersDescriptor("@Image", SqlDbType.VarBinary, imagebuffer.Length, (object)imagebuffer);
			}
			else {
				pImage = new ParametersDescriptor("@Image", SqlDbType.VarBinary, imagebuffer.Length, (object)imagebuffer);
			}

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

seo zen SEO Enlightment amazon danbo

#184

بخصوص اجبار المستخدم على ادخال المعلومات الخاصة بالاميل و موقع الانترنت فاني اظن اننا نحتاج الى Regular expression

للتأكد من الاميل يمكن ان نستعمل صياغة RFC 2822

(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])

لكن بما انها RFC فانا متأكد من انني ساجدها في احد دوال الدوت نت .... سابحث فيما بعد لارى ماذا ساجد :D

هناك ايضا واحدة للتاكد من ال url اذا كانت صحيحة من حيث الشكل

^(?#Protocol)(?:(?:ht|f)tp(?:s?)\:\/\/|~/|/)?(?#Username:Password)(?:\w+:\w+@)?(?#Subdomains)(?:(?:[-\w]+\.)+(?#TopLevel Domains)(?:com|org|net|gov|mil|biz|info|mobi|name|aero|jobs|museum|travel|[a-z]{2}))(?#Port)(?::[\d]{1,5})?(?#Directories)(?:(?:(?:/(?:[-\w~!$+|.,=]|%[a-f\d]{2})+)+|/)+|\?|#)?(?#Query)(?:(?:\?(?:[-\w~!$+|.,*:]|%[a-f\d{2}])+=(?:[-\w~!$+|.,*:=]|%[a-f\d]{2})*)(?:&(?:[-\w~!$+|.,*:]|%[a-f\d{2}])+=(?:[-\w~!$+|.,*:=]|%[a-f\d]{2})*)*)*(?#Anchor)(?:#(?:[-\w~!$+|.,*:=]|%[a-f\d]{2})*)?$

ما رأيكم ؟؟

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

seo zen SEO Enlightment amazon danbo

#185

ومنك نستفيد :thumb_up:

ارجوا ان تصحح الكود الدي كتبت شكرا

وهل من توضيح ل RFC

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

#186
زكيري عبد العالي كتب:
طلال شمر على ساعديك الان .

:evil:

#187

الكود صحيح اخي زكيري الكود عبارة عن صياغة لاحتمالات الاميل المقبولة

اما بخصوص RFC فهي وثائق توضع لتحديد المعايير الخاصة بكل تكنولوجيا معلوماتية للاتصالات

سأحاول ان اكتب مثال صغير لتوضيح الفكرة 10 دقائق و ارفعه

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

seo zen SEO Enlightment amazon danbo

#188

شكرا

#189

هذا مثال عن الفكرة

في البرنامج الصغير يمكن ان نجد مقارنة لارقام او التأكد من صحة الاميل

و هو نفس الشيئ الذي نراه في الكثير من المواقع التي تقول لك احيانا في رسالة الخطا not a valid email format

كيف تقوم بذلك؟؟ ببساطة عن طريق regular expressions

RegularExpressionTest.rar

ارجو ان اكون افدت

//----------------------------------

ساضطر للذهاب الان فانا جالس امام الحاسوب ل 10 ساعات

تم تعديل هذه المشاركة بواسطة fkugd2003 في 1 أبريل 2009 في 11:48

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

seo zen SEO Enlightment amazon danbo

#190

تعديل سريع على الكود لاضافة التأكد من شكل عنوان url

valid url check

regular expression الحالية سوف تكتشف المواقع com|org|net|mil|edu|COM|ORG|NET|MIL|EDU

ساقوم بتعديلها فيما بعد لاضافت اشياء اخرى حسب ما تفكرون به :D

RegularExpressionTest.rar

و الان الى المقهى هههههههههههههههههههههههههههههههه

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

seo zen SEO Enlightment amazon danbo

#191

سلام عليكم

احم احم

مش عندى اى خلفية عن الصيدليات بس شكلكم محتاجين مساعدة من ال URL/Email Validator

لل email

email_re = re.compile(
	r"(^[-!#$%&'*+/=?^_`{}|~0-9A-Z]+(\.[-!#$%&'*+/=?^_`{}|~0-9A-Z]+)*"  # dot-atom
	r'|^"([\001-\010\013\014\016-\037!#-\[\]-\177]|\\[\001-011\013\014\016-\177])*"' # quoted-string
	r')@(?:[A-Z0-9-]+\.)+[A-Z]{2,6}$', re.IGNORECASE)  # domain

لل url

url_re = re.compile(
	r'^https?://' # http:// or https://
	r'(?:(?:[A-Z0-9-]+\.)+[A-Z]{2,6}|' #domain...
	r'localhost|' #localhost...
	r'\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})' # ...or ip
	r'(?::\d+)?' # optional port
	r'(?:/?|/\S+)$', re.IGNORECASE)

مقتبسة من ملفات django

اعتقد هتكون مباشرة فى السى شارب -على العموم هجربها وارجع لكم-

تم تعديل هذه المشاركة بواسطة ahmed_youssef في 1 أبريل 2009 في 15:14

(map share people)

فضلا لاتقم بمراسلتي من أجل أسئلة لها أقسامها في المنتدى حتى تعم الفائدة على الجميع وللحصول على إجابات أفضل من أعضاء أكثر خبرة.
Weblog
@bitbucket
@xmonader

#192

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

شكرا جميعا

#193

اهلا بيك زكيرى باشا

بعد البحث والتداول :P لقيت ان ميكروسوفت مجمعة بعض الشائع

using System;
using System.Text.RegularExpressions;

namespace tstregex
{
	class MainClass
	{
		public static void Main(string[] args)
		{
			Console.WriteLine(IsValidEmail("striky@yahoo.com"));
			Console.WriteLine(IsValidURL(":80"));
		}
		public static bool IsValidEmail(string email){
			Regex regex=new Regex(@"^([0-9a-zA-Z]([-\.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$");
			return regex.IsMatch(email);
		}
		public static bool IsValidURL(string url){
			Regex regex=new Regex(@"^(ht|f)tp(s?)\:\/\/[0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*(:(0-9)*)*(\/?)([a-zA-Z0-9\-\.\?\,\'\/\\\+&%\$#_]*)?$");
			return regex.IsMatch(url);
		}
	}
}

تم تعديل هذه المشاركة بواسطة ahmed_youssef في 1 أبريل 2009 في 17:09

(map share people)

فضلا لاتقم بمراسلتي من أجل أسئلة لها أقسامها في المنتدى حتى تعم الفائدة على الجميع وللحصول على إجابات أفضل من أعضاء أكثر خبرة.
Weblog
@bitbucket
@xmonader

#194

حاولت ان اطبق هذه الصياغات الموجودة في django و كذلك الصياغات التي طرحتها في المشاركة السابقة لكنني اظن انني من جماعة الذين يحبون السهل ههههههه

هناك الكثير من صيغ regular expressions لكن الاحظ ان المبرمجين عندنا لا يعمدون الى استعمالها ربما لانهم لم يسمعو بها من قبل

مبرمجوا بايثون و بيرل و بي اش بي هم الاكثر الذين يعمدون الى استعمالها كثيرا (الشكر لبيرل لانه علمني الفكرة :D).

دعم الدوت نت كبير لهذه الاشياء لكن من قال انها تستعمل في asp.net فقط -_- حتى msdn و تقول ذلك :(

للتذكير دلفي لا تحتوي عليها في VCL لكن توجد بعض المكتبات التي يمكن ان نستعملها

http://www.pcre.org/

وهذا مكون جاهز يدعم بعض regular expressions الموجودة في بيرل

http://www.regular-expressions.info/download/TPerlRegEx.zip

تم تعديل هذه المشاركة بواسطة fkugd2003 في 1 أبريل 2009 في 17:17

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

seo zen SEO Enlightment amazon danbo

#195

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

(map share people)

فضلا لاتقم بمراسلتي من أجل أسئلة لها أقسامها في المنتدى حتى تعم الفائدة على الجميع وللحصول على إجابات أفضل من أعضاء أكثر خبرة.
Weblog
@bitbucket
@xmonader

#196

معلومات مفيدة بارك الله فيكم

#197

السلام عليكم

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

#198

الحمد لله

استغلية فترة غيابك فعملت على البريزم

لقد اضفت صنف جديدة كلاس اسمها AllRegularExp.pas

وفيها مايلي

 

namespace Gpharm2009[color= #339933;].AppCode[color= #339933;];

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

uses

  [color= #990000;]System[color= #339933;].Collections[color= #339933;].Generic[color= #339933;],

  [color= #990000;]System[color= #339933;].Linq[color= #339933;],

  [color= #990000;]System[color= #339933;].Text[color= #339933;].RegularExpressions[color= #339933;],

  [color= #990000;]System[color= #339933;].Text[color= #339933;];

type

  AllRegularExp [color= #339933;]= [color= #000000; font-weight: bold;]public [color= #000000; font-weight: bold;]class

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

  protected

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

  Method IsValidURL[color= #009900;](url[color= #339933;]:String[color= #009900;])[color= #339933;]:boolean[color= #339933;];

  Method IsValidEmail[color= #009900;](email[color= #339933;]:String[color= #009900;])[color= #339933;]:boolean[color= #339933;];

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

 

implementation

Method AllRegularExp[color= #339933;].IsValidEmail[color= #009900;](email[color= #339933;]:String[color= #009900;])[color= #339933;]:boolean[color= #339933;];

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

   o_Regex[color= #339933;]:Regex[color= #339933;];

begin

      o_Regex[color= #339933;]:= [color= #000000; font-weight: bold;]new Regex[color= #009900;]([color= #0000ff;]'^([0-9a-zA-Z]([-[color= #000099; font-weight: bold;].[color= #000099; font-weight: bold;]w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-[color= #000099; font-weight: bold;]w]*[0-9a-zA-Z][color= #000099; font-weight: bold;].)
+[a-zA-Z]{2,9})$'[color= #009900;])[color= #339933;];

      Result[color= #339933;]:=regex[color= #339933;].IsMatch[color= #009900;](email[color= #339933;],[color= #0000ff;]''[color= #009900;])[color= #339933;];

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

Method AllRegularExp[color= #339933;].IsValidURL[color= #009900;](url[color= #339933;]:String[color= #009900;])[color= #339933;]:boolean[color= #339933;];

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

   o_Regex[color= #339933;]:Regex[color= #339933;];

begin

      o_Regex[color= #339933;]:= [color= #000000; font-weight: bold;]new Regex[color= #009900;]([color= #0000ff;]'^(ht|f)tp(s?)[color= #000099; font-weight: bold;]:[color= #000099; font-weight: bold;]/[color= #000099; font-weight: bold;]/[0-9a-zA-Z]([-.[color= #000099; font-weight: bold;]w]*[0-9a-zA-Z])*(:(0-9)*)*([color= #000099; font-weight: bold;]/?)([
a-zA-Z0-9[color= #000099; font-weight: bold;]-[color= #000099; font-weight: bold;].[color= #000099; font-weight: bold;]?[color= #000099; font-weight: bold;],[color= #000099; font-weight: bold;]''[color= #339933;]/[color= #339933;]+&amp[color= #339933;];%$[color= #666666; font-style: italic;]#_]*)?$');

      Result[color= #339933;]:=regex[color= #339933;].IsMatch[color= #009900;](url[color= #339933;],[color= #0000ff;]''[color= #009900;])[color= #339933;];

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

[color= #990000;]end[color= #339933;].

و اضفت هذا الكود الى زر الحفض للمول

	 ErrP_Fournisseur.Clear;
	 IF (Txb_NomF.Text).Trim =''			  THEN BEGIN   ErrP_Fournisseur.SetError(Txb_NomF,'أدخل اسم الممول'); EXIT; END;// ELSE ErrP_Fournisseur.SetError(Txb_NomF,'');
	 IF (Txb_TelF.Text).Trim =''			  THEN BEGIN   ErrP_Fournisseur.SetError(Txb_TelF,'ادخل هاتف الممول');EXIT; END;// ELSE ErrP_Fournisseur.SetError(Txb_TelF,'');
	 IF o_regExp.IsValidEmail(Txb_MAilF.Text)AND((Txb_MAilF.Text).Trim<>'') THEN BEGIN   ErrP_Fournisseur.SetError(Txb_MAilF,'اخل بريد صحيح ');EXIT; END;// ELSE ErrP_Fournisseur.SetError(Txb_MAilF,'');
	 IF o_regExp.IsValidURL(Txb_SitwF.Text)  AND((Txb_SitwF.Text).Trim<>'')  THEN BEGIN   ErrP_Fournisseur.SetError(Txb_SitwF,'اخل كتابة صحيحة للموقع');EXIT; END;// ELSE ErrP_Fournisseur.SetError(Txb_SitwF,'');

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

الكود ما غيرة فيه

 

        [color= #b1b100;]if O_SqlClient[color= #339933;].Remplir[color= #009900;]([color= #0000ff;]'SELECT Idx_fournisseur,Nom,Telephone,Adresse,Email,SiteWeb,Situ
ation,Remarques,Logo FROM Fournisseurs WHERE Idx_fournisseur ='[color= #339933;]+vidxFournisseur[color= #009900;])[color= #339933;]=[color= #0000ff;]'' then

        begin

            BDS_Fournisseur[color= #339933;].DataSource[color= #339933;]:=O_SqlClient[color= #339933;].SqlDs[color= #339933;].Tables[color= #009900;][[color= #cc66cc;]0[color= #009900;]][color= #339933;];

            Txb_NomF[color= #339933;].DataBindings[color= #339933;].Add [color= #009900;]([color= #0000ff;]'Text'[color= #339933;], BDS_Fournisseur[color= #339933;], [color= #0000ff;]'Nom'       [color= #009900;])[color= #339933;];

            Txb_TelF[color= #339933;].DataBindings[color= #339933;].Add [color= #009900;]([color= #0000ff;]'Text'[color= #339933;], BDS_Fournisseur[color= #339933;], [color= #0000ff;]'Telephone' [color= #009900;])[color= #339933;];

            Txb_AdrF[color= #339933;].DataBindings[color= #339933;].Add [color= #009900;]([color= #0000ff;]'Text'[color= #339933;], BDS_Fournisseur[color= #339933;], [color= #0000ff;]'Adresse'   [color= #009900;])[color= #339933;];

            Txb_MAilF[color= #339933;].DataBindings[color= #339933;].Add[color= #009900;]([color= #0000ff;]'Text'[color= #339933;], BDS_Fournisseur[color= #339933;], [color= #0000ff;]'Email'     [color= #009900;])[color= #339933;];

            Txb_SitwF[color= #339933;].DataBindings[color= #339933;].Add[color= #009900;]([color= #0000ff;]'Text'[color= #339933;], BDS_Fournisseur[color= #339933;], [color= #0000ff;]'SiteWeb'   [color= #009900;])[color= #339933;];

            Txb_sutF[color= #339933;].DataBindings[color= #339933;].Add [color= #009900;]([color= #0000ff;]'Text'[color= #339933;], BDS_Fournisseur[color= #339933;], [color= #0000ff;]'Situation' [color= #009900;])[color= #339933;];

            Txb_RemF[color= #339933;].DataBindings[color= #339933;].Add [color= #009900;]([color= #0000ff;]'Text'[color= #339933;], BDS_Fournisseur[color= #339933;], [color= #0000ff;]'Remarques' [color= #009900;])[color= #339933;];

            img_Logo[color= #339933;].DataBindings[color= #339933;].Add [color= #009900;]([color= #0000ff;]'Image'[color= #339933;], BDS_Fournisseur[color= #339933;], [color= #0000ff;]'Logo'     [color= #009900;])[color= #339933;];

            O_SqlClient[color= #339933;].deconnect[color= #009900;]([color= #009900;])[color= #339933;];

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

الرسالة

post-1034-1238617843_thumb.jpg

#199

اخي عبد العالي لقد وجدت تغييرا كبيرا في الكود

ثانيا ماهو المطلوب حاليا

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

#200

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

اخي زكيري :

لكن ماهو نوع Logo في قاعدة بيانات sql server التي تعمل بها؟؟

اذا كانت 2000 فاستعمل image اما اذا كنت في 2005 فاعمل ب varbinary بخصوص 2008 فلم يحصل لي الشرف

-----

سبقتني الى طرح الصنف كنت قد دخلت لاضعه :tantrum: ربما لاني تاخرت في النوم :D ملاحظة صغيرة جدا اضف الخاصية static لكل method كي لا تضطر الى انشاء object كلما احتجت ان تنادي هذه الدوال

بخصوص المشكل الذي تعاني منه الطريقة البرمجية صحيحة لاني استعملتها في الكود الخاص بي لكن تأكد من تعريف type للصورة من نوع varbinary(max)

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

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

seo zen SEO Enlightment amazon danbo

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