نعم تفضل بتغيره فانت الاستاذ ياعبد العالي ياثعلوب
انا الان احضر لك الشكوة التي سوف اقدمها ضدك الى هيئة المبرمجين حضر نفسك سيتم إستدعائك في اي وقت .
نعم تفضل بتغيره فانت الاستاذ ياعبد العالي ياثعلوب
انا الان احضر لك الشكوة التي سوف اقدمها ضدك الى هيئة المبرمجين حضر نفسك سيتم إستدعائك في اي وقت .
Function GetIt(Const S:String ):String
Function GetIt(Var S:String ):String
Function GetIt(S:String):String
الحالة الأولى والثالتة لا فرق بينهما سوى أن الأولى تزيد من سرعة البرنامج أما الثانية فانها تعيد قيمة
المتغير s
تم تعديل هذه المشاركة بواسطة me&delphi في 30 يناير 2009 في 22:41
وضح اكثر ياخي me&delphi
اعطي مثال
تم التعديل على الرد أضن أنه واضح أخي mohfa
تزيد من سرعة البرنامج :excl:
Function GetIt(Const S:String ):String
S يبقي كما هوبعد الاستعمال في الدالة
Function GetIt(Var S:String ):String
S تعيد القيمة بعد الاستعمال في الدالة
Function GetIt(S:String):String
S يبقي كما هو بعد الاستعمال في الدالة
تغيير الاصناف
StrToInt; تغيير من الstring الي ال integer
IntToStr; تغيير من ال integerالي ال string
BoolToStr; تغيير من ال boolean الي ال string
StrToBool; تغيير من ال stringالي ال boolean
TimeToStr; تغيير من ال Timeالي ال string
StrToTime; تغيير من ال stringالي ال Time
DateToStr; تغيير من ال Date الي ال String
StrToDate; تغيير من ال stringالي ال Date
اخي موح الطريقة رائعة
تم تعديل هذه المشاركة بواسطة maosalah في 30 يناير 2009 في 23:39
إعجاب الإنسان بنفسه دليل على صغر عقله
-----------------------------------------------------------------
رأس الحكمة مخافة الله
جميل اخي maosalah :
هلا اعطيتنا امثلة عن السؤال الخامس .
mohfa كتب:تزيد من سرعة البرنامج :excl:
طبعا أخي الكريم لن تحس بالفرق في المشاريع الصغيرة الا في الكبيرة مثل الألعاب الثلاثية الأبعاد الضخمة...وهدا حرف صغير في طريق البرمجة الاحترافية
نحن نتحدث هنا عن قوانين اساسية مادخل الالعاب ومادخل السرعة ياخي سوف اعطيك الإجابة .
اقتباسهلا اعطيتنا امثلة عن السؤال الخامس
Procedure Exemple; Const Date1 = '30/01/2009'; Time1 = '22:05:00'; Logique1 = 'False'; entier1 = '2009'; var Date,Time : TDateTime; Logique : Boolean; entier : Integer; Begin Date := Strtodate(date1); Time := Strtotime(time1); logique := strtobool(logique1); entier := strtoint(entier1); Showmessage(inttostr(entier)); Showmessage(BoolToStr(Logique)); Showmessage(datetostr(Date)); Showmessage(Timetostr(Time)); end;
تم تعديل هذه المشاركة بواسطة maosalah في 31 يناير 2009 في 00:01
إعجاب الإنسان بنفسه دليل على صغر عقله
-----------------------------------------------------------------
رأس الحكمة مخافة الله
انتضروا ... السؤال الرابع .
لماذا يصدر خطاء فى الحالة التالية
____________________________________________
على عكس لو كانت الطريقة على هذا الشكل :
إنتظر قليلا ياخي hanitaieb
mohfa كتب:نحن نتحدث هنا عن قوانين اساسية مادخل الالعاب ومادخل السرعة ياخي سوف اعطيك الإجابة .
Function GetIt(S:String):String
Function GetIt(Const S:String ):String
هدا هو الفرق الوحيد الدي أعلمه يا أخي وهو السرعة ان كان هناك أشياء أخرى فاني أنتظر اجابتك ولك جزيل الشكر
الموضوع فكرته ممتازة :clapping: :clapping: :clapping:
في الدالة الاولى Const S:String يعني ان ال S ثابت ولا ياخذ قيمة إفتراظية يعني سوف ياخذ قيمته او التعامل معه سوف يكون في الإستدعاء الذي ينادى منه .
مثال :
Function GetIt(Const S:String ):String; Var Path:String; begin S:=Path; // <<<<< Error Result:=S; end;
والاصح هو كما قلت ياخي hanitaieb إما بإستعمال Global Variable كما في مثالك :
Form1: TForm1;
S:String='C:\Program Files\Borland';
او
procedure TForm1.Button1Click(Sender: TObject); Var S:String; begin S:='Delphi'; GetIt(s); end;
تم تعديل هذه المشاركة بواسطة mohfa في 31 يناير 2009 في 00:18
هل ننتقل الى الاسئلة الجديدة ام نعمق الشرح
هل ننتقل الى الاسئلة الجديدة ام نعمق الشرح
ننتقل
إعجاب الإنسان بنفسه دليل على صغر عقله
-----------------------------------------------------------------
رأس الحكمة مخافة الله
هل هذا صحيح ام لا و لماذا ؟
بدون ان ترجع الى دلفي
const I:Integer=999999999999;
خطأ
لأن المتحول من النوع integer يجب أن يكون من الطول -2147483648 إلى 2147483647
تم تعديل هذه المشاركة بواسطة rober في 31 يناير 2009 في 00:51
I'm Away For Sometimes
I'll Finish My Works
Come Back Soon
More Study > More Search > More Try > More Learning > Great Success
خطأ سبقني الاخ rober
اقتباسلأن المتحول من النوع integer يجب أن يكون من الطول -2147483648 إلى 2147483647
إعجاب الإنسان بنفسه دليل على صغر عقله
-----------------------------------------------------------------
رأس الحكمة مخافة الله
مالذي سيحدث هنا ولماذا ؟
type
TForm1 [color= #66cc66;]= class[color= #66cc66;](TForm[color= #66cc66;])
Button1: TButton;
procedure Button1Click[color= #66cc66;](Sender: TObject[color= #66cc66;]);
private
[color= #66cc66;]{ Private declarations [color= #66cc66;]}
public
[color= #66cc66;]{ Public declarations [color= #66cc66;]}
end;
var
Form1: TForm1;
implementation
[color= #66cc66;]{$R [color= #66cc66;]*.dfm[color= #66cc66;]}
procedure TForm1[color= #66cc66;].Button1Click[color= #66cc66;](Sender: TObject[color= #66cc66;]);
Const Src:String[color= #66cc66;]=[color= #ff0000;]'Delphi';
var
i:Integer;
Str:TStringList;
Target:String;
begin
Str[color= #66cc66;].[color= #993333; font-weight: bold;]ADD[color= #66cc66;](Src[color= #66cc66;]);
Try
[color= #993333; font-weight: bold;]FOR i:[color= #66cc66;]=[color= #cc66cc;]0 [color= #993333; font-weight: bold;]TO Str[color= #66cc66;].Count[color= #cc66cc;]-1 do
Target:[color= #66cc66;]=Str[color= #66cc66;][i[color= #66cc66;]];
Finally
Str[color= #66cc66;].Free;
end;
end;تم تعديل هذه المشاركة بواسطة mohfa في 31 يناير 2009 في 00:52
السلام عليكم
و الله فكرة جميلة و ممتازة و مشكور اخي عليها
و لاحظت انو في كثير من الاخوة يقومون بفتح مواضيع تحت عنوان تعلم كذا من البداية حتى الاحتراف ثم نرى درس او درسين بالكثير اما هنا فيستطيع اي شخص و خصوصا اخواننا المحترفون بوضع اسئلة و بالطبع سوف يجاب على هذه الاسئلة و بالتالي التعلم بطريقة جيدة و غير روتينية.
بارك الله فيك اخي على الفكرة مرة اخرى
1-
يحدث خطا
Str := TStringList.Create;
2 - المتغير
Target = Delphi
عند نهاية الاجراء
إعجاب الإنسان بنفسه دليل على صغر عقله
-----------------------------------------------------------------
رأس الحكمة مخافة الله
بارك الله فيك اخي maosalah
نعم الخطاء هو ان Str التي هي TStringList لم يتم إنشاها
مالفرق بين كل هذه وإذا امكن التعليل :
procedure SaveToFile[color= #66cc66;]([color= #66cc66;]); Const S:String[color= #66cc66;]=[color= #ff0000;]'Delphi'; var Str:TStringList; begin Str:[color= #66cc66;]=TStringList[color= #66cc66;].[color= #993333; font-weight: bold;]CREATE; Try Str[color= #66cc66;].[color= #993333; font-weight: bold;]ADD[color= #66cc66;](S[color= #66cc66;]); Str[color= #66cc66;].SaveToFile[color= #66cc66;]([color= #ff0000;]'test.txt'[color= #66cc66;]); Finally Str[color= #66cc66;].Free; end; end;
procedure SaveToFile[color= #66cc66;]([color= #66cc66;]); Const S:String[color= #66cc66;]=[color= #ff0000;]'Delphi'; var Str:TStringList; begin Str:[color= #66cc66;]=TStringList[color= #66cc66;].[color= #993333; font-weight: bold;]CREATE; Try Str[color= #66cc66;].[color= #993333; font-weight: bold;]ADD[color= #66cc66;](S[color= #66cc66;]); Str[color= #66cc66;].SaveToFile[color= #66cc66;](ExtractFilePath[color= #66cc66;](Application[color= #66cc66;].ExeName[color= #66cc66;])[color= #66cc66;]+[color= #ff0000;]'test.txt'[color= #66cc66;]); Finally Str[color= #66cc66;].Free; end; end;
procedure SaveToFile[color= #66cc66;]([color= #66cc66;]); Const S:String[color= #66cc66;]=[color= #ff0000;]'Delphi'; var Str:TStringList; begin Str:[color= #66cc66;]=TStringList[color= #66cc66;].[color= #993333; font-weight: bold;]CREATE; Try Str[color= #66cc66;].[color= #993333; font-weight: bold;]ADD[color= #66cc66;](S[color= #66cc66;]); Str[color= #66cc66;].SaveToFile[color= #66cc66;](ExtractFilePath[color= #66cc66;](ParamStr[color= #66cc66;]([color= #cc66cc;]0[color= #66cc66;])[color= #66cc66;])[color= #66cc66;]+[color= #ff0000;]'test.txt'[color= #66cc66;]); Finally Str[color= #66cc66;].Free; end; end;
تم تعديل هذه المشاركة بواسطة mohfa في 31 يناير 2009 في 01:20
الاجراءات الثلاثة تقوم بحفظ القائمة Str في ملف نصي 'test.txt' في مسار الملف التنفيدي
إعجاب الإنسان بنفسه دليل على صغر عقله
-----------------------------------------------------------------
رأس الحكمة مخافة الله
بارك الله فيك اخي maosalah