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

اختير نفسك في الدلفي

رائج
بدأه mohfa في 29 يناير 2009 · 61 رد · 7,918 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

سؤالي هذا موجه للجميع ولكي يستفيد منه الاعضاء الجدد .

هو عبارة عن شبه درس صغير . وإن امكن وكان الوقت متوفر ندرج دروس صغيرة على هذا المنوال اقصد في شكل سؤال .

لاحظ معي هاتين الصورتين

post-36253-1233256737_thumb.jpg

post-36253-1233256762_thumb.jpg

كما ترى في الصورة الاولى اضفت الوحدة zlib في البلوك الاول للوحدة unit1 والبرنامج سوف يشتغل بشكل جيد .

وفي الصورة الثانية تمت إظافة الوحدة zlib في مكان اخر وكذلك سوف يشتغل بشكل جيد .

السؤال هو :

مالفرق بين الموضعين او بصيغة اخرى مالفرق بين ال Uses الاولى و ال Uses الثانية وماهو تاثيرها اى ال Uses الاولى و الثانية على البرنامج ؟؟؟؟

ننتظر الإجابة لننتقل إن امكن الوقت الى سؤال اخر .

بالتوفيق .

محمد

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

عزيزي :

لاتنسى ان تصلي على حبيبنا و شفيعنا يوم لا ينفع مال ولا بنون .

فاللهمّ صّل وسّلم على سيدي و شفيعي وحبيبي محمد عليك الف صلاة وازكى تسليم

*****

2_header.png

#2

1_ في الحالت الاولى يمكننا استغلال كل الكلاسات و المتغرات و الوضاءف في اي مكان في البرنامج و خصوصا في المنطقة بين uses الاولى و imlementation اما في الحالى الثانية لا يمكننا الاستغلال محتويات الوحدة الا من بعد كتابة uses الثانية.

#3

في الحالة الاولى اخي محمد يتم تعرف هذه الوحدة الى جميع وحدات البرنامج

في الحالة الثانية تم تعريفها لوحدة معينة دون الوحدات الاخرى

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

#4

يعني لازم انتم من يرد

عزيزي :

لاتنسى ان تصلي على حبيبنا و شفيعنا يوم لا ينفع مال ولا بنون .

فاللهمّ صّل وسّلم على سيدي و شفيعي وحبيبي محمد عليك الف صلاة وازكى تسليم

*****

2_header.png

#5

السؤال الثاني :

لاحظ معي هذه :

 

procedure TForm1[color= #339933;].Button1Click[color= #009900;](Sender[color= #339933;]: TObject[color= #009900;])[color= #339933;];

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

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

i[color= #339933;]:integer[color= #339933;];

begin

S[color= #339933;]:=[color= #0000ff;]'HELLO WORLD '[color= #339933;];

i[color= #339933;]:=[color= #990000;]POS[color= #009900;]([color= #0000ff;]'lo wo'[color= #339933;],S[color= #009900;])[color= #339933;];

Caption[color= #339933;]:=IntToStr[color= #009900;](i[color= #009900;])[color= #339933;];

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

ماهي نتيجة المتغير i ولماذا ؟

تم تعديل هذه المشاركة بواسطة mohfa في 30 يناير 2009 في 08:09

عزيزي :

لاتنسى ان تصلي على حبيبنا و شفيعنا يوم لا ينفع مال ولا بنون .

فاللهمّ صّل وسّلم على سيدي و شفيعي وحبيبي محمد عليك الف صلاة وازكى تسليم

*****

2_header.png

#6

لاأعرف جميع المتغيرات

ولكن

سيصبح اسم الفورم 0

أعتقد لآن Pos = 0

بينما لوتركنا الامر يأخذ قيمة integer كاملة

var
S:String;
i:integer;
begin


Caption:=inttostr(i);

end;

end.

يصبح اسم الفورم قيمةinteger كاملة

post-169385-1233281944_thumb.jpg

#7

اخي طلال اعد المحاولة :hmm:

عزيزي :

لاتنسى ان تصلي على حبيبنا و شفيعنا يوم لا ينفع مال ولا بنون .

فاللهمّ صّل وسّلم على سيدي و شفيعي وحبيبي محمد عليك الف صلاة وازكى تسليم

*****

2_header.png

#8

او بطريقة اخرى :

مالفرق بين ال Pos في الإجرائية الاولى واختها في الإجرائية الثانية و ما هي القيمة التي سياخذها المتغير I في كلتا الإجرائيتين

الإجرائية الاولى

 

 

Procedure TForm1[color= #339933;].Button1Click[color= #009900;](Sender[color= #339933;]: TObject[color= #009900;])[color= #339933;];

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

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

i[color= #339933;]:integer[color= #339933;];

begin

S[color= #339933;]:=[color= #0000ff;]'HELLO WORLD '[color= #339933;];

i[color= #339933;]:=[color= #990000;]POS[color= #009900;]([color= #0000ff;]'lo wo'[color= #339933;],S[color= #009900;])[color= #339933;];

Caption[color= #339933;]:=IntToStr[color= #009900;](i[color= #009900;])[color= #339933;]; [color= #666666; font-style: italic;]// هنا ماهي القيمة التي سياخذها المتغير I

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

الإجرائية الثانية

 

 

  Procedure TForm1[color= #339933;].Button1Click[color= #009900;](Sender[color= #339933;]: TObject[color= #009900;])[color= #339933;];

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

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

  i[color= #339933;]:integer[color= #339933;];

  begin

  S[color= #339933;]:=[color= #0000ff;]'HELLO WORLD '[color= #339933;];

  i[color= #339933;]:=[color= #990000;]POS[color= #009900;]([color= #0000ff;]'LO RL'[color= #339933;],S[color= #009900;])[color= #339933;];

  Caption[color= #339933;]:=IntToStr[color= #009900;](i[color= #009900;])[color= #339933;]; [color= #666666; font-style: italic;]// هنا ماهي القيمة التي سياخذها المتغير I

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

تم تعديل هذه المشاركة بواسطة mohfa في 30 يناير 2009 في 08:13

عزيزي :

لاتنسى ان تصلي على حبيبنا و شفيعنا يوم لا ينفع مال ولا بنون .

فاللهمّ صّل وسّلم على سيدي و شفيعي وحبيبي محمد عليك الف صلاة وازكى تسليم

*****

2_header.png

#9

pos هو تابع يعيد قيمة مكان أول حرف من الجملة المبحوث عنها في الجملة الأساسية

بفرض أن الجملة الأساسية هي hello delphi و الجملة المبحوث عنها lo de فالتابع سيعيد القيمة 4 و التي تشير إلى أول حرف في lo de و هو l داخل جملة hello delphi

بالنسبة للسؤال

I = 0

و السبب هو أن الأحرف المبحوث عنها بحالة الأحرف الصغيرة lower case و في الجملة الأساسية مكتوبة بحالة الأحرف الكبيرة upper case يمكن حل المشكلة على الشكل التالي

procedure TForm1.Button1Click(Sender: TObject);
var S:String;
i:integer;
begin
S:='HELLO Delphi ';
i:=Pos('lo de',ansilowercase(S));
showmessage(IntToStr(i));
end;

في هذه الحالة سيكون I = 4

لاتقول ( لازم أنتم من يرد ) لأني لا أنتمي لأنتم :P :(

تم تعديل هذه المشاركة بواسطة rober في 30 يناير 2009 في 08:36

I'm Away For Sometimes

I'll Finish My Works

Come Back Soon

More Study > More Search > More Try > More Learning > Great Success

#10

لاياخي روبر سوف اقولها بصيغة اخرى :

لازم انت من يرد

حضر نفسك لما هو ات

تم تعديل هذه المشاركة بواسطة mohfa في 30 يناير 2009 في 08:46

عزيزي :

لاتنسى ان تصلي على حبيبنا و شفيعنا يوم لا ينفع مال ولا بنون .

فاللهمّ صّل وسّلم على سيدي و شفيعي وحبيبي محمد عليك الف صلاة وازكى تسليم

*****

2_header.png

#11

هل الجواب صحيح و هو المطلوب ؟؟ :resentful:

I'm Away For Sometimes

I'll Finish My Works

Come Back Soon

More Study > More Search > More Try > More Learning > Great Success

#12

تعيد القيمة 0 لان الثابت التالى ('lo wo') غير موجود ضمن المتغير النصى S

تم تعديل هذه المشاركة بواسطة hanitaieb في 30 يناير 2009 في 08:52

#13

نعم وزيادة المرة القادمة سوف انزع منك 5 نقط فانت تلميذ مشوش :stop:

السؤال الثالث :

ماهو الخطاء هنا لماذا :

 

[color= #000000; font-weight: bold;]Function GetIt[color= #009900;](Const S[color= #339933;]:String[color= #009900;])[color= #339933;]:Integer[color= #339933;];

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

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

begin

 

Path[color= #339933;]:=ExtractFileName[color= #009900;](S[color= #009900;])[color= #339933;];

 

Result[color= #339933;]:=Path[color= #339933;];

 

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

عزيزي :

لاتنسى ان تصلي على حبيبنا و شفيعنا يوم لا ينفع مال ولا بنون .

فاللهمّ صّل وسّلم على سيدي و شفيعي وحبيبي محمد عليك الف صلاة وازكى تسليم

*****

2_header.png

#14

لأن التابع يجب أن يعيد قيمة عددية من النوع Integer

و وضعت النتيجة result من النوع string

تحل المشكلة على الشكل

Function GetIt(Const S:String):string;
Var Path:String;
begin
Path:=ExtractFileName(S);
Result:=Path;
end;

قمنا بتغيير الكلمة integer في نهاية السطر الأول إلى string بالمعنى البرمجي قمنا بعمل التابع من النوع string بدلا من integer

<<<<<< تلميذ نجيب ؟؟؟؟

تم تعديل هذه المشاركة بواسطة rober في 30 يناير 2009 في 09:00

I'm Away For Sometimes

I'll Finish My Works

Come Back Soon

More Study > More Search > More Try > More Learning > Great Success

#15

مالفرق بين كل هذه

[color= #000000; font-weight: bold;]Function GetIt[color= #009900;](Const S[color= #339933;]:String [color= #009900;])[color= #339933;]:String

[color= #000000; font-weight: bold;]Function GetIt[color= #009900;]([color= #000000; font-weight: bold;]Var S[color= #339933;]:String [color= #009900;])[color= #339933;]:String

[color= #000000; font-weight: bold;]Function GetIt[color= #009900;](S[color= #339933;]:String[color= #009900;])[color= #339933;]:String

لماذا في الإجرائية الاولى صرحنا بال Const S:String

والثانية بال Var S:String

والثالثة بال S:String

عزيزي :

لاتنسى ان تصلي على حبيبنا و شفيعنا يوم لا ينفع مال ولا بنون .

فاللهمّ صّل وسّلم على سيدي و شفيعي وحبيبي محمد عليك الف صلاة وازكى تسليم

*****

2_header.png

#16

بالنسبة للتابع الأول فالبرامتر s يجب أن يكون ثابت لا يتغير

بالنسبة للتابع الثاني فالبرامتر s يمكن أن يتغير و يأخذ قيم متغيرة

بالنسبة للتابع الثالث :S :wacko: :huh: لا أعرف لكني سأرى في ماذا تستخدم

تم تعديل هذه المشاركة بواسطة rober في 30 يناير 2009 في 09:08

I'm Away For Sometimes

I'll Finish My Works

Come Back Soon

More Study > More Search > More Try > More Learning > Great Success

#17

ناقص نقطتين لما لاتراجع دروسك .

نريد إجابة

عزيزي :

لاتنسى ان تصلي على حبيبنا و شفيعنا يوم لا ينفع مال ولا بنون .

فاللهمّ صّل وسّلم على سيدي و شفيعي وحبيبي محمد عليك الف صلاة وازكى تسليم

*****

2_header.png

#18

لا يوجد اى فرق هنى و الله اعلم .

  1.  
  2. Function GetIt(S:String):String;
  3. begin
  4. Result:=ExtractFileName(S);
  5.  

#19
اقتباس
لا يوجد اى فرق هنى و الله اعلم

معناه ايه لايوجد فرق ؟

عزيزي :

لاتنسى ان تصلي على حبيبنا و شفيعنا يوم لا ينفع مال ولا بنون .

فاللهمّ صّل وسّلم على سيدي و شفيعي وحبيبي محمد عليك الف صلاة وازكى تسليم

*****

2_header.png

#20

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

عزيزي :

لاتنسى ان تصلي على حبيبنا و شفيعنا يوم لا ينفع مال ولا بنون .

فاللهمّ صّل وسّلم على سيدي و شفيعي وحبيبي محمد عليك الف صلاة وازكى تسليم

*****

2_header.png

#21

الأسلوب برأيي جميل جدا و قد يستفيد منه الكثيرون

أنا سأشارك في المستوى الخاص بي مبتدأ

و أحاول أن أحشر أنفي في المستوى المتوسط :P

لكن أكثر من ذلك لا أحشر نفسي فيه لأن لا ألعب مع الكبار

I'm Away For Sometimes

I'll Finish My Works

Come Back Soon

More Study > More Search > More Try > More Learning > Great Success

#22

اكمل اخى ..

كيف يكون ثابت و يمكن تغير قيمة S كلما استعملنا الدالة .

#23

اكمل اخي محمد , فالطريقة رائعة جدا

وطالما سنرى هنا الاخ روبير

تم تعديل هذه المشاركة بواسطة طلال بلال في 30 يناير 2009 في 13:46

#24

5 :

مالذي تقوم به هذه الدوال مع مثال صغير إن امكن :

StrToInt;

IntToStr;

BoolToStr;

StrToBool;

TimeToStr;

StrToTime;

DateToStr;

StrToDate;

عزيزي :

لاتنسى ان تصلي على حبيبنا و شفيعنا يوم لا ينفع مال ولا بنون .

فاللهمّ صّل وسّلم على سيدي و شفيعي وحبيبي محمد عليك الف صلاة وازكى تسليم

*****

2_header.png

#25

الله يرحم والديك اخ محمد يمكن ان اغير العنوان لصبح

مثلا

اختير نفسك في الدلفي او

....

ثم اقيمه و بارك الله فيك على مجهودك الطيب

لكن السؤال الرابع هناك نقص ارجوا ان يتم الاجابة عليه قبل الخامس

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