الخروج من Function او Procedure عندما يتحقق شرط ما
#1
السلام عليكم ورحمة الله وبركاته

كيف يمكنني الخروج من Function او Procedure عندما يتحقق شرط ما؟؟!
لتوضيح أكثر :
عندي هاته الدالة :

PHP كود :
Function TestVide:Boolean;
Begin
Result
:=True;

  If 
Edit1.text = ''then
     Begin
       ShowMessage
('edit1 vide');
       
Result:=False;
     
End;
    
  If 
Edit2.text = ''then
     Begin
       ShowMessage
('edit2 vide');
       
Result:=False;
     
End;
    
  If 
Edit3.text = ''then
     Begin
       ShowMessage
('edit3 vide');
       
Result:=False;
     
End;

end; 

عندا تحقق الشرط الاول يظهر المساج تم يتم الخروج من Function وان لم يتحقق يتابع وهكذا
حاولت استخدام الامر Exit ولكن لم يجدي نفعا.

PHP كود :
Function TestVide:Boolean;
Begin
Result
:=True;

  If 
Edit1.text = ''then
     Begin
       ShowMessage
('edit1 vide');
       
Result:=False;
       Exit;
     
End;
    
  If 
Edit2.text = ''then
     Begin
       ShowMessage
('edit2 vide');
       
Result:=False;
       Exit;
     
End;
    
  If 
Edit3.text = ''then
     Begin
       ShowMessage
('edit3 vide');
       
Result:=False;
       Exit;
     
End;

end; 
في امان الله
كن متواضعا ولا تكن متكبرا // الصبر + المثابرة = النجاح
الرد
#2
السلام عليكم

انا مبتدأ وأردت أن أساعد لكن دالة تعمل عادي والله أعلم والأمر exit يعمل

كود :
Function TestVide(a, b, c: string):Boolean; Begin Result:=True; If a = '' then Begin ShowMessage('edit1 vide'); Result:=False; Exit; End; If b = '' then Begin ShowMessage('edit2 vide'); Result:=False; Exit; End; If c = '' then Begin ShowMessage('edit3 vide'); Result:=False; Exit; End; end; procedure TForm1.Button1Click(Sender: TObject); begin TestVide(Edit1.Text, Edit2.Text, Edit3.Text); end;
الرد
#3
وعليكم السلام ورحمة الله وبركاته

إقتباس :انا مبتدأ وأردت أن أساعد لكن دالة تعمل عادي والله أعلم والأمر exit يعمل
نحن نتقبل الـHelp من ايي شخص كان بارك الله فيك اخي الكريم rami .
لكن المشكلة لم تنحل بعد.
للمزيد من التوضيح :
عندا تنفيذ الدالة تمر على الشرط الاول إذ كان متحقق تظهر الميسج وتخرج وإن لم يكن كدالك تنتقل الى الشرط الثاني إن اكان متحقق تظهر الميسج وتخرج وإن لم يكن كدالك تمر الى الشرط الثالث و هكذا ...
بارك الله فيكم وشكرا لكم .
كن متواضعا ولا تكن متكبرا // الصبر + المثابرة = النجاح
الرد
#4
السلام عليكم
لقد تحققت من الدالة وهي تعمل عادي اخي عبد المالك مع العلم انني استخدم delphi 2010
الرد
#5
وعليكم السلام ورحمة الله وبركاته
PHP كود :
function testvide:boolean;
begin
  result
:=true;
  if 
edit1.text = ''then
     begin
       showmessage
('edit1 vide');
       
result:=false;
       exit;
     
end

  
else if edit2.text = ''then
     begin
       showmessage
('edit2 vide');
       
result:=false;
       exit;
     
end

  
else if edit3.text = ''then
     begin
       showmessage
('edit3 vide');
       
result:=false;
       exit;
     
end;
end; 
بالتوفيق عبد المالك.
الرد
#6
بارك الله فيك إستاذي كش وحد
في الكود الذي دكرته انت يمكننا نزع الامر exit (ليست له فائدة على ما اضن) .
هل هذا صحيح ؟
كن متواضعا ولا تكن متكبرا // الصبر + المثابرة = النجاح
الرد
#7
اخي عبد المالك ولمادا لاتكون بطريقة بسيطة :
PHP كود :
Procedure IsVide(Const AControl:TEdit;Msg:String);
Var
IsVide:Boolean;
begin
IsVide
:=False;//---- False for default
IsVide:=Trim(AControl.text)='';
if 
IsVide then
begin
ShowMessage
( Format('%s %s ',[AControl.Name,MSG]));
//ShowMessage(AControl.Name+' '+MSG);
exit;
end;
end;
Procedure IsAllVide; // All Edits
begin
isVide
(Form1.edit1,'is Vide');
IsVide(Form1.edit2,'is Vide');
IsVide(Form1.edit3,'is Vide');
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
IsAllVide
;
end; 

والسلام عليكم
الرد
#8
بارك الله فيك اخي mohfa على هاته الطريقة المميزة ولكن لا تفيذ في حالتنا هاته

1- يجب ان تكون function ترجع قيمة boolean

2-
إقتباس :للمزيد من التوضيح :
عندا تنفيذ الدالة تمر على الشرط الاول إذ كان متحقق تظهر الميسج وتخرج وإن لم يكن كدالك تنتقل الى الشرط الثاني إن اكان متحقق تظهر الميسج وتخرج وإن لم يكن كدالك تمر الى الشرط الثالث و هكذا ...
بارك الله فيك على التواصل(طريقتك تحتوي على أفكار مميزة سوف نستثميرها في المستقبل ههههه)
بالتوفيق للجميع
كن متواضعا ولا تكن متكبرا // الصبر + المثابرة = النجاح
الرد
#9
إقتباس :
1- يجب ان تكون function ترجع قيمة boolean

يمكن تحويلها ل Function بكل سهولة .

PHP كود :
Function IsVide(Const AControl:TEdit;Msg:String):Boolean;
begin
Result
:=False;//---- False for default
Result:=Trim(AControl.text)='';
if 
Result then
begin
ShowMessage
( Format('%s %s ',[AControl.Name,MSG]));
//ShowMessage(AControl.Name+' '+MSG);
exit;
end;
end; 

انت و خبرتك .

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


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم