delphi4arab منتديات دلفي للعرب
التخلص من رساله مزعجه - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : التخلص من رساله مزعجه (/showthread.php?tid=3141)



التخلص من رساله مزعجه - abdeslem1982 - 02-06-2011

السلام عليكم

الرساله التى توجد فى اسفل الصوره ما هو سببها ومذا تعنى وكيف يمكن التخلص منها
استعملت داله لحساب حجم الملف
كود :
implementation {$R *.dfm} function size(f1: string):integer; var f:file of byte; handle: integer; results:string; begin handle := FileOpen(f1, fmOpenRead); if handle = -1 then results := 'Unable to open file ' + f1 else try AssignFile(f,f1); read(f); result:=FileSeek(handle,int64(0),2); finally FileClose ( handle ); end; end; procedure TForm1.Button1Click(Sender: TObject); var k:integer; begin if OpenDialog1.Execute then begin k:=size(OpenDialog1.FileName); ShowMessage(IntToStr(k)); end; end; end.
رسالة الخطا
[Avertissement] Unit1.pas(47): La valeur de retour de la fonction 'size' peut être indéfinie
كود :
http://www6.0zz0.com/2011/06/02/00/650485068.png



التخلص من رساله مزعجه - Agmcz - 02-06-2011

وعليكم السلام
جربت الكود يعمل طبيعي


التخلص من رساله مزعجه - abdeslem1982 - 02-06-2011

نعم اخى الكود يعمل لكن تلك الرسال تخرج فى الاسفل غيرت فى الداله قليلا تخلصت منها لكن لا زلت لا اعرف ماذا يعنى ذلك الخطا
كود :
function size(f: string):integer; var handle: integer; begin handle := FileOpen(f, fmOpenRead); if handle = -1 then result:=0 else begin try result:=FileSeek(handle,int64(0),2); finally FileClose(handle); end; end; end; {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var k:integer; begin if OpenDialog1.Execute then begin k:=size(OpenDialog1.FileName); ShowMessage(IntToStr(k)); end; end; end.



التخلص من رساله مزعجه - abdeslem1982 - 02-06-2011

هكذا وصلت الى النتجه التى كنت ابحث عنها بتغيير الاحاث فى button
كود :
implementation uses Math; function size(f: string):integer; var handle: integer; begin handle := FileOpen(f, fmOpenRead); if handle = -1 then result:=0 else begin try result:=FileSeek(handle,int64(0),2); finally FileClose(handle); end; end; end; {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var k:integer; begin k:=0; if OpenDialog1.Execute then k:=size(OpenDialog1.FileName); if k=0 then begin ShowMessage('no file') end else ShowMessage(IntToStr(k)); end; end.



التخلص من رساله مزعجه - kachwahed - 02-06-2011

وعليكم السلام ورحمة الله
رسالة الانذار التي ظهرت مفادها أن ناتج الدالة قد يكون غير محدد
لأن المتغير Result داخل التابع قد لا يأخذ أي قيمة لأنه محجوز ضمن الحيز Try/Finally
كود :
else [COLOR="Red"]try [/COLOR]AssignFile(f,f1); read(f); [color=Red]result[/color]:=FileSeek(handle,int64(0),2);
لتفادي هذا الانذار، قم بتهيئة الناتج قبل الحيز Try/Finally
PHP كود :
Result := -1;
Try
...
Result := ...;
Finally
...
end; 
حجم الملف انظر هنا.
بالتوفيق.



التخلص من رساله مزعجه - abdeslem1982 - 02-06-2011

مشكور اخى على الرد الفكره وصلت


التخلص من رساله مزعجه - kachwahed - 02-06-2011

لا شكر على واجب خدمتك أخي abdeslem1982 أهلا وسهلا بك Smile
فقط ساعدنـا على تنظيم المنتدى بإفراد موضوع لكل سؤال والبحث في المنتدى قبل ذلك...
ابحث عن TComPort
بالتوفيق.